public override void TestCapabilities( Graphics.RenderSystemCapabilities capabilities ) { if ( !capabilities.HasCapability( Capabilities.VertexPrograms ) || !( capabilities.HasCapability( Capabilities.FragmentPrograms ) ) ) { throw new AxiomException( "Your graphics card does not support vertex and fragment programs, so you cannot run this sample. Sorry!" ); } //Check if D3D10 shader is supported - is so - then we are OK. if ( GpuProgramManager.Instance.IsSyntaxSupported( "ps_4_0" ) ) { return; } //Check if GLSL type shaders are supported - is so - then we are OK. if ( GpuProgramManager.Instance.IsSyntaxSupported( "glsles" ) || GpuProgramManager.Instance.IsSyntaxSupported( "glsl" ) ) { return; } if ( !GpuProgramManager.Instance.IsSyntaxSupported( "arbfp1" ) && !GpuProgramManager.Instance.IsSyntaxSupported( "ps_2_0" ) ) { throw new AxiomException( "Your card does not support shader model 2, so you cannot run this sample. Sorry!" ); } }