|
@@ -304,7 +304,7 @@ Changelog
|
|
|
|
|
|
#### Filesystem
|
|
|
|
|
|
-- Add argument to `lovr.filesystem.load` to control whether text/binary chunks can be loaded.
|
|
|
+- Add argument to `lovr.filesystem.load` to restrict chunks to text/binary.
|
|
|
|
|
|
#### Graphics
|
|
|
|
|
@@ -327,7 +327,7 @@ Changelog
|
|
|
- Add a variant of `Pass:send` that takes tables for uniform buffers.
|
|
|
- Add `Buffer:getData` and `Buffer:newReadback`.
|
|
|
- Add `Texture:getPixels/setPixels/clear/newReadback/generateMipmaps`.
|
|
|
-- Add debug info to shaders when `t.graphics.debug` is set, allowing line-by-line debugging in e.g. RenderDoc.
|
|
|
+- Add support for stepping through shaders in e.g. RenderDoc when `t.graphics.debug` is set.
|
|
|
- Add `lovr.graphics.is/setTimingEnabled` to record GPU durations for each Pass object.
|
|
|
- Add `lovr.graphics.newPass`.
|
|
|
- Add `Pass:setCanvas` and `Pass:setClear`.
|
|
@@ -336,12 +336,12 @@ Changelog
|
|
|
- Add `Pass:getScissor` and `Pass:getViewport`.
|
|
|
- Add `Pass:barrier`.
|
|
|
- Add `Pass:beginTally/finishTally` and `Pass:get/setTallyBuffer`.
|
|
|
-- Add support for `#include`s in shader code.
|
|
|
+- Add support for `#include` in shader code.
|
|
|
|
|
|
#### Headset
|
|
|
|
|
|
- Add `lovr.headset.getPassthrough/setPassthrough/getPassthroughModes`.
|
|
|
-- Add support for more headsets in Android builds (Quest, Pico, Vive Focus, etc. all work using a single APK).
|
|
|
+- Add support for more headsets in Android APKs (Quest, Pico, Vive Focus all work).
|
|
|
- Add support for controller input on Pico Neo 3 and Pico Neo 4 devices.
|
|
|
- Add support for controller input on Magic Leap 2.
|
|
|
- Add `hand/*/pinch`, `hand/*/poke`, and `hand/*/grip` Devices.
|
|
@@ -358,7 +358,7 @@ Changelog
|
|
|
|
|
|
#### Math
|
|
|
|
|
|
-- Add capitalized vector globals for creating permanent vectors (`Vec2`, `Vec3`, `Vec4`, `Quat`, `Mat4`).
|
|
|
+- Add capitalized globals for creating permanent vectors (`Vec2`, `Vec3`, `Vec4`, `Quat`, `Mat4`).
|
|
|
- Add `Vec3:transform`, `Vec4:transform`, and `Vec3:rotate`.
|
|
|
- Add vector constants (`vec3.up`, `vec2.one`, `quat.identity`, etc.).
|
|
|
- Add `Mat4:getTranslation/getRotation/getScale/getPose`.
|
|
@@ -389,26 +389,26 @@ Changelog
|
|
|
### Change
|
|
|
|
|
|
- Change `lovr.graphics.submit` to no longer invalidate Pass objects.
|
|
|
-- Change `lovr.math.vec2/vec3/vec4/quat/mat4` to be callable metatables (allows adding custom methods).
|
|
|
+- Change vector constructors to be callable metatables (allows adding custom methods).
|
|
|
- Change max size of vector pool to hold 16 million numbers instead of 64 thousand.
|
|
|
- Change `Pass:setBlendMode`/`Pass:setColorWrite` to take an optional attachment index.
|
|
|
- Change OpenXR driver to throttle update loop when headset session is idle.
|
|
|
-- Change `lovr.graphics.newModel` to work when the asset references other files with paths starting with `./`.
|
|
|
-- Change `lovr.graphics.newModel` to error when the asset references other files using absolute paths.
|
|
|
-- Change `lovr.graphics.newBuffer` to take the format first instead of the length/data (old variant still works).
|
|
|
+- Change `lovr.graphics.newModel` to work when the asset references paths starting with `./`.
|
|
|
+- Change `lovr.graphics.newModel` to error when the asset references paths starting with `/`.
|
|
|
+- Change `lovr.graphics.newBuffer` to take format first instead of length/data.
|
|
|
- Change `Pass:setStencilWrite` to only set the "stencil pass" action when given a single action, instead of all 3.
|
|
|
- Change `lovr.graphics` to show a message box on Windows when Vulkan isn't supported.
|
|
|
- Change plugin loader to call `JNI_OnLoad` on Android so plugins can use JNI.
|
|
|
- Change `t.headset.overlay` to also support numeric values to control overlay sort order.
|
|
|
- Change `World:isCollisionEnabledBetween` to take `nil`s, which act as wildcard tags.
|
|
|
- Change `Mat4:__tostring` to print matrix components.
|
|
|
-- Change `World:raycast` callback to prevent subsequent raycast checks when returning `false`.
|
|
|
+- Change `World:raycast` to prevent subsequent checks when the callback returns `false`.
|
|
|
- Change `lovr.system.isKeyDown` to take multiple keys.
|
|
|
- Change `lovr.headset.isDown/isTouched` to return nil instead of nothing.
|
|
|
- Change `lovr.headset.getTime` to always start at 0 to avoid precision issues.
|
|
|
- Change Pass viewport and scissor to apply to all draws in the Pass, instead of per-draw.
|
|
|
-- Change nogame/error screen to use a transparent background color on AR/passthrough headsets.
|
|
|
-- Change headset simulator to use projected mouse position for hand pose (scrollwheel controls distance).
|
|
|
+- Change nogame/error screen to use a transparent background on AR/passthrough headsets.
|
|
|
+- Change VR simulator to use projected mouse position for hand pose (scroll controls distance).
|
|
|
- Change `lovr.headset.getDriver` to also return the OpenXR runtime name.
|
|
|
- Change `pitchable` flag in `lovr.audio.newSource` to default to true.
|
|
|
- Change `Buffer:setData`, `Buffer:clear`, and `Buffer:getPointer` to work on permanent Buffers.
|
|
@@ -418,7 +418,7 @@ Changelog
|
|
|
### Fix
|
|
|
|
|
|
- Fix `lovr.physics.newBoxShape` always creating a cube.
|
|
|
-- Fix several issues where VRAM would quickly run out when creating Textures, or not get freed properly.
|
|
|
+- Fix several issues related to VRAM leaks when creating Textures.
|
|
|
- Fix issue on Linux where the Vulkan library wouldn't get loaded properly.
|
|
|
- Fix macOS to not require the Vulkan SDK to be installed.
|
|
|
- Fix recentering on Quest.
|
|
@@ -427,17 +427,17 @@ Changelog
|
|
|
- Fix `MeshShape` not working properly with some OBJ models.
|
|
|
- Fix `Model:getNodeScale` to properly return the scale instead of the rotation.
|
|
|
- Fix `Mat4:set` and `Mat4` constructors to properly use TRS order when scale is given.
|
|
|
-- Fix `lovr.graphics.newShader` to work with `nil` shader code (uses code from `unlit` shader).
|
|
|
-- Fix `lovr.graphics` to warn instead of crash if `t.graphics.debug` is set but the validation layers aren't installed.
|
|
|
+- Fix `lovr.graphics.newShader` to work with `nil` shader code (uses `unlit` shader).
|
|
|
+- Fix crash when `t.graphics.debug` is set but the validation layers aren't installed.
|
|
|
- Fix a few memory leaks with Readbacks, Fonts, and compute Shaders.
|
|
|
- Fix `Pass:setProjection` to use an infinite far plane by default.
|
|
|
- Fix `Texture:hasUsage`.
|
|
|
- Fix `Pass:point` / `Pass:line` to work with temporary vectors.
|
|
|
- Fix `lovr.event.quit` to properly exit on Android/Quest.
|
|
|
-- Fix mounted zip archives sometimes not working properly with `lovr.filesystem.getDirectoryItems`.
|
|
|
+- Fix mounted zip paths sometimes not working with `lovr.filesystem.getDirectoryItems`.
|
|
|
- Fix issue where temporary vectors didn't work in functions that accept colors.
|
|
|
- Fix crash when rendering multiple identical torus shapes in the same Pass.
|
|
|
-- Fix `lovr.graphics.newShader` to error properly if the push constants block is too big for the GPU.
|
|
|
+- Fix `lovr.graphics.newShader` to error properly if the push constants block is too big.
|
|
|
- Fix default `lovr.log` to not print second `string.gsub` result.
|
|
|
- Fix issue where `lovr.data.newImage` wouldn't initialize empty `Image` object pixels to zero.
|
|
|
- Fix `Model:getMaterial` to work when given a string.
|
|
@@ -481,7 +481,7 @@ Changelog
|
|
|
|
|
|
- Remove `transfer` passes (methods on `Buffer` and `Texture` objects can be used instead).
|
|
|
- Remove `Pass:copy` (use `Buffer:setData` and `Texture:setPixels`).
|
|
|
-- Remove `Pass:read` (use `Buffer:getData/newReadback` and `Texture:getPixels/newReadback`).
|
|
|
+- Remove `Pass:read` (use `Buffer:newReadback` and `Texture:newReadback`).
|
|
|
- Remove `Pass:clear` (use `Buffer:clear` and `Texture:clear`).
|
|
|
- Remove `Pass:blit` (use `Texture:setPixels`).
|
|
|
- Remove `Pass:mipmap` (use `Texture:generateMipmaps`).
|