Releases: groverburger/g3d
Releases · groverburger/g3d
Version 1.5.2
- Obj loading can now optionally flip the
u
andv
coordinates when an obj file is loaded, which is useful when importing files from Blender - Obj loading functionality is now available from the g3d namespace with
g3d.loadObj(path, uFlip, vFlip)
which returns a table that can be passed intog3d.newModel()
- Obj loading is now slightly more simple and efficient
- g3d's vector library is now available from the g3d namespace under
g3d.vectors
- Updated the license to 2022
Version 1.5.1
- Models now handle all shader updates automatically
g3d.camera.updateViewMatrix()
,g3d.camera.updateProjectionMatrix()
,g3d.camera.updateOrthographicMatrix()
now no longer take shaders as arguments or update shaders- Removed
g3d.camera.sendMatricesToShader(shader)
Version 1.5
- Changed the coordinate system to +Z up right handed to better conform to other software and modelling programs, like Blender
- Updated the included obj files to conform to this new coordinate system
- Added
g3d.shaderpath
variable to make creating new shaders easier - Added
g3d.camera.sendMatricesToShader(shader)
to make updating shaders easier - Collision functionality is now separate from Model, and can now be run against any arbitrary list of vertices
- Removed some unused and buggy code from collisions.lua
- Simplified matrices.lua
- Simplified objloader.lua
- Fixed a bug with the vertex shader on platforms that are more strict with type coercion
Version 1.4
- Rendering to a canvas no longer flips everything upside-down
- Added the model:compress() function to make models take less space in ram
- The matrix module and its functions are more efficient
- Removed unused matrix functions
- g3d's fragment shader has been removed to make the creation of custom materials easier
- g3d's vertex shader is now in its own file called g3d.vert
- G3D_PATH is now stored in g3d as g3d.path
- g3d's vertex shader is now stored in g3d as g3d.shader
- The camera's up vector is now actually called up
- The setQuaternionRotation function has been split into setQuaternionRotation and setAxisAngleRotation
- Code style changes were made to camera and matrices
- Cleaner code for the sample main.lua, escape now closes the demo
Version 1.3
- Added collision functions
- Added basic quaternion rotation support
- Matrices are now a class so they do not have be re-allocated every frame
- Vectors no longer use tables so they do not have to be allocated to the heap
- Fixed bugs where g3d's camera wouldn't initialize its matrices correctly on startup
Version 1.2.1
Added the file conf.lua
with a basic depth setting, this should fix depth sorting issues for people who experience problems with their depth buffers not being automatically enabled.
Version 1.2
Took all of g3d out of the global scope. The g3d library is now loaded as module instead, only exposing the model
and camera
functionality by default.
More garbage collection optimization by allocating fewer tables in frequently called functions.
Version 1.1
Stable build as of January 15, 2021.
Change Log:
- Camera now initializes when the g3d module is imported.
- Unused and confusing collision code removed, users should depend on external libraries like CPML instead.
- Better naming of main 3D shader, now called G3DShader.
- Crashes with useful error message when attempting to load an obj with untriangulated faces.
- More primtive geometries included in the assets folder.
Version 1.0
Stable build as of November 19th, 2020.