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