public CustomMaterial(VecColor color, double reflectCoef, double specularCoef, double refractiveCoef, double absorptionCoefficient) { Color = color; ReflectCoef = reflectCoef; SpecularCoef = specularCoef; RefractiveCoef = refractiveCoef; AbsorptionCoefficient = absorptionCoefficient; }
public VecColor ToResultColor(ISceneObject sceneObject) { var reflectCoef = sceneObject.Material.ReflectCoef; if (reflectCoef < 0.99999) { var normalColor = VecColor.Intersection( (GlobalLightningParameters.BackgroundLight + DiffusedColor), sceneObject.Material.Color); return(normalColor * (1 - reflectCoef) + ReflectColor * reflectCoef + PrimaryIllumination); } return(ReflectColor + PrimaryIllumination); }
public Glass(VecColor color, double specularCoef, double absorptionCoefficient) { Color = color; SpecularCoef = specularCoef; AbsorptionCoefficient = absorptionCoefficient; }
public PointLight(Vector3 location, VecColor color, double intensity) : base(color, intensity) { Location = location; Color = color; Intensity = intensity; }
public ReflectionLight(VecColor diffusedColor, VecColor reflectColor, VecColor primaryIllumination) { DiffusedColor = diffusedColor; ReflectColor = reflectColor; PrimaryIllumination = primaryIllumination; }