Exemple #1
0
 public static void GoToTransform(WorldTransform wt)
 {
     Gl.glPushMatrix();
     Gl.glTranslatef((float)wt.CenterPoint.X, (float)wt.CenterPoint.Y, 0.0f);
 }
Exemple #2
0
        public static void InitScene(WorldTransform transform)
        {
            PointF ll = transform.WorldLowerLeft;
            PointF ur = transform.WorldUpperRight;

            Gl.glViewport(0, 0, (int)transform.ScreenSize.Width, (int)transform.ScreenSize.Height);
            Gl.glLoadIdentity();
            Gl.glOrtho(ll.X,ur.X,ll.Y,ur.Y,-100.0,100.0);

            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
        }
Exemple #3
0
        public static void DrawGrid(int gridStep, WorldTransform w, bool drawRadii, Color lineColor, Color textColor, Color radiiColor)
        {
            GLUtility.DisableNiceLines();
            for (int i = (int)w.WorldLowerLeft.Y; i < w.WorldUpperRight.Y; i ++)
            {
                if (i % gridStep == 0)
                {
              GLUtility.DrawLine(new GLPen(lineColor, 1.0f), (float)w.WorldLowerLeft.X, i, (float)w.WorldUpperRight.X, i);
              GLUtility.DrawString(i.ToString() + "m", new Font("verdana", 1), textColor, new PointF(0, i + .25f));
                }
            }
            for (int i = (int)w.WorldLowerLeft.X; i < w.WorldUpperRight.X; i ++)
            {
                if (i % gridStep == 0)
                {
              GLUtility.DrawLine(new GLPen(lineColor, 1.0f), i, (float)w.WorldLowerLeft.Y, i, (float)w.WorldUpperRight.Y);
              GLUtility.DrawString(i.ToString() + "m", new Font("verdana", 1), textColor, new PointF(i, (float)(w.WorldUpperRight.Y - w.WorldLowerLeft.Y) / 2.0f));
                }
            }

            if (drawRadii)
            {
                RectangleF r = new RectangleF(new PointF(-gridStep, -gridStep), new SizeF(gridStep * 2.0f, gridStep * 2.0f));
                for (int i = 0; i < 20; i++)
                {
                    r.Inflate(gridStep, gridStep);
              GLUtility.DrawEllipse(new GLPen(radiiColor, 1), r);
                }
            }
            GLUtility.EnableNiceLines();
        }
Exemple #4
0
        public static void DrawGrid3D(int gridStep, WorldTransform w, float z, Color lineColor, Color textColor, Color radiiColor)
        {
            GLUtility.DisableNiceLines();
              GLPen pen = new GLPen(lineColor, 1.0f);
            pen.GLApplyPen();
            Gl.glBegin(Gl.GL_LINES);

            for (int i = (int)w.WorldLowerLeft.Y; i < w.WorldUpperRight.Y; i++)
              {
            if (i % gridStep == 0)
            {
                    Gl.glVertex3f((float)w.WorldLowerLeft.X, i, z);
                    Gl.glVertex3f((float)w.WorldUpperRight.X, i, z);
              //GLUtility.DrawString(i.ToString() + "m", new Font("verdana", 1), textColor, new PointF(0, i + .25f));
            }
              }
              for (int i = (int)w.WorldLowerLeft.X; i < w.WorldUpperRight.X; i++)
              {
            if (i % gridStep == 0)
            {
                    Gl.glVertex3f(i,(float)w.WorldLowerLeft.Y,z);
                    Gl.glVertex3f(i, (float)w.WorldUpperRight.Y, z);
              //GLUtility.DrawString(i.ToString() + "m", new Font("verdana", 1), textColor, new PointF(i, (float)(w.WorldUpperRight.Y - w.WorldLowerLeft.Y) / 2.0f));
            }
              }
            Gl.glEnd();
              GLUtility.EnableNiceLines();
        }
Exemple #5
0
 public override void UpdateWithWorldTransform(WorldTransform wt)
 {
     try
     {
         left = wt.WorldLowerLeft.X;
         right = wt.WorldUpperRight.X;
         bottom = wt.WorldLowerLeft.Y;
         top = wt.WorldUpperRight.Y;
         zNear = -200;
         zFar = 200;
         scale = wt.Scale;
     }
     catch { }
 }
Exemple #6
0
 public static void DrawGrid(int gridStep, WorldTransform w, bool drawRadii)
 {
     DrawGrid(gridStep, w, drawRadii, Color.LightGray, Color.LightGray, Color.LightPink);
 }
Exemple #7
0
 public GLCameraOrtho(WorldTransform wt)
 {
     UpdateWithWorldTransform(wt);
 }
Exemple #8
0
 public override void UpdateWithWorldTransform(WorldTransform wt)
 {
     aspect = (double)(wt.ScreenSize.Width / wt.ScreenSize.Height);
     scale = wt.Scale;
 }
Exemple #9
0
            float pitch, yaw; // both in degrees

            #endregion Fields

            #region Constructors

            public GLCameraFree(WorldTransform wt)
            {
                location = new v3f(-5.0f, -5, 5);
                up = new v3f(0, 0, 1);
                pitch = 30;
                yaw = 30;
                UpdateWithWorldTransform(wt);
            }
Exemple #10
0
 public GLCameraChase(WorldTransform wt)
 {
     eye = eyeRel;
     center = centerRel;
     up = new v3f(0, 0, 1);
     UpdateWithWorldTransform(wt);
 }
Exemple #11
0
 public abstract void UpdateWithWorldTransform(WorldTransform wt);