Mushroom Detector
Community
- LÖVR was ported to Android! See
lovr-oculus-mobile
from @mcclure. - There's a new live-reloading wrapper,
lodr
, from @mcclure. - See
lovr-native-example
for easily integrating C code into a project. - The documentation has a new version selector dropdown.
- The WebAssembly build is down to 1MB!
- New example: Spectator Camera.
Framework
Add:
- Add an Android port, with official support for the Oculus Go and Gear VR.
- Add support for the Oculus Desktop SDK (LibOVR).
- Add automatic batching and instancing of draw calls.
- Add
vec3
,mat4
,quat
, andPool
objects tolovr.math
. - Add support for Vive trackers (they are exposed as Controllers).
- Add
go
andgear
HeadsetTypes. - Add
oculus
andoculusmobile
HeadsetDrivers. - Add the
lovr.mirror
callback for custom rendering to the desktop window. - Add
Controller:getVelocity
andController:getAngularVelocity
. - Add
Curve
objects for working with Bézier curves. - Add
Canvas:getDepthTexture
. - Add
lovr.headset.getBoundsGeometry
(again). - Add
lovr.headset.getMirrorTexture
. - Add
lovr.graphics.discard
. - Add
lovr.graphics.flush
. - Add
lovr.graphics.setAlphaSampling
andlovr.graphics.getAlphaSampling
. - Add
lovr.graphics.setProjection
. - Add
lovr.graphics.getPixelDensity
. - Add
lovr.graphics.hasWindow
. - Add
ubyte
,short
,ushort
, anduint
types for Mesh attributes. - Add
Font:hasGlyphs
. - Add
Font:getRasterizer
. - Add
Font:isFlipEnabled
andFont:setFlipEnabled
. - Add
ShaderBlock:read
. - Add
lovr.filesystem.getApplicationId
. - Add the
--root
command line argument to run a project from a directory inside an archive. - Add a default HTML file used in the emscripten build, so you don't need to write it yourself.
Change:
- Change API functions to accept vectors and matrices in addition to numbers, where relevant.
- Change some matrix and vector math functions to use SIMD intrinsics.
- Change
lovr.headset.setMirrored
and thet.headset.mirrored
conf.lua flag to take a HeadsetEye. - Change the mirror window to use the currently active color and shader.
- Change
lovr.graphics.setBlendMode
to acceptnil
to disable blending. - Change
lovr.graphics.triangle
to take multiple triangles to draw. - Change
lovr.graphics.cylinder
to take position, rotation, and scale (length) arguments. - Change
lovr.graphics.newShaderBlock
to take aBlockType
instead of awritable
flag. - Change
lovr.graphics.newMesh
andlovr.graphics.newShaderBlock
to accept areadable
flag. - Change
lovr.graphics.fill
to accept a subregion of the input Texture to use. - Change
emissive
colors in Materials to default to black instead of white. - Change
lovr.graphics.getSystemLimits
to return the maximum ShaderBlock size (blocksize
). - Change
lovr.filesystem.mount
to accept a path inside the archive to mount. - Change the
depth
flag oflovr.graphics.newCanvas
to additionally accept a table withformat
andreadable
keys for creating a Canvas with a readable depth buffer. - Change
Animator
functions to accept both animation names and indices. - Change
DrawMode
toDrawStyle
andMeshDrawMode
toDrawMode
(enum values are unchanged). - Change
DepthFormat
to be merged intoTextureFormat
(enum values are unchanged). - Change
lovr.graphics.newCanvas
to create Textures with theclamp
TextureWrap. - Change
Font:setPixelDensity
to acceptnil
to reset the density to the default. - Change the
computeshaders
graphics feature tocompute
. - Change the default font to Varela Round.
- Change
lovr.getOS
to returnAndroid
on Android. - Change build system to be more modular and configurable. Modules can be individually included or excluded, and it's possible to choose whether to use libraries already on the system or compile them from the
deps
folder.
Fix:
- Fix a bug where
lovr.filesystem.unmount
was not exposed. - Fix a memory corruption when using
Channel:peek
. - Fix a bug where Microphones wouldn't clean up properly when they were destroyed.
- Fix fonts to render tabs as four spaces instead of...whatever they were doing.
Remove:
- Remove
Transform
objects (usemat4
instead). - Remove support for importing FBX models (
fbx2gltf
can be used to convert to glTF). - Remove
VertexData
. - Remove most of the
ModelData
API. - Remove
Model:getMesh
. - Remove
replace
BlendMode. - Remove
Mesh:drawInstanced
andModel:drawInstanced
(draw
takes an instance count now). - Remove
lovr.headset.setMirrored
,lovr.headset.isMirrored
, and thet.headset.mirror
flag. - Remove variant of
lovr.headset.getPose
(and getPosition/getOrientation) that took a HeadsetEye. - Remove
ShaderBlock:isWritable
(useShaderBlock:getType
). - Remove
Canvas:getDepthFormat
(useCanvas:getDepthTexture
instead).