コード例 #1
0
ファイル: Shot.cs プロジェクト: Felixdev/dogfight2008
 public void Render(IRenderer renderer)
 {
     Vector3 pos3d = new Vector3(Position.X, -20, Position.Y);
       renderer.PushMatrix();
       renderer.Translate(pos3d);
       renderer.Rotate(-Vector3.UnitY, Angle);
       renderer.Rotate(Vector3.UnitZ, -Math.PI / 2);
       renderer.PushMatrix();
       if (harmless.Stopped)
     renderer.DrawMesh(Mesh.RedPlane);
       else
     renderer.DrawMesh(Mesh.Shot);
       renderer.PopMatrix();
       renderer.PopMatrix();
 }
コード例 #2
0
ファイル: Plane.cs プロジェクト: Felixdev/dogfight2008
        private void RenderInternal(IRenderer renderer)
        {
            Plane plane = this;
              Mesh mesh = Mesh;
              bool shadow = ShadowMode;

              Vector3 pos3d = new Vector3((float)plane.X, -20, (float)plane.Y);
              renderer.PushMatrix();
              if (shadow)
              {
            renderer.PushMatrix();
            renderer.Translate(new Vector3(0, 0, -20f));
            GL.Scale(1, 1, 0);
            GL.Disable(OpenTK.OpenGL.Enums.EnableCap.DepthTest);
              }
              renderer.Translate(pos3d);
              renderer.Rotate(-Vector3.UnitY, plane.Angle);
              renderer.Rotate(Vector3.UnitZ, -Math.PI / 2);
              renderer.Color(Color.Green);
              float mult = 1.0f;
              float amin = mult * -3.6f, amax = mult * 1.5f;
              float bmin = mult * -0.25f, bmax = mult * 0.45f;
              if (!shadow)
            renderer.DrawMesh(mesh);
              else
              {
            renderer.Color(Color.Black);
            renderer.DrawMeshIgnoreColors(mesh);
              }
              if (shadow)
              {
            GL.Enable(OpenTK.OpenGL.Enums.EnableCap.DepthTest);
            renderer.PopMatrix();
              }
              renderer.PopMatrix();
        }
コード例 #3
0
ファイル: Game.cs プロジェクト: Felixdev/dogfight2008
 public void Render(IRenderer renderer)
 {
     renderer.PushMatrix();
     renderer.Translate(new Vector3(0, -200, -50));
     renderer.DrawMesh(Mesh.Backdrop);
     renderer.PopMatrix();
 }