5.0 Release Update #117
SoloByte
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
The upcoming 5.0 release is nearly complete, but it’s not finished yet. As usual, a small improvement snowballed into a major release and is taking far longer than I anticipated. Most of the important, large tasks are already done — except one.
I am currently overhauling all outline-drawing functions to use custom algorithms that draw outlines as triangles instead of full segments. This change makes it possible to use transparent colors for outlines without producing overlapping artifacts.
ShapeEngine-ShapeOutlineDrawingProblem.mp4
It started when I fixed
CircleSectordrawing and realized my temporary outline system couldn’t handle transparent outlines cleanly. That left a choice: leave the temporary implementation as-is or redo all outline functions for every closed shape. I chose the latter, which means updatingCircle,Ring,Triangle,Rect,Quad, andPolygonoutlines — including variations such asDrawLines,DrawPercentageLines,DrawCornered, and more. Unfortunately, rendering Triangle and Polygon outlines both cleanly and performantly is not simple.Once the OutlineDrawing is finished I will release 5.0 (hopefully).
900+ commits went into this release already, and here are the current Release Notes of what I have done so far:
Input System
InputGesturesystem added (LongPress, DoubleTap, etc.).InputDeviceSettingsstruct added for easier setup of the input system.InputActionSettingsstruct added for easier setup of input actions.Collision System
MotionTypeandBroadphaseTypeenums added to the collision system.Pathfinding
PathRequesthandling added.Savegame
ApplicationNameandSaveDirectory.Docs
Drawing
MaskedDrawing*functions added (Allows to only draw a shape or shape outline within a certain area or outside of a certain area).StripedDrawing*overloads added.Workflows
Core
ApplicationNameproperty added (used for setting up the savegame folder).FrameRateto the setFrameRateLimit.VSyncnow works better and no longer disrupts fullscreen (IfVSyncis enabled, theFrameRateLimitis automatically set to the refresh rate of the current monitor).Misc
PerlinNoiseclass added (thanks to Fixin).ResourcePackerproject added - Allows packing/ unpacking of resources to text or binary files.DebugLoggerclass added (allows to print information to console and/or to a log file).Example Scenes
All reactions