ulf.schroeter Posted November 22, 2010 Share Posted November 22, 2010 Is there a way to avoid custom material definition "expansion" (tried material property editable="0", but obviously this obviously does not prevent definition expansion) ? I don't know when and why it happens (maybe on save) but initial definition in custom library *.mat file <material name="mesh_auxiliary_base" parent="mesh_base" editable="0"> <!-- states --> <state name="auxiliary">1</state> <state name="material">0</state> <!-- auxiliary shaders --> <shader pass="auxiliary" object="mesh" defines="BASE_AUXILIARY" alpha_test_defines=",ALPHA" material_defines=",MATERIAL" auxiliary="1" vertex="core/shaders/meshes/vertex_base.shader" fragment="<customer_shaders>/fragment_base_auxiliary.shader"/> <!-- bindings --> <bind object="mesh_dynamic" to="mesh"/> <bind object="mesh_skinned" to="mesh" defines="MESH_SKINNED"/> <!-- textures --> <texture name="Material" unit="2" pass="auxiliary" material="1" filter="bilinear"><customer_textures>/mesh_auxiliary_material.dds</texture> <!-- parameters --> <parameter name="auxiliary_color">1 0 0 0.75</parameter> </material> gets expanded to <material editable="0" name="mesh_infrared_base" parent="mesh_base"> <state name="auxiliary">1</state> <state name="Material">0</state> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="0" Material="0" defines="BASE_AUXILIARY,DETAIL_NONE" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="0" Material="1" defines="BASE_AUXILIARY,DETAIL_NONE,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="1" Material="0" defines="BASE_AUXILIARY,DETAIL_1" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="1" Material="1" defines="BASE_AUXILIARY,DETAIL_1,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="2" Material="0" defines="BASE_AUXILIARY,DETAIL_2" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="2" Material="1" defines="BASE_AUXILIARY,DETAIL_2,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="3" Material="0" defines="BASE_AUXILIARY,DETAIL_3" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="3" Material="1" defines="BASE_AUXILIARY,DETAIL_3,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="4" Material="0" defines="BASE_AUXILIARY,DETAIL_4" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="0" auxiliary="1" detail="4" Material="1" defines="BASE_AUXILIARY,DETAIL_4,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="0" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_NONE" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="0" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_NONE,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="1" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_1" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="1" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_1,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="2" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_2" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="2" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_2,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="3" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_3" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="3" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_3,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="4" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_4" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh" alpha_test="1" auxiliary="1" detail="4" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_4,MATERIAL" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="0" Material="0" defines="BASE_AUXILIARY,DETAIL_NONE,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="0" Material="1" defines="BASE_AUXILIARY,DETAIL_NONE,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="1" Material="0" defines="BASE_AUXILIARY,DETAIL_1,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="1" Material="1" defines="BASE_AUXILIARY,DETAIL_1,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="2" Material="0" defines="BASE_AUXILIARY,DETAIL_2,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="2" Material="1" defines="BASE_AUXILIARY,DETAIL_2,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="3" Material="0" defines="BASE_AUXILIARY,DETAIL_3,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="3" Material="1" defines="BASE_AUXILIARY,DETAIL_3,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="4" Material="0" defines="BASE_AUXILIARY,DETAIL_4,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="0" auxiliary="1" detail="4" Material="1" defines="BASE_AUXILIARY,DETAIL_4,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="0" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_NONE,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="0" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_NONE,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="1" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_1,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="1" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_1,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="2" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_2,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="2" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_2,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="3" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_3,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="3" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_3,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="4" Material="0" defines="BASE_AUXILIARY,ALPHA,DETAIL_4,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <shader pass="auxiliary" object="mesh_skinned" alpha_test="1" auxiliary="1" detail="4" Material="1" defines="BASE_AUXILIARY,ALPHA,DETAIL_4,MATERIAL,MESH_SKINNED" vertex="core/shaders/meshes/vertex_base.shader" fragment="disi/shaders/meshes/fragment_base_auxiliary.shader"/> <texture name="Material" unit="1" pass="auxiliary" Material="1" filter="bilinear">disi/textures/mesh_infrared_material.dds</texture> <parameter name="auxiliary_color">1 0 0 0.75</parameter> </material> Link to comment
frustum Posted November 23, 2010 Share Posted November 23, 2010 Create your own material library with such header: <materials version="1.0" editable="0">. With editable="0" flag this library can't be overwritten. Link to comment
Recommended Posts