Skip to content

Releases: groverburger/g3d

Version 1.5.2

03 May 04:05
Compare
Choose a tag to compare
  • Obj loading can now optionally flip the u and v 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 into g3d.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

23 Dec 22:15
Compare
Choose a tag to compare
  • 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

23 Dec 20:53
Compare
Choose a tag to compare
  • 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

14 Jun 03:43
Compare
Choose a tag to compare
  • 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

20 Feb 00:58
Compare
Choose a tag to compare
  • 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

21 Jan 09:56
Compare
Choose a tag to compare

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

20 Jan 22:25
Compare
Choose a tag to compare

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

16 Jan 01:27
Compare
Choose a tag to compare

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

20 Nov 02:27
Compare
Choose a tag to compare

Stable build as of November 19th, 2020.