예제 #1
0
            public CustomizationPoint Build()
            {
                var customizationPointInternal = new CustomizationPointInternal
                {
                    m_NameHandle = container.AddString(name),
                };

                customizationPointInternal.m_InputListHandle          = FixedHandleListInternal.Build(container, inputs, (v) => (v.handle));
                customizationPointInternal.m_OutputListHandle         = FixedHandleListInternal.Build(container, outputs, (v) => (v.handle));
                customizationPointInternal.m_PropertyListHandle       = FixedHandleListInternal.Build(container, properties, (v) => (v.handle));
                customizationPointInternal.m_DefaultBlockInstanceList = FixedHandleListInternal.Build(container, defaultBlockInstances, (v) => (v.handle));

                var returnTypeHandle = container.AddCustomizationPointInternal(customizationPointInternal);

                return(new CustomizationPoint(container, returnTypeHandle));
            }
예제 #2
0
 // private
 internal CustomizationPoint(ShaderContainer container, FoundryHandle handle)
 {
     this.container          = container;
     this.handle             = handle;
     this.customizationPoint = container?.GetCustomizationPoint(handle) ?? CustomizationPointInternal.Invalid();
 }
예제 #3
0
 internal extern FoundryHandle AddCustomizationPointInternal(CustomizationPointInternal customizationPoint);