protected override void Draw() { Water.material.Set("wave_timestamp", ElapsedTime / 1000.0f); DrawCalls = 3u; Prepare(); SyncScene(); ClipDistance = true; ClipPlane = new vec4(0.0f, +1.0f, 0.0f, +1.0f); WFB.ReflectionFBO.Bind(); MainCamera.Reflect(); UpdateCamera(); DrawScene(); ClipPlane = new vec4(0.0f, -1.0f, 0.0f, 0.0f); WFB.RefractionFBO.Bind(); MainCamera.ReflectBack(); UpdateCamera(); DrawScene(); ClipDistance = false; FrameBuffer.BindRenderingWindow(); Viewport(); DrawScene(); Water?.Sync(); Water?.Draw(); }