public void Render()
        {
            var newStick  = RotateLine(stick, Angle);
            var stickAABB = Box2DExtensions.CreateFromPoints(new Vector2[] { newStick.Item1, newStick.Item2 });

            GL.Clear(ClearBufferMask.ColorBufferBit);

            GL.Color3(Color.CornflowerBlue);
            DrawLine(newStick);

            GL.Color3(Color.YellowGreen);
            DrawAABB(stickAABB);

            GL.Color3(Color.Black);
            DrawAABB(Box2DExtensions.CreateFromCenterSize(0, 0, 0.02f, 0.02f));
        }
Esempio n. 2
0
        public IEnumerable <IReadOnlyBox2D> GetPlanets()
        {
            var planets = new List <Box2D>();

            Foreach(root, (node) =>
            {
                if (node.GetInstance <CreateGeometryTag>() is null)
                {
                    return;
                }
                var xForm     = node.GlobalTransformation;
                var newCenter = xForm.Transform(Vector2.Zero);
                var size      = xForm.Transform(new Vector4(1f, 0f, 0f, 0f)).XY().Length();
                var bounds    = Box2DExtensions.CreateFromCenterSize(newCenter.X, newCenter.Y, size, size);
                planets.Add(bounds);
            });
            return(planets);
        }
Esempio n. 3
0
        public void Render(IReadOnlyList <Vector2> points, int selectedPoint, float truckPos)
        {
            GL.Clear(ClearBufferMask.ColorBufferBit);
            GL.LoadIdentity();
            GL.Ortho(-windowAspect, windowAspect, -1, 1, 0, 1);

            shaderRoad.Activate();
            texSand.Activate();

            DrawLineStrip(points);

            texSand.Deactivate();
            shaderRoad.Deactivate();

            GL.Color3(Color.Red);
            GL.PointSize(15.0f);
            DrawPoints(points);

            if (-1 != selectedPoint)
            {
                GL.Color3(Color.Blue);
                GL.PointSize(25.0f);
                DrawPoint(points[selectedPoint]);
            }
            var pos = CubicHermiteSpline.CatmullRomSpline(points, truckPos);

            GL.Color3(Color.White);
            //GL.Color3(Color.Green);
            //GL.PointSize(25.0f);
            shaderTruck.Activate();
            texTruck.Activate();
            DrawTools.DrawTexturedRect(Box2DExtensions.CreateFromCenterSize(pos.X, pos.Y, 0.1f, 0.1f), Box2D.BOX01);
            texTruck.Deactivate();
            shaderTruck.Deactivate();
            //DrawPoint(pos);
        }
Esempio n. 4
0
 public Model(Vector2 start, Grid <bool> walkable)
 {
     this.walkable = walkable ?? throw new ArgumentNullException(nameof(walkable));
     player        = Box2DExtensions.CreateFromCenterSize(start.X, start.Y, 1f, 1f);
 }