public TemplatePass Build() { var templatePassInternal = new TemplatePassInternal() { m_DisplayNameHandle = container.AddString(displayName), m_ReferenceNameHandle = container.AddString(referenceName), }; templatePassInternal.m_PassIdentifierHandle = container.AddPassIdentifier(passIdentifier.SubShaderIndex, passIdentifier.PassIndex); templatePassInternal.m_VertexStageElementListHandle = FixedHandleListInternal.Build(container, vertexStageElements, (e) => BuildStageElement(e)); templatePassInternal.m_FragmentStageElementListHandle = FixedHandleListInternal.Build(container, fragmentStageElements, (e) => BuildStageElement(e)); templatePassInternal.m_TagDescriptorListHandle = FixedHandleListInternal.Build(container, tagDescriptors, (o) => (o.handle)); var returnTypeHandle = container.AddTemplatePassInternal(templatePassInternal); return(new TemplatePass(container, returnTypeHandle)); }
public CustomizationPointInstance Build() { var customizationPointInstanceInternal = new CustomizationPointInstanceInternal() { m_CustomizationPointHandle = customizationPoint.handle, }; customizationPointInstanceInternal.m_BlockInstanceListHandle = FixedHandleListInternal.Build(container, BlockInstances, (v) => (v.handle)); customizationPointInstanceInternal.m_PassIdentifierListHandle = FixedHandleListInternal.Build(container, PassIdentifiers, (p) => (container.AddPassIdentifier(p.SubShaderIndex, p.PassIndex))); var returnTypeHandle = container.AddCustomizationPointInstanceInternal(customizationPointInstanceInternal); return(new CustomizationPointInstance(container, returnTypeHandle)); }