Clean Shapes Versions Save

Antialiased primitives library for GameMaker Studio 2023.1

1.1.1

1 year ago
  • Fixes rendering failure when drawing a rectangle with left/top swapped with right/bottom

1.1.0

1 year ago

Updates to GameMaker 2023.1 (at the time of writing in beta) to take advantage of the new support for standard derivatives cross-platform.

HTML5 is still unsupported though :'(

1.0.12

3 years ago

Fixes CleanBatchEndReturnVertexBuffer()

1.0.11

3 years ago

We're now in stable!

Merges in two pull requests: #26 - Adds a test controller to swap between rooms more easily (from @bakumoe) #27 - Simplifies shader code and improves antialiasing (from @XorDev)

1.0.10.beta

3 years ago

Welcome to the Clean Shapes beta!

Clean Shapes is a shader-based solution for the drawing of antialiased primitives. This library supports many different shapes, from simple shapes such as rectangles, circles, and lines to complex shapes such as stars, polyines, and segments (full list here).

Shape functions return structs that contain methods. These methods can be used to render shapes with borders, edge rounding, and colour blending. For example, the rectangle shape has the .Border() method that adds a border to the rectangle. Each shape has its own methods that can be used and these are laid out in the online documentation.

Clean Shapes renders its primitves independent of scale or resolution. Feathered edges for shapes will always be a fixed size no matter how large those shapes are or where you're drawing your shapes - be it the application surface, a custom surface, or Draw GUI event. Antialiasing can be turned off completely if you'd like All shapes are compatible with blend modes and alpha blending.

With this beta I hope to find any bugs in Clean Shapes before moving to a stable release. If you do find any problems, please use the issues page to bring by attention to them. If you'd like to talk more directly then head to the Discord server.

Thanks again and have fun!

 

 

Changes from v1.0.9:

#20 - Added .Border4() for rectangles and capsules #22 - Spline .BlendExt() is now much less fussy #24 - Added .Border3() for triangles #25 - Added .BorderExt() for convex polygons

Many thanks to @bakumoe for contributing these features to Clean Shapes.

1.0.9.beta

3 years ago

Addresses:

#19 - Splines are now their own class, and .BlendExt() now works more elegantly than before

1.0.8.beta

3 years ago

Addresses: #18 - Rotated rectangles are now blended appropriately

Also:

  • Improved documentation
  • Added test cases

1.0.7alpha

3 years ago

Addresses: #17 - Adds CleanEllipse()

1.0.6alpha

3 years ago

Addresses: #9 - Adds CleanSpline()

1.0.5alpha

3 years ago

Addresses: #13 - Added segment and ring shapes #15 - Added regular n-gons (and regular stars)

Additionally:

  • Adds skew transform
  • Precision now forced to high for cross-platform compatibility