public void RenderDepthAndSilhouetteTextures(Context context, SceneState sceneState, bool silhouette)
        {
            Verify.ThrowIfNull(context);
            Verify.ThrowIfNull(sceneState);
            
            CreateDepthAndSilhouetteData(context);

            //
            // Depth texture
            //
            context.Framebuffer = _terrainFramebuffer;
            context.Clear(_clearDepthStencil);
            Render(context, sceneState);

            //
            // Silhouette texture
            //
            context.Framebuffer = _silhouetteFramebuffer;
            context.Clear(_clearColor);
            if (silhouette)
            {
                context.Draw(_primitiveType, _silhouetteDrawState, sceneState);
            }
        }