コード例 #1
0
ファイル: MipSamplingModes.cs プロジェクト: vault51/Graphics
        public static string Get3DTextureSamplingMacro(Texture3DMipSamplingMode mode, bool usePlatformMacros)
        {
            if (usePlatformMacros)
            {
                switch (mode)
                {
                case Texture3DMipSamplingMode.Standard:
                    return("PLATFORM_SAMPLE_TEXTURE3D");

                case Texture3DMipSamplingMode.LOD:
                    return("PLATFORM_SAMPLE_TEXTURE2D_LOD");
                }
            }
            else
            {
                switch (mode)
                {
                case Texture3DMipSamplingMode.Standard:
                    return("SAMPLE_TEXTURE3D");

                case Texture3DMipSamplingMode.LOD:
                    return("SAMPLE_TEXTURE3D_LOD");
                }
            }

            return("");
        }
コード例 #2
0
ファイル: MipSamplingModes.cs プロジェクト: vault51/Graphics
        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("");
        }
コード例 #3
0
ファイル: MipSamplingModes.cs プロジェクト: vault51/Graphics
        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);
        }