Ejemplo n.º 1
0
        public static string GetSamplerMipArgs(
            AbstractMaterialNode node, Texture3DMipSamplingMode mode, Mip3DSamplingInputs inputs, GenerationMode generationMode)
        {
            switch (mode)
            {
            case Texture3DMipSamplingMode.LOD:
                return(string.Format(", {0}", node.GetSlotValue(inputs.lodInput, generationMode)));
            }

            return("");
        }
Ejemplo n.º 2
0
        private void UpdateMipSamplingModeInputs()
        {
            var capabilities = ShaderStageCapability.Fragment;

            if (m_MipSamplingMode == Texture3DMipSamplingMode.LOD)
            {
                capabilities |= ShaderStageCapability.Vertex;
            }

            m_RGBAPins.SetCapabilities(capabilities);

            m_Mip3DSamplingInputs = MipSamplingModesUtils.CreateMip3DSamplingInputs(
                this, m_MipSamplingMode, m_Mip3DSamplingInputs, LodInput);
        }
Ejemplo n.º 3
0
        public static Mip3DSamplingInputs CreateMip3DSamplingInputs(
            AbstractMaterialNode node, Texture3DMipSamplingMode mode, Mip3DSamplingInputs previousInputs,
            int lodInputId)
        {
            if (previousInputs.lod != null)
            {
                node.RemoveSlot(previousInputs.lod.id);
            }

            Mip3DSamplingInputs inputs = Mip3DSamplingInputs.NewDefault();

            inputs.lodInput = lodInputId;
            switch (mode)
            {
            case Texture3DMipSamplingMode.LOD:
                inputs.lod = node.AddSlot(new Vector1MaterialSlot(lodInputId, kLodName, kLodName, SlotType.Input, 0.0f));
                break;
            }

            return(inputs);
        }