예제 #1
0
            FoundryHandle BuildStageElement(StageElement stageElement)
            {
                var blockInstanceHandle      = stageElement.BlockInstance;
                var customizationPointHandle = stageElement.CustomizationPoint;
                var stageElementInternal     = new TemplatePassStageElementInternal()
                {
                    m_BlockInstanceHandle      = blockInstanceHandle.handle,
                    m_CustomizationPointHandle = customizationPointHandle.handle,
                };

                return(container.AddTemplatePassStageElementInternal(stageElementInternal));
            }
예제 #2
0
 internal extern FoundryHandle AddTemplatePassStageElementInternal(TemplatePassStageElementInternal templatePassStageElement);
 // private
 internal TemplatePassStageElement(ShaderContainer container, FoundryHandle handle)
 {
     this.container = container;
     this.handle    = handle;
     this.templatePassStageElement = container?.GetTemplatePassStageElement(handle) ?? TemplatePassStageElementInternal.Invalid();
 }