Skip to content

Very Velociraptor

Compare
Choose a tag to compare
@bjornbytes bjornbytes released this 15 Oct 01:22

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 and frequency parameters to lovr.headset.vibrate.
  • Add lovr.headset.getDisplayMask.
  • Add lovr.headset.isTracked.
  • Add support for hexcode colors.
  • Add vec2 and vec4 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 to lovr.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 and lovr.graphics.tock for accurate GPU profiling.
  • Add getPose and setPose functions to lovr.audio, Source, and Collider.
  • Add Model:pose and Model: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, and timers 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, and getAnimationCount to Model.

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 a Blob for binary vertex data.
  • Change fake headset driver to desktop.
  • Change TextureData:getPixel/setPixel to support more formats: rgb, r32f, rg32f, rgba32f.
  • Change lovr.graphics.getSystemLimits to lovr.graphics.getLimits.
  • Change lovr.graphics.getSupported to lovr.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 a Blob.
  • Change lovr.headset.getType to lovr.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 a multicanvas shader flag.
  • Change Source:getDirection, :setDirection to Source: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 the Model:animate function.
  • Remove Controller objects, equivalent functions that accept a Device are now in lovr.headset.
  • Remove lovr.headset.isMounted, use lovr.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 to lovr.math.
  • Remove t.gammacorrect conf flag, all rendering is gamma correct now.