Very Velociraptor
Add:
- Add support for the Oculus Quest.
- Add support for Valve Index controllers.
- Add support for SteamVR actions.
- Add support for Leap Motion.
- Add an OpenXR headset driver.
- Add a new
standard
PBR shader. - Add the ability to have multiple headset tracking drivers active at once.
- Add
strength
andfrequency
parameters tolovr.headset.vibrate
. - Add
lovr.headset.getDisplayMask
. - Add
lovr.headset.isTracked
. - Add support for hexcode colors.
- Add
vec2
andvec4
objects. - Add vector properties and vector swizzles.
- Add support for loading KTX and ASTC textures.
- Add
TextureData:paste
for copying between TextureData objects. - Add
TextureData:getFormat
. - Add default hotkeys: Escape to quit and F5 to reload, configurable using the
t.hotkeys
conf flag. - Add
flags
argument tolovr.graphics.newShader
for configuring shaders without writing GLSL. - Add
DefaultShader
enum for creating instances of built-in shaders. - Add an
animated
shader flag to automatically make shaders animated. - Add
lovr.graphics.tick
andlovr.graphics.tock
for accurate GPU profiling. - Add
getPose
andsetPose
functions tolovr.audio
,Source
, andCollider
. - Add
Model:pose
andModel:getNodePose
functions for modifying individual joints in a Model. - Add support for cubic spline animation keyframe interpolation in glTF assets.
- Add support for embedded base64 data in glTF assets.
- Add
astc
,dxt
,instancedstereo
,multiview
, andtimers
GraphicsFeatures. - Add experimental tup build system as an alternative to CMake.
- Add
lovr.math.drain
function for freeing temporary vectors. - Add a
t.window.resizable
flag to make the mirror window resizable. - Add a
t.window.vsync
hint to control vsync (may be ignored if necessary for proper VR timing). - Add
getNodeCount
,getMaterialCount
, andgetAnimationCount
toModel
.
Change:
- Change mobile renderer to use optimized multiview rendering.
- Change all rendering to stall the GPU way less. Everything is faster.
- Change Android to use LuaJIT by default.
- Change vectors to be temporary by default, use
new
-prefixed functions for permanent vectors. - Change
lovr.filesystem.read
to accept and return the number of bytes read. - Change
lovr.filesystem
to follow symbolic links. - Change
lovr.graphics.newMesh
to accept aBlob
for binary vertex data. - Change
fake
headset driver todesktop
. - Change
TextureData:getPixel
/setPixel
to support more formats:rgb
,r32f
,rg32f
,rgba32f
. - Change
lovr.graphics.getSystemLimits
tolovr.graphics.getLimits
. - Change
lovr.graphics.getSupported
tolovr.graphics.getFeatures
. - Change
lovr.graphics.plane
to accept optional uv coordinates to draw a subregion of a Texture. - Change
Font:getWidth
to also return the number of wrapped lines. - Change
lovr.thread.newThread
to accept a filename or aBlob
. - Change
lovr.headset.getType
tolovr.headset.getName
, returning the raw headset name string. - Change
lovr.graphics.circle
size argument to be a radius instead of a diameter. - Change
MULTICANVAS
shader define to be amulticanvas
shader flag. - Change
Source:getDirection
,:setDirection
toSource:getOrientation
,setOrientation
. - Change nogame screen to use a signed distance field shader instead of an image (!).
Fix:
- Fix problems when creating Blobs with a negative size.
- Fix many bugs or missing features with the glTF importer.
- Fix issue where refcounting was not thread safe.
- Fix vertex winding order of cylinders and spheres.
- Fix an issue where the error screen wouldn't show up when the headset module was disabled.
- Fix console output on Windows.
Remove:
- Remove
Animator
objects, they are replaced by theModel:animate
function. - Remove
Controller
objects, equivalent functions that accept a Device are now inlovr.headset
. - Remove
lovr.headset.isMounted
, uselovr.headset.isDown('head', 'proximity')
instead. - Remove controller-related callbacks (
controlleradded/removed/pressed/released
). - Remove orientation arguments from
lovr.graphics.skybox
, rotation is automatically applied. - Remove
Pool
objects, there is a default temporary vector Pool built in tolovr.math
. - Remove
t.gammacorrect
conf flag, all rendering is gamma correct now.