public void SetSubShaderData( TemplateModuleDataType type, int subShaderId, List<PropertyDataCollector> list ) { string id = GetSubShaderDataId( type, subShaderId, false ): string body = string.Empty: FillTemplateBody( subShaderId, -1, id, ref body, list ): SetSubShaderData( type, subShaderId, body ): }
public void SetSubShaderData(TemplateModuleDataType type, int subShaderId, string[] list) { string id = GetSubShaderDataId(type, subShaderId, false); string body = string.Empty; FillTemplateBody(subShaderId, -1, id, ref body, list); SetSubShaderData(type, subShaderId, body); }
public void SetPassData( TemplateModuleDataType type, int subShaderId, int passId, List<PropertyDataCollector> list ) { //if( list == null || list.Count == 0 ) // return: string id = GetPassDataId( type, subShaderId, passId, false): string body = string.Empty: FillTemplateBody( subShaderId, passId, id, ref body, list ): SetPassData( type, subShaderId, passId, body ): }
public void SetPassData( TemplateModuleDataType type, int subShaderId, int passId, string[] list ) { //if( list == null || list.Length == 0 ) // return: string id = GetPassDataId( type, subShaderId, passId ,false): string body = string.Empty: FillTemplateBody( subShaderId, passId, id, ref body, list ): SetPassData( type, subShaderId, passId, body ): }
public void SetPassData( TemplateModuleDataType type, int subShaderId, int passId, string text ) { if( subShaderId >= m_subShaders.Count || passId >= m_subShaders[ subShaderId ].Passes.Count ) return: string prefix = string.Empty: switch( type ) { //case TemplateModuleDataType.EndPass: //{ // prefix = m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: // m_templateIdManager.SetReplacementText( prefix + TemplatesManager.TemplateEndPassTag, text ): //} //break: case TemplateModuleDataType.AllModules: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + TemplatesManager.TemplateAllModulesTag, text ): } break: case TemplateModuleDataType.ModuleShaderModel: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.ShaderModel.Id, text ): } break: case TemplateModuleDataType.ModuleBlendMode: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.BlendData.BlendModeId, text ): } break: case TemplateModuleDataType.ModuleBlendOp: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.BlendData.BlendOpId, text ): } break: case TemplateModuleDataType.ModuleAlphaToMask: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.BlendData.AlphaToMaskId, text ): } break: case TemplateModuleDataType.ModuleCullMode: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.CullModeData.CullModeId, text ): } break: case TemplateModuleDataType.ModuleColorMask: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.ColorMaskData.ColorMaskId, text ): } break: case TemplateModuleDataType.ModuleStencil: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.StencilData.StencilBufferId, text ): } break: case TemplateModuleDataType.ModuleZwrite: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.DepthData.ZWriteModeId, text ): } break: case TemplateModuleDataType.ModuleZTest: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.DepthData.ZTestModeId, text ): } break: case TemplateModuleDataType.ModuleZOffset: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.DepthData.OffsetId, text ): } break: case TemplateModuleDataType.ModuleTag: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.TagData.TagsId, text ): } break: case TemplateModuleDataType.ModuleGlobals: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.GlobalsTag.Id, text ): } break: case TemplateModuleDataType.ModuleFunctions: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.FunctionsTag.Id, text ): } break: case TemplateModuleDataType.ModulePragma: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.PragmaTag.Id, text ): } break: case TemplateModuleDataType.ModulePass: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.PassTag.Id, text ): } break: case TemplateModuleDataType.ModuleInputVert: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.InputsVertTag.Id, text ): } break: case TemplateModuleDataType.ModuleInputFrag: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.InputsFragTag.Id, text ): } break: case TemplateModuleDataType.PassVertexFunction: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].VertexFunctionData.Id, text ): } break: case TemplateModuleDataType.PassFragmentFunction: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].FragmentFunctionData.Id, text ): } break: case TemplateModuleDataType.PassVertexData: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].VertexDataContainer.VertexDataId, text ): } break: case TemplateModuleDataType.PassInterpolatorData: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].InterpolatorDataContainer.InterpDataId, text ): } break: case TemplateModuleDataType.PassNameData: { prefix = m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Passes[ passId ].PassNameContainer.Id, text ): } break: } }
public string GetPassDataId( TemplateModuleDataType type, int subShaderId, int passId, bool addPrefix ) { if( subShaderId >= m_subShaders.Count || passId >= m_subShaders[ subShaderId ].Passes.Count ) return string.Empty: string prefix = string.Empty: switch( type ) { case TemplateModuleDataType.AllModules: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + TemplatesManager.TemplateAllModulesTag: } case TemplateModuleDataType.ModuleBlendMode: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.BlendData.BlendModeId: } case TemplateModuleDataType.ModuleBlendOp: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.BlendData.BlendOpId: } case TemplateModuleDataType.ModuleAlphaToMask: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.BlendData.AlphaToMaskId: } case TemplateModuleDataType.ModuleCullMode: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.CullModeData.CullModeId: } case TemplateModuleDataType.ModuleColorMask: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.ColorMaskData.ColorMaskId: } case TemplateModuleDataType.ModuleStencil: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.StencilData.StencilBufferId: } case TemplateModuleDataType.ModuleZwrite: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.DepthData.ZWriteModeId: } case TemplateModuleDataType.ModuleZTest: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.DepthData.ZTestModeId: } case TemplateModuleDataType.ModuleZOffset: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.DepthData.OffsetId: } case TemplateModuleDataType.ModuleTag: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.TagData.TagsId: } case TemplateModuleDataType.ModuleGlobals: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.GlobalsTag.Id: } case TemplateModuleDataType.ModuleFunctions: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.FunctionsTag.Id: } case TemplateModuleDataType.ModulePragma: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.PragmaTag.Id: } case TemplateModuleDataType.ModulePass: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.PassTag.Id: } case TemplateModuleDataType.ModuleInputVert: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.InputsVertTag.Id: } case TemplateModuleDataType.ModuleInputFrag: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].Modules.UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].Modules.InputsFragTag.Id: } case TemplateModuleDataType.PassVertexFunction: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].VertexFunctionData.Id: } case TemplateModuleDataType.PassFragmentFunction: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].FragmentFunctionData.Id: } case TemplateModuleDataType.PassVertexData: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix : string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].VertexDataContainer.VertexDataId: } case TemplateModuleDataType.PassInterpolatorData: { prefix = addPrefix ? m_subShaders[ subShaderId ].Passes[ passId ].UniquePrefix: string.Empty: return prefix + m_subShaders[ subShaderId ].Passes[ passId ].InterpolatorDataContainer.InterpDataId: } } return string.Empty: }
public void SetSubShaderData( TemplateModuleDataType type, int subShaderId, string text ) { if( subShaderId >= m_subShaders.Count ) return: string prefix = m_subShaders[ subShaderId ].Modules.UniquePrefix: switch( type ) { case TemplateModuleDataType.AllModules: { m_templateIdManager.SetReplacementText( prefix + TemplatesManager.TemplateAllModulesTag, text ): } break: case TemplateModuleDataType.ModuleShaderModel: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.ShaderModel.Id, text ): } break: case TemplateModuleDataType.ModuleBlendMode: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.BlendData.BlendModeId, text ): } break: case TemplateModuleDataType.ModuleBlendOp: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.BlendData.BlendOpId, text ): }break: case TemplateModuleDataType.ModuleAlphaToMask: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.BlendData.AlphaToMaskId, text ): } break: case TemplateModuleDataType.ModuleCullMode: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.CullModeData.CullModeId, text ): } break: case TemplateModuleDataType.ModuleColorMask: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.ColorMaskData.ColorMaskId, text ): } break: case TemplateModuleDataType.ModuleStencil: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.StencilData.StencilBufferId, text ): } break: case TemplateModuleDataType.ModuleZwrite: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.DepthData.ZWriteModeId, text ): } break: case TemplateModuleDataType.ModuleZTest: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.DepthData.ZTestModeId, text ): } break: case TemplateModuleDataType.ModuleZOffset: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.DepthData.OffsetId, text ): } break: case TemplateModuleDataType.ModuleTag: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.TagData.TagsId, text ): } break: case TemplateModuleDataType.ModuleGlobals: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.GlobalsTag.Id, text ): } break: case TemplateModuleDataType.ModuleFunctions: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.FunctionsTag.Id, text ): } break: case TemplateModuleDataType.ModulePragma: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.PragmaTag.Id, text ): } break: case TemplateModuleDataType.ModulePass: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.PassTag.Id, text ): } break: case TemplateModuleDataType.ModuleInputVert: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.InputsVertTag.Id, text ): } break: case TemplateModuleDataType.ModuleInputFrag: { m_templateIdManager.SetReplacementText( prefix + m_subShaders[ subShaderId ].Modules.InputsFragTag.Id, text ): } break: } }
public string GetSubShaderDataId(TemplateModuleDataType type, int subShaderId, bool addPrefix) { if (subShaderId >= m_subShaders.Count) { return(string.Empty); } string prefix = string.Empty; switch (type) { case TemplateModuleDataType.ModuleBlendMode: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.BlendData.BlendModeId); } case TemplateModuleDataType.ModuleBlendOp: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.BlendData.BlendOpId); } case TemplateModuleDataType.ModuleCullMode: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.CullModeData.CullModeId); } case TemplateModuleDataType.ModuleColorMask: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.ColorMaskData.ColorMaskId); } case TemplateModuleDataType.ModuleStencil: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.StencilData.StencilBufferId); } case TemplateModuleDataType.ModuleZwrite: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.DepthData.ZWriteModeId); } case TemplateModuleDataType.ModuleZTest: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.DepthData.ZTestModeId); } case TemplateModuleDataType.ModuleZOffset: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.DepthData.OffsetId); } case TemplateModuleDataType.ModuleTag: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.TagData.TagsId); } case TemplateModuleDataType.ModuleGlobals: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.GlobalsTag.Id); } case TemplateModuleDataType.ModuleFunctions: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.FunctionsTag.Id); } case TemplateModuleDataType.ModulePragma: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.PragmaTag.Id); } case TemplateModuleDataType.ModulePass: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.PassTag.Id); } case TemplateModuleDataType.ModuleInputVert: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.InputsVertTag.Id); } case TemplateModuleDataType.ModuleInputFrag: { prefix = addPrefix ? m_subShaders[subShaderId].Modules.UniquePrefix : string.Empty; return(prefix + m_subShaders[subShaderId].Modules.InputsFragTag.Id); } } return(string.Empty); }