public Shaders( DirectlyLitMaterialBase Direct, IndirectlyLitMaterialBase Indirect, EmissiveMaterialBase Emissive, TranslucentMaterialBase Translucent, NormalBase Normal ) { this.Direct = Direct; this.Indirect = Indirect; this.Emissive = Emissive; this.Translucent = Translucent; this.Normal = Normal; }
internal void Set( NormalBase Normal, Point WorldHit, Point ModelHit, Matrix ModelToWorld, AdditionalData AdditionalData ) { Debug.Assert( ModelToWorld != null ); this.Normal = Normal; this.WorldHit = WorldHit; this.ModelHit = ModelHit; this.WorldToModel = ModelToWorld.Inverse; this.AdditionalData = AdditionalData; switch ( Normal.Type ) { case NormalType.NormalizedModel: this.Prenormalized = PrenormalizedTerm.Model; break; case NormalType.NormalizedWorld: this.Prenormalized = PrenormalizedTerm.World; break; default: this.Prenormalized = PrenormalizedTerm.None; break; } this.WorldNormalValid = false; this.ModelNormalValid = false; this.NormalizedWorldNormalValid = false; this.NormalizedModelNormalValid = false; }