public override void Draw(Camera camera) { Matrix[] modelTransforms = new Matrix[Model.Bones.Count]; Model.CopyAbsoluteBoneTransformsTo(modelTransforms); foreach (ModelMesh mesh in Model.Meshes) { Matrix localWorld = modelTransforms[mesh.ParentBone.Index] * _world; foreach (ModelMeshPart meshPart in mesh.MeshParts) { Effect effect = meshPart.Effect; if (effect is BasicEffect) { ((BasicEffect)effect).World = localWorld; ((BasicEffect)effect).View = camera.View; ((BasicEffect)effect).Projection = camera.Projection; ((BasicEffect)effect).EnableDefaultLighting(); } else { SetEffectParameter(effect, "World", localWorld); SetEffectParameter(effect, "View", camera.View); SetEffectParameter(effect, "Projection", camera.Projection); SetEffectParameter(effect, "CameraPosition", camera.Position); //setEffectParameter(effect, "TextureEnabled", true);// どうやらデフォルトでtrueらしい //setEffectParameter(effect, "ProjectorEnabled", true); } if (Material is CubeMapReflectMaterial) {//ProjectedTextureMaterial) { int d = 0; } if (Material != null) { //Material.SetEffectParameters(effect);// light mapだけの時は消すべきかも } } mesh.Draw(); } if (RenderBoudingSphere) DrawBoundingSphere(); }
public PauseMenu(Level privousScene) : base(privousScene) { sceneTitle = "Pause"; drawBackGround = false; menuString = new string[] { "Resume", }; buttonNum = menuString.Length; button = new Button[buttonNum]; for (int i = 0; i < buttonNum; i++) { button[i].color = Color.Blue; button[i].name = menuString[i]; } //SoundControl.Pause(); this.camera = privousScene.camera; Load(); }
public override void Draw(Camera camera) { //base.Draw(camera); this.Draw(camera.View, camera.Projection, camera.Up, camera.Right, camera.Position); }
public override void Draw(Camera camera) { Renderer.Draw(camera.View, camera.Projection, camera.Position); billboardStrip.Draw(camera.View, camera.Projection, camera.Up, camera.Right, camera.Position); }
/*public override void Draw(GameTime gameTime, Matrix View, Matrix Projection, Vector3 CameraPosition, Vector3 CameraDirection, Vector3 Up, Vector3 Right) { eps.Draw(View, Projection, Up, Right); }*/ public override void Draw(GameTime gameTime, Camera camera) { base.Draw(gameTime, camera); //explosion.Draw(camera.View, camera.Projection, camera.Up, camera.Right); foreach (ExplosionParticleEmitter e in emitters) { e.Draw(camera.View, camera.Projection, camera.Position, camera.Up, camera.Right); } if (shockWaveEffect != null) { //shockWaveEffect.Draw(gameTime, camera.View, camera.Projection, camera.Direction, camera.Up, camera.Right); } // Draw BoundingBox for debug if (renderBoundingSphere) { int size = 25; BoundingBoxRenderer.Render(new BoundingBox(new Vector3(-size / 2.0f, -size / 2.0f, -size / 2.0f) + Position, new Vector3(size / 2.0f, size / 2.0f, size / 2.0f) + Position) , graphicsDevice, camera.View, camera.Projection, Color.White); } }
public override void Draw(Camera camera) { //base.Draw(camera); laserRenderer.Draw(camera); }
/*public void Draw(GameTime gameTime, Matrix View, Matrix Projection, Vector3 CameraPosition, Vector3 CameraDirection, Vector3 Up, Vector3 Right) { }*/ public virtual void Draw(GameTime gameTime, Camera camera) { }
/*public virtual void Draw(Matrix View, Matrix Projection, Vector3 CameraPosition) { } public virtual void Draw(Matrix View, Matrix Projection, Vector3 Up, Vector3 Right) { }*/ public virtual void Draw(Camera camera) { }
public override void Draw(Camera camera) { base.Draw(camera.View, camera.Projection, camera.Up, camera.Right); }
public void Draw(GameTime gameTime, Camera camera) { foreach (SpecialEffect e in Effects) { e.Draw(gameTime, camera); } }