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)); }
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); }
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); }
public Model(Vector2 start, Grid <bool> walkable) { this.walkable = walkable ?? throw new ArgumentNullException(nameof(walkable)); player = Box2DExtensions.CreateFromCenterSize(start.X, start.Y, 1f, 1f); }