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(""); }
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(""); }
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); }