Example #1
0
        private void PrepareRender(Camera camera, Light light)
        {
            shader.Start();
            shader.LoadViewMatrix(camera);
            moveFactor += WAVE_SPEED * (CoreEngine.Delta / 1000);
            moveFactor %= 1;
            shader.LoadMoveFactor(moveFactor);
            shader.LoadLight(light);
            GL.BindVertexArray(quad.VaoHandle);
            GL.EnableVertexAttribArray(0);
            GL.ActiveTexture(TextureUnit.Texture0);
            GL.BindTexture(TextureTarget.Texture2D, fbos.ReflectionTexture);
            GL.ActiveTexture(TextureUnit.Texture1);
            GL.BindTexture(TextureTarget.Texture2D, fbos.RefractionTexture);
            GL.ActiveTexture(TextureUnit.Texture2);
            GL.BindTexture(TextureTarget.Texture2D, handleDudv);
            GL.ActiveTexture(TextureUnit.Texture3);
            GL.BindTexture(TextureTarget.Texture2D, handleNormalMap);
            GL.ActiveTexture(TextureUnit.Texture4);
            GL.BindTexture(TextureTarget.Texture2D, fbos.RefractionDepthTexture);

            GL.Enable(EnableCap.Blend);
            GL.BlendFunc(BlendingFactor.SrcAlpha, BlendingFactor.OneMinusSrcAlpha);
        }