public BillboardPrimitiveObject(string id, ActorType actorType, Transform3D transform, EffectParameters effectParameters, StatusType statusType, IVertexData vertexData, BillboardType billboardType) : base(id, actorType, transform, effectParameters, statusType, vertexData) { //create blank set of parameters and set type to be Normal - developer can change after instanciation - see Main::InitializeBillboards() this.billboardOrientationParameters = new BillboardOrientationParameters(); this.BillboardType = billboardType; }
public override void SetParameters(Camera3D camera, BillboardOrientationParameters billboardParameters) { this.Effect.CurrentTechnique = this.Effect.Techniques[billboardParameters.Technique]; this.Effect.Parameters["View"].SetValue(camera.View); this.Effect.Parameters["Projection"].SetValue(camera.ProjectionParameters.Projection); this.Effect.Parameters["Up"].SetValue(billboardParameters.Up); this.Effect.Parameters["Right"].SetValue(billboardParameters.Right); this.Effect.Parameters["DiffuseColor"].SetValue(this.DiffuseColor.ToVector4()); this.Effect.Parameters["DiffuseTexture"].SetValue(this.Texture); this.Effect.Parameters["Alpha"].SetValue(this.Alpha); //animation specific parameters this.Effect.Parameters["IsScrolling"].SetValue(billboardParameters.IsScrolling); this.Effect.Parameters["scrollRate"].SetValue(billboardParameters.scrollValue); this.Effect.Parameters["IsAnimated"].SetValue(billboardParameters.IsAnimated); this.Effect.Parameters["InverseFrameCount"].SetValue(billboardParameters.inverseFrameCount); this.Effect.Parameters["CurrentFrame"].SetValue(billboardParameters.currentFrame); base.SetParameters(camera); }
//used by billboards public virtual void SetParameters(Camera3D camera, BillboardOrientationParameters billboardParameters) { }