public override void GenerateShader(MaterialGeneratorContext context) { Vector4 emissiveMin = Vector4.Zero; Vector4 emissiveMax = new Vector4(float.MaxValue); EmissiveMap.ClampFloat4(ref emissiveMin, ref emissiveMax); Intensity.ClampFloat(0, float.MaxValue); context.SetStream(EmissiveStream.Stream, EmissiveMap, MaterialKeys.EmissiveMap, MaterialKeys.EmissiveValue); context.SetStream("matEmissiveIntensity", Intensity, MaterialKeys.EmissiveIntensityMap, MaterialKeys.EmissiveIntensity); var shaderBuilder = context.AddShading(this); shaderBuilder.ShaderSources.Add(new ShaderClassSource("MaterialSurfaceEmissiveShading", UseAlpha)); }
private bool disposedValue = false; // To detect redundant calls protected virtual void Dispose(bool disposing) { if (!disposedValue) { if (disposing) { // TODO: dispose managed state (managed objects). } if (DiffuseMap != null) { DiffuseMap.Dispose(); } if (NormalMap != null) { NormalMap.Dispose(); } if (DiffuseAlphaMap != null) { DiffuseAlphaMap.Dispose(); } if (SpecularMap != null) { SpecularMap.Dispose(); } if (EmissiveMap != null) { EmissiveMap.Dispose(); } // TODO: free unmanaged resources (unmanaged objects) and override a finalizer below. // TODO: set large fields to null. disposedValue = true; } }