Releases: bjornbytes/lovr
Releases · bjornbytes/lovr
v0.9.1
Add:
- Add
Canvasobjects. - Add floating point texture formats.
- Add official support for Windows Mixed Reality headsets through OpenVR.
- Add
lovr.graphics.stencil,lovr.graphics.getStencilTest, andlovr.graphics.setStencilTest. - Add
lovr.headset.getPoseandController:getPose. - Add
lovr.graphics.getStats.
Change:
- Change error messages to be better when requiring or loading files that don't exist.
Fix:
- Fix a bug where updating array uniforms wasn't working.
- Fix a bug where animations had their weight initially set to 0.
- Fix a bug where controller render models weren't working properly.
Remove:
- Remove
Texture:renderToand variants oflovr.graphics.newTexturethat created framebuffers. - Remove
lovr.headset.getEyePosition. An HeadsetEye can now optionally be specified as the first argument tolovr.headset.getPosition,lovr.headset.getOrientation, andlovr.headset.getPose.
Fluffy Cuttlefish
Add:
- Add
Materialobjects. Materials are sets of colors and textures that can be applied to Models and Meshes. Models automatically load referenced materials and textures. - Add
Animatorobjects for skeletal animation playback. - Add fallback mouse/keyboard controls used when VR hardware is not present.
- Add support for loading glTF models.
- Add gamma correct rendering,
lovr.graphics.isGammaCorrect, and thegammacorrectoption toconf.lua. - Add
lovr.math.gammaToLinearandlovr.math.linearToGamma. - Add
lovr.graphics.circle. - Add
lovr.graphics.arc. - Add
lovr.math.orientationToDirection. - Add
Transform:getMatrixandTransform:setMatrix. - Add support for vertex colors and add the built in
lovrVertexColorvertex attribute to shaders. - Add
Model:getMesh. - Add
Mesh:drawInstancedandModel:drawInstanced. - Add
linesandlinestripdraw modes to Meshes. - Add
Shader:hasUniform. - Add the ability to customize VR runtime preferences using the
headset.driverstable inconf.lua.
Change:
- Change
Shader:sendto accept more types of uniforms, including arrays. - Change
lovr.graphics.newTextureto accept 6 arguments to create a cube map texture. - Change functions that deal with colors to use a floating point range of 0 - 1 instead of 0 - 255.
Fix:
- Fix
Controller:getHand,lovr.graphics.setPointSize, HRTF audio, and ZIP archive mounting for WebVR. - Fix a bug with
World:raycastthat occurred when the ray hit multiple things. - Fix loading and rendering of more complicated models with node hierarchies and multiple materials.
- Fix a bug with text rendering that caused flickering.
- Fix Shader error messages to include correct line numbers.
- Fix crash on Windows that occurred when paths had non ASCII characters.
Remove:
- Remove
Model:setTexture,Model:getTexture,Mesh:setTexture, andMesh:getTexture. They have been replaced byModel:setMaterial,Model:getMaterial,Mesh:setMaterial, andMesh:getMaterial. - Remove
Skyboxobject. It has been replaced withlovr.graphics.skybox. - Remove the ability to pass Textures as the optional first argument of drawing primitives (Materials can be passed instead).
- Remove
lovr.filesystem.exists. Thelovr.filesystem.isFileandlovr.filesystem.isDirectoryfunctions can be used instead.
Cyber Pigeon
Add:
- Add support for Linux.
- Add official support for Oculus Touch.
- Add the
lua-enetlibrary for multiplayer networking. - Add signed distance field font rendering.
- Add support for compressed textures (DXT1, DXT3, and DXT5).
- Add texture mipmaps.
- Add support for trilinear and anisotropic texture sampling.
- Add
anisotropysystem limit returned bylovr.graphics.getSystemLimits. - Add
lovr.graphics.getDefaultFilterandlovr.graphics.setDefaultFilter. - Add
lovr.math.lookAt. - Add
lovr.math.random,lovr.math.randomNormal, andRandomGeneratorobjects. - Add new controller buttons:
unknown,trigger,a,b,x, andy. - Add the
gripControllerAxis. - Add
Controller:getHandandControllerHand. - Add
Controller:isTouched. - Add
HeadsetOrigin,lovr.headset.getOriginType, andheadset.offsetoption toconf.lua. - Add
HeadsetType. - Add
lovr.graphics.createWindowandwindowoptions toconf.lua. - Add
lovrModelandlovrViewuniform matrices for shaders. - Add
MatrixTypeand allow transform stack functions to manipulate either the model or the view matrix.
Change:
- Change emscripten build to compile to WebAssembly by default.
- Change
lovr.graphics.planeto take an angle/axis orientation instead of a normal vector. - Change
FilterMode. The new values arenearest,bilinear,trilinear, andanisotropic. - Change the default depth test from
lesstolequal. - Change
lovr.graphics.translate,lovr.graphics.rotate,lovr.graphics.scale, andlovr.graphics.transformto accept an optionalMatrixTypeas the first parameter to control whether the model matrix or the view matrix is affected. - Change the version of OpenVR to 1.0.9.
Fix:
- Fix bug where using custom fonts could cause a crash.
- Fix crash when the graphics module was disabled.
- Fix
lovr.graphics.setFontwhen specifying a Font ofnil. - Fix fullscreen framebuffer texture coordinates.
- Fix the error screen to use a more readable font size.
- Fix
lovr.headset.getTypeto return correct values. - Fix the error reporting mechanism to capture many more kinds of errors and show the error screen for them instead of printing the message to the console and closing the window.
- Fix several graphics performance issues.
- Fix the normal matrix passed to shaders.
- Fix issues with nonuniform scaling transformations.
Remove:
- Remove
lovr.graphics.getScissorandlovr.graphics.setScissor. - Remove
lovr.graphics.getColorMaskandlovr.graphics.setColorMask. - Remove undocumented
Texture:bindfunction.
0.7.1
Add:
- Add
lovr.graphics.cylinder. - Add
lovr.graphics.sphere. - Add
lovr.graphics.box. - Add
Model:getAABB. - Add
lovrNormalMatrixuniform to shaders.
Change:
- Change the minimum required OpenGL version from 2.1 to 3.3.
- Change the minimum required OpenGL ES version from 2.0 to 3.0.
- Change the minimum required WebGL version from 1.0 to 2.0.
- Change
lovr.math.newTransform,Transform:setTransformation, andlovr.graphics.transformto accept 3 scale parameters instead of 1.
Fix:
- Fix
Mesh:getVertexMapindices. - Fix bug where Meshes wouldn't unmap sometimes.
- Fix
Collider:getAABB. - Fix
Collider:applyTorque.
Remove:
- Remove
lovr.audio.getDopplerEffectandlovr.audio.setDopplerEffect.
Pesto Junkie
Add:
- Add
lovr.physicsmodule (YES!) - Add
lovr.timer.getAverageDelta
Change:
- Change the window to no longer be resizable.
- Change the window to have an improved title.
- Improve error messages in several places.
Fix:
- Fix unintended interactions between window mirroring and shaders.
- Fix memory leak in
require. - Fix lack of clean up when using Mesh vertex maps.
- Fix occasional crash when transform stack overflows.
- Fix WebVR rendering bug when drawing controllers.
Unstoppable Okapi
Add:
- Add support for JSON encoding and decoding using lua-cjson.
Change:
- Add support for additional OpenGL versions including OpenGL ES.
- Add support for running in a web browser with WebVR.
Fix:
- Fix potential crash when loading equirectangular skyboxes.
- Fix crash on windows if the save directory does not exist.
Remove:
- Remove headset bounds visibility functions.
Psychotic Octopus
Add:
- Add a no game screen.
- Add an error screen.
- Add
lovr.controllerpressedandlovr.controllerreleasedcallbacks. - Add
lovr.focuscallback. - Add support for creating skyboxes from a single equirectangular image.
- Add
lovr --versioncommand line flag. - Add
lovr.getOS. - Add
Source:getFalloffandSource:setFalloff. - Add
Source:getVolumeLimitsandSource:setVolumeLimits. - Add
Source:getConeandSource:setCone. - Add
Source:isRelativeandSource:setRelative. - Add
Source:getVelocityandSource:setVelocity. - Add
lovr.audio.getVelocityandlovr.audio.setVelocity(called automatically inlovr.run). - Add
lovr.audio.getDopplerEffectandlovr.audio.setDopplerEffect. - Add
lovr.audio.isSpatialized. - Add
lovr.filesystem.load. - Add
lovr.filesystem.createDirectory. - Add
lovr.filesystem.getAppdataDirectory. - Add
lovr.filesystem.getDirectoryItems. - Add
lovr.filesystem.getLastModified. - Add
lovr.filesystem.getSaveDirectory. - Add
lovr.filesystem.getSize. - Add
lovr.filesystem.isFused. - Add
lovr.filesystem.newBlob. - Add
lovr.filesystem.remove. - Add
lovr.filesystem.mountandlovr.filesystem.unmount. - Add
Mesh:isAttributeEnabledandMesh:setAttributeEnabled. - Add
lovr.headset.isMirroredandlovr.headset.setMirrored. The initial value can be set inconf.lua(t.headset.mirrored). - Add parameters to
lovr.graphics.printfor aligning text horizontally and vertically. - Add
Font:getPixelDensityandFont:setPixelDensityfor controlling scales of fonts independent of units. - Add
Font:getWidth,Font:getHeight,Font:getAscent,Font:getDescent, andFont:getBaseline. - Add
lovr.graphics.getBlendModeandlovr.graphics.setBlendMode. - Add
lovr.graphics.getSystemLimitsfor returning the maximum point size, the maximum texture size, and the maximum supported msaa level for render textures.
Change:
- Rename
BuffertoMesh. lovr.graphics.scaleaccepts a single argument that will scale all 3 axes.lovr.graphics.rotatedefaults to rotating around the y axis.- Allow sending
Transforms tomat4uniforms in shaders. - Framebuffers now clear their depth buffer when created.
- Rename
Source:getOrientationandSource:setOrientationtoSource:getDirectionandSource:setDirection. - Allow
lovr.headset.getEyePositionto acceptnilas a parameter. - Change the signature of
lovr.graphics.print. - Change functions that created resources from files to accept
Blobs.
Fix:
- Fix coordinate system not resetting when calling
lovr.graphics.reset. - Explicitly error when attempting to position a stereo Source.
- Fix a few edge cases in reference counting that resulted in crashes.
- Fix a crash if the error handler caused an error.
Remove:
- Remove
Source:getOrientationandSource:setOrientation(renamed togetDirectionandsetDirection). - Remove support for several 3D model file formats to reduce executable size. The supported formats are now OBJ, FBX, and COLLADA.
- Remove support for several physfs archive formats to reduce executable size. The only supported format is now ZIP files.
- Remove
lovr.graphics.setProjection.
Cosmic Panda
- Add
lovr.mathmodule andTransformobjects. - Add
lovr.graphics.transform. - Change
lovr.graphics.cube,Model:draw, andBuffer:drawto accept aTransform. - Change
lovr.graphics.newModelto accept aTextureto apply to the model as the second argument. - Add support for font rendering.
- Fix memory allocation issue in
lovr.event.poll. - Add
Buffer:getVertexFormat. - Add
lovr.headset.getEyePosition(eye). - Fix crash when SteamVR is unavailable.
- Fix Skybox rendering when culling is enabled.
Electric Moose
- Upgrade to OpenVR 1.0.5.
- Add support for framebuffers using
Texture:renderTo. - Add functions for drawing textured primitives by passing a Texture instead of a DrawMode to
lovr.graphics.cubeandlovr.graphics.plane. - Add shorthand for drawing fullscreen quads with
lovr.graphics.plane(texture). - Mirror the headset display to the window on the desktop.
Molten Kitten
- Add
lovr.audiomodule. - Add support for array uniforms in Shaders.
- Fix
lovr.headset.getOrientationandController:getOrientation