Releases: leikareipa/retro-ngon
Releases · leikareipa/retro-ngon
alpha.8
Changelog:
- Performance up by 15-20%
- Rasterizer no longer traces the polygon's entire outline before filling in the horizontal pixel spans; instead, interpolates between edges
alpha.7
Changelog:
- Face normals
- Backface culling
- Performance up by 30-50% (esp. in scenes with heavy use of tiled textures or with large occluding polygons)
- More render output tests
alpha.6
Changelog:
- Increased performance by roughly 30%
- Added full viewport clipping
- Added per-pixel depth buffering (optional)
- Added perspective-correct texturing (optional)
- Added handling of non-unit-range UV coordinates (0 > x > 1)
- Negative values will flip the texture
- Values absolutely larger than 1 will wrap around
- PNG2JSON: Added optional toggle to set which source pixel color to interpret as transparent
- Laxed requirements of immutability on some data structures
- E.g. meshes' rotation values are now mutable, so the mesh object doesn't need to be re-created every time
Known new issues:
- The renderer may fail - either fully or partially - to fill in the last row of pixels on the screen
alpha.5
Changelog:
- Interpolated near-plane clipping
- Auxiliary render buffers
- API reference documentation
- Inlining of asserts for less reduction in performance
alpha.4
Changelog:
- More documentation
- Affine texture-mapping
- A single distributable source file
- Some improvement to n-gon clipping: entire n-gons are no longer clipped against the near plane, as only individual vertices now get dropped if they clip, leading to a less jarring visual effect. Still no interpolation to create new vertices at the point of clipping, though
- PNG2JSON has the option to export to raw RGBA-8888
- Mesh(), ngon(), and render() now take most of their parameters as properties of an object you pass them
- You can now get some performance information as a return object from render() - how long the rendering took, etc. It's undocumented, at the moment, but you can look at the source to see what render() returns
- Performance is probably a little worse than in alpha.3
Notes:
- The Blender export script is still bad
- Asset workflow is so-so
alpha.3
Changelog:
- More documentation on how to use the renderer
- New 3d asset converters: Blender export script, PNG2JSON
- Textures have alpha
- Textures accept Base64-encoded 16-bit color pixels, for reduced file size
- Fixed camera rotation in render()
- Near plane is clipped against prior to perspective division, reducing artifacts from objects located behind the camera
- An n-gon's base color now modulates its texel colors
- Sin/cos use a lookup table, for added retro vertex wobble
- Performance is somewhat lower than in alpha.2
alpha.2
Changelog:
- Notable speedup to textured rendering
- Cleaned up the directory structure
- Added a performance tester
- Rewrote the unit tester
Notable lacks:
- No frustum clipping yet, so immersive 3d scenes aren't possible
- No alpha in textures
- Asset management still in its infancy
alpha.1
Initial release.