////////// // HLSL // ////////// geometry_program Ogre/Isosurf/TessellateTetrahedraGS_HLSL hlsl { source isosurf.hlsl entry_point mainGS target gs_4_0 default_params { param_named IsoValue float 1 } } ////////// // CG // ////////// vertex_program Ogre/Isosurf/SampleFieldVS_CG cg { source IsosurfVS.glsl profiles vp40 arbvp1 default_params { param_named IsoValue float 1.0 param_named_auto WorldViewProj worldviewproj_matrix param_named_auto origWorldViewIT inverse_transpose_worldview_matrix } } geometry_program Ogre/Isosurf/TessellateTetrahedraGS_CG cg { source isosurf.cg entry_point mainGS profiles gpu_gp gp4_gp default_params { param_named IsoValue float 1.0 } } fragment_program Ogre/Isosurf/MetaballPS_CG cg { source IsosurfFS.glsl profiles fp40 arbfp1 } ////////// // GLSL // ////////// vertex_program Ogre/Isosurf/SampleFieldVS_GLSL glsl hlsl { source IsosurfVS.glsl default_params { param_named IsoValue float 1.0 param_named_auto WorldViewProj worldviewproj_matrix param_named_auto origWorldViewIT inverse_transpose_worldview_matrix } } geometry_program Ogre/Isosurf/TessellateTetrahedraGS_GLSL glsl { source IsosurfGS.glsl syntax glsl150 default_params { param_named IsoValue float 1.0 } } fragment_program Ogre/Isosurf/MetaballPS_GLSL glsl hlsl { source IsosurfFS.glsl } vertex_program Ogre/Isosurf/SampleFieldVS unified { delegate Ogre/Isosurf/SampleFieldVS_CG delegate Ogre/Isosurf/SampleFieldVS_GLSL } geometry_program Ogre/Isosurf/TessellateTetrahedraGS unified { delegate Ogre/Isosurf/TessellateTetrahedraGS_GLSL delegate Ogre/Isosurf/TessellateTetrahedraGS_HLSL delegate Ogre/Isosurf/TessellateTetrahedraGS_CG default_params { } } fragment_program Ogre/Isosurf/MetaballPS unified { delegate Ogre/Isosurf/MetaballPS_CG delegate Ogre/Isosurf/MetaballPS_GLSL } material Ogre/Isosurf/TessellateTetrahedra { technique { pass { vertex_program_ref Ogre/Isosurf/SampleFieldVS { } geometry_program_ref Ogre/Isosurf/TessellateTetrahedraGS { } fragment_program_ref Ogre/Isosurf/MetaballPS { } } } }