Beispiel #1
0
		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!" );
			}
		}