public override void Init() { var d3dDevice = D3DDevice.Instance.Device; MyShaderDir = ShadersDir; wav_files = Directory.GetFiles(MediaDir + "sound"); //sound.Create(MediaDir + "sound\\smokeonthewater.wav"); //sound.Create(MediaDir + "sound\\rolemu_-_neogauge.wav"); // super dificl //sound.Create(MediaDir + "sound\\rolem_-_Neoishiki.wav"); // buenisimo (dificil) //sound.Create(MediaDir + "sound\\Azureflux_-_06_-_Kinetic_Sands.wav"); //sound.Create(MediaDir + "sound\\Azureflux_-_01_-_BOMB.wav"); //sound.Create(MediaDir + "sound\\Azureflux_-_02_-_Waves.wav"); // muy bueno, facil //sound.Create(MediaDir + "sound\\Monplaisir_-_03_-_Level_0.wav"); //sound.Create(MediaDir + "sound\\Monplaisir_-_04_-_Level_1.wav"); // monotono //sound.Create(MediaDir + "sound\\Monplaisir_-_05_-_Level_2.wav"); // monotono //sound.Create(MediaDir + "sound\\Monplaisir_-_06_-_Level_3.wav"); //sound.Create(MediaDir + "sound\\Monplaisir_-_07_-_Level_4.wav"); // bueno //sound.Create(MediaDir + "sound\\tecno1.wav"); // dificil //sound.Create(MediaDir + "sound\\ScoobyDooPaPa.wav"); // interesante //sound.Create(MediaDir + "sound\\highway intro.wav"); // se va de escala //sound.Create(MediaDir + "sound\\Shook_Me_All_Night.wav"); // bajo volumen //sound.Create(MediaDir + "sound\\ACDC.wav"); //Cargar Shader personalizado string compilationErrors; effect = Effect.FromFile(D3DDevice.Instance.Device, MyShaderDir + "shaders.fx", null, null, ShaderFlags.PreferFlowControl, null, out compilationErrors); if (effect == null) { throw new Exception("Error al cargar shader. Errores: " + compilationErrors); } //Configurar Technique dentro del shader effect.Technique = "DefaultTechnique"; // para capturar el mouse var focusWindows = D3DDevice.Instance.Device.CreationParameters.FocusWindow; mouseCenter = focusWindows.PointToScreen(new Point(focusWindows.Width / 2, focusWindows.Height / 2)); mouseCaptured = false; //Cursor.Hide(); // stencil g_pDepthStencil = d3dDevice.CreateDepthStencilSurface(d3dDevice.PresentationParameters.BackBufferWidth, d3dDevice.PresentationParameters.BackBufferHeight, DepthFormat.D24S8, MultiSampleType.None, 0, true); g_pDepthStencilOld = d3dDevice.DepthStencilSurface; // inicializo el render target g_pRenderTarget = new Texture(d3dDevice, d3dDevice.PresentationParameters.BackBufferWidth , d3dDevice.PresentationParameters.BackBufferHeight, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); g_pRenderTarget2 = new Texture(d3dDevice, d3dDevice.PresentationParameters.BackBufferWidth , d3dDevice.PresentationParameters.BackBufferHeight, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); g_pRenderTarget3 = new Texture(d3dDevice, d3dDevice.PresentationParameters.BackBufferWidth , d3dDevice.PresentationParameters.BackBufferHeight, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); g_pRenderTarget4 = new Texture(d3dDevice, d3dDevice.PresentationParameters.BackBufferWidth , d3dDevice.PresentationParameters.BackBufferHeight, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); g_pRenderTarget5 = new Texture(d3dDevice, d3dDevice.PresentationParameters.BackBufferWidth , d3dDevice.PresentationParameters.BackBufferHeight, 1, Usage.RenderTarget, Format.X8R8G8B8, Pool.Default); // Resolucion de pantalla effect.SetValue("screen_dx", d3dDevice.PresentationParameters.BackBufferWidth); effect.SetValue("screen_dy", d3dDevice.PresentationParameters.BackBufferHeight); CustomVertex.PositionTextured[] vertices = { new CustomVertex.PositionTextured(-1, 1, 1, 0, 0), new CustomVertex.PositionTextured(1, 1, 1, 1, 0), new CustomVertex.PositionTextured(-1, -1, 1, 0, 1), new CustomVertex.PositionTextured(1, -1, 1, 1, 1) }; //vertex buffer de los triangulos g_pVBV3D = new VertexBuffer(typeof(CustomVertex.PositionTextured), 4, d3dDevice, Usage.Dynamic | Usage.WriteOnly, CustomVertex.PositionTextured.Format, Pool.Default); g_pVBV3D.SetData(vertices, 0, LockFlags.None); time = 0; sprite = new Sprite(d3dDevice); // ajusto las letras para que se vean mas o menos igual en todas las resoluciones. float kx = (float)d3dDevice.PresentationParameters.BackBufferWidth / 1366.0f; float ky = (float)d3dDevice.PresentationParameters.BackBufferHeight / 768.0f; float k = Math.Min(kx, ky); // Fonts font = new Microsoft.DirectX.Direct3D.Font(d3dDevice, (int)(24 * k), 0, FontWeight.Light, 0, false, CharacterSet.Default, Precision.Default, FontQuality.Default, PitchAndFamily.DefaultPitch, "Lucida Console"); font.PreloadGlyphs('0', '9'); font.PreloadGlyphs('a', 'z'); font.PreloadGlyphs('A', 'Z'); s_font = new Microsoft.DirectX.Direct3D.Font(d3dDevice, (int)(18 * k), 0, FontWeight.Light, 0, false, CharacterSet.Default, Precision.Default, FontQuality.Default, PitchAndFamily.DefaultPitch, "Lucida Console"); s_font.PreloadGlyphs('0', '9'); s_font.PreloadGlyphs('a', 'z'); s_font.PreloadGlyphs('A', 'Z'); c64_font = new Microsoft.DirectX.Direct3D.Font(d3dDevice, (int)(40 * k), (int)(30 * k), FontWeight.Light, 0, false, CharacterSet.Default, Precision.Default, FontQuality.Default, PitchAndFamily.DefaultPitch, "System"); c64_font.PreloadGlyphs('0', '9'); c64_font.PreloadGlyphs('a', 'z'); c64_font.PreloadGlyphs('A', 'Z'); }