public override void VisitFeature(MaterialGeneratorContext context) { context.SetStream(EmissiveStream.Stream, EmissiveMap, MaterialKeys.EmissiveMap, MaterialKeys.EmissiveValue); context.SetStream("matEmissiveIntensity", Intensity, MaterialKeys.EmissiveIntensityMap, MaterialKeys.EmissiveIntensity); context.AddShading(this, new ShaderClassSource("MaterialSurfaceEmissiveShading", UseAlpha)); }
public override void VisitFeature(MaterialGeneratorContext context) { var shaderSource = new ShaderMixinSource(); shaderSource.Mixins.Add(new ShaderClassSource("MaterialSurfaceShadingSpecularMicrofacet")); if (Fresnel != null) { shaderSource.AddComposition("fresnelFunction", Fresnel.Generate()); } if (Visibility != null) { shaderSource.AddComposition("geometricShadowingFunction", Visibility.Generate()); } if (NormalDistribution != null) { shaderSource.AddComposition("normalDistributionFunction", NormalDistribution.Generate()); } context.AddShading(this, shaderSource); }
public virtual void Visit(MaterialGeneratorContext context) { var shaderSource = new ShaderClassSource("MaterialSurfaceShadingDiffuseLambert", IsEnergyConservative); context.AddShading(this, shaderSource); }