// asm //FIXME Replace with HLSL. // geometry_program Ogre/GPTest/Swizzle/GP_ASM asm // { // source Swizzle.gp // syntax nvgp4 // } // CG //TODO Finish me. // geometry_program Ogre/GPTest/Swizzle/GP_CG cg // { // source SwizzleGP.cg // entry_point gs_swizzle // profiles gp4gp gpu_gp // } // GLSL 120 vertex_program Ogre/GPTest/Swizzle/VP_GLSL_120 glsl { source PassthroughVP.glsl syntax glsl } geometry_program Ogre/GPTest/Swizzle/GP_GLSL_120 glsl { source SwizzleGP.glsl syntax glsl input_operation_type triangle_list output_operation_type line_strip max_output_vertices 6 } fragment_program Ogre/GPTest/Swizzle/FP_GLSL_120 glsl { source PassthroughFP.glsl syntax glsl } geometry_program Ogre/GPTest/Swizzle/GP_GLSL_150 glsl { source SwizzleGP.glsl syntax glsl150 preprocessor_defines USE_LAYOUT } // unified vertex_program Ogre/GPTest/Swizzle/VP unified { delegate Ogre/GPTest/Swizzle/VP_GLSL_120 default_params { param_named_auto WorldViewProj worldviewproj_matrix } } geometry_program Ogre/GPTest/Swizzle/GP unified { delegate Ogre/GPTest/Swizzle/GP_GLSL_150 delegate Ogre/GPTest/Swizzle/GP_GLSL_120 default_params { param_named origColour float4 1 0 0 1 param_named cloneColour float4 1 1 1 0.3 } } fragment_program Ogre/GPTest/Swizzle/FP unified { delegate Ogre/GPTest/Swizzle/FP_GLSL_120 } material Ogre/GPTest/Swizzle { technique { pass { vertex_program_ref Ogre/GPTest/Swizzle/VP { } geometry_program_ref Ogre/GPTest/Swizzle/GP { } fragment_program_ref Ogre/GPTest/Swizzle/FP { } } } }