material acerLeavesBillboardCloudSplittedMaterial { technique { pass { polygon_mode wireframe cull_software none cull_hardware none lighting off ambient vertexcolour } } } material acerEntityClustersGroupedMaterial { technique { pass { alpha_rejection greater_equal 110 lighting off cull_hardware none cull_software none fragment_program_ref diffuseTexturing_FP20 { } texture_unit { texture acer_saccarinum_leaf.png } } } technique { pass { cull_software none cull_hardware none lighting off ambient vertexcolour } } } material acerLeavesBillboardCloudGroupedDiffuseColorMaterial0 { // Diffuse colour texture rendering // This technique render the billboard cloud using the diffuse texturing // approach leading to low resolution leaves technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none texture_unit { texture acerDiffuseColorBillboardGroupAtlas0.png tex_coord_set 0 } } } } material acerLeavesBillboardCloudGroupedDiffuseColorMaterial1 { // Diffuse colour texture rendering // This technique render the billboard cloud using the diffuse texturing // approach leading to low resolution leaves technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none texture_unit { texture acerDiffuseColorBillboardGroupAtlas1.png tex_coord_set 0 } } } } material acerLeavesBillboardCloudGroupedDiffuseColorMaterial2 { // Diffuse colour texture rendering // This technique render the billboard cloud using the diffuse texturing // approach leading to low resolution leaves technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none texture_unit { texture acerDiffuseColorBillboardGroupAtlas2.png tex_coord_set 0 } } } } material acerLeavesBillboardCloudGroupedDiffuseColorMaterial3 { // Diffuse colour texture rendering // This technique render the billboard cloud using the diffuse texturing // approach leading to low resolution leaves technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none texture_unit { texture acerDiffuseColorBillboardGroupAtlas3.png tex_coord_set 0 } } } } material acerLeavesBillboardCloudGroupedDiffuseColorMaterial4 { // Diffuse colour texture rendering // This technique render the billboard cloud using the diffuse texturing // approach leading to low resolution leaves technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none texture_unit { texture acerDiffuseColorBillboardGroupAtlas4.png tex_coord_set 0 } } } } material acerLeavesBillboardCloudGroupedDiffuseColorMaterial5 { // Diffuse colour texture rendering // This technique render the billboard cloud using the diffuse texturing // approach leading to low resolution leaves technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none texture_unit { texture acerDiffuseColorBillboardGroupAtlas5.png tex_coord_set 0 } } } } material acerLeavesBillboardCloudGroupedIndirectTexturingMaterial0 { // DIRECTX/HLSL Indirect texture default // This technique render the billboard cloud using the indirect texturing // approach leading to high resolution leaves technique indirectTexturingDefault_HLSL { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none lighting off vertex_program_ref indirectTexturingDefault_hlsl_VP20 { param_named_auto worldviewproj worldviewproj_matrix } fragment_program_ref indirectTexturingDefault_hlsl_FP20 { param_named sourceTextureSize float 16.0 param_named sqrtNumSamples float 4.0 } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none } texture_unit { texture acerRotatedLeafAtlasDefault.png } } } // OPENGL/GLSL Indirect texture default // This technique render the billboard cloud using the indirect texturing // approach leading to high resolution leaves technique indirectTexturingDefault_GLSL { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none lighting off //vertex_program_ref indirectTexturingDefault_VP20 //{ // param_named_auto worldviewproj worldviewproj_matrix //} //fragment_program_ref indirectTexturingDefault_FP20 //{ // param_named sourceTextureSize float 16.0 // param_named sqrtNumSamples float 4.0 //} vertex_program_ref indirectTexturingDefault_glsl_VP20 { } fragment_program_ref indirectTexturingDefault_glsl_FP20 { param_named indirectTexture int 0 param_named sourceTexture int 1 param_named sourceTextureSize float 16.0 param_named sqrtNumSamples float 4.0 } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none } texture_unit { texture acerRotatedLeafAtlasDefault.png } } } // DIRECTX/HLSL Indirect texture debug leaf position // This technique render the billboard cloud using the indirect texturing // approach, a numeric texture is used in order to tweak the leaf positions // Changing the epsilonX and epsilonY values, you should fit the texture numbers // in the correct position technique indirectTexturingPositionCorrection_HLSL { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none lighting off vertex_program_ref indirectTexturingDefault_hlsl_VP20 { param_named_auto worldviewproj worldviewproj_matrix } fragment_program_ref indirectTexturingDefault_hlsl_FP20 { param_named sourceTextureSize float 16.0 param_named sqrtNumSamples float 4.0 } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none } texture_unit { texture textureAtlasDebug16.png } } } // OPENGL/GLSL Indirect texture debug leaf position // This technique render the billboard cloud using the indirect texturing // approach, a numeric texture is used in order to tweak the leaf positions // Changing the epsilonX and epsilonY values, you should fit the texture numbers // in the correct position technique indirectTexturingPositionCorrection_GLSL { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none lighting off //vertex_program_ref indirectTexturingDefault_VP20 //{ // param_named_auto worldviewproj worldviewproj_matrix //} //fragment_program_ref indirectTexturingDefault_FP20 //{ // param_named sourceTextureSize float 16.0 // param_named sqrtNumSamples float 4.0 //} vertex_program_ref indirectTexturingDefault_glsl_VP20 { } fragment_program_ref indirectTexturingDefault_glsl_FP20 { param_named indirectTexture int 0 param_named sourceTexture int 1 param_named sourceTextureSize float 16.0 param_named sqrtNumSamples float 4.0 } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none } texture_unit { texture textureAtlasDebug16.png } } } // DIRECTX/OPENGL/CG Indirect texture debug texture coordinates correspondence // This technique shows full yellow billboards if the texcoord / indirect tex // correspondence is correct technique { pass { alpha_rejection greater_equal 110 cull_hardware none cull_software none lighting off vertex_program_ref indirectTexturingDefault_VP20 { param_named_auto worldviewproj worldviewproj_matrix } fragment_program_ref indirectTexturingDebugTexCoordCorrespondence_FP20 { } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none } } } // DIRECTX/OPENGL/CG Indirect texture debug entity position // This technique shows the indirect texture texels used to place the // leaf texture into the billboard. It's usefull to compare the shape of // the original polygonal tree leaves versus the indirect textured ones technique { pass { alpha_rejection greater_equal 10 lighting off cull_hardware none cull_software none vertex_program_ref indirectTexturingDefault_VP20 { param_named_auto worldviewproj worldviewproj_matrix } fragment_program_ref indirectTexturingDebugEntityPosition_FP20 { } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none none none } } } // DIRECTX/OPENGL/CG Indirect texture debug texture atlas fitting // This technique shows if any plane have errors related // with the sub texture from the atlas, the errors appears in red technique { pass { alpha_rejection greater_equal 10 lighting off cull_hardware none cull_software none vertex_program_ref indirectTexturingDefault_VP20 { param_named_auto worldviewproj worldviewproj_matrix } fragment_program_ref indirectTexturingDebugTextureAtlasFitting_FP20 { } texture_unit { texture acerIndirectBillboardGroupAtlas0.png filtering none none none } } } }