Releases: bjornbytes/lovr
Releases · bjornbytes/lovr
Fluffy Cuttlefish
Add:
- Add
Material
objects. Materials are sets of colors and textures that can be applied to Models and Meshes. Models automatically load referenced materials and textures. - Add
Animator
objects 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 thegammacorrect
option toconf.lua
. - Add
lovr.math.gammaToLinear
andlovr.math.linearToGamma
. - Add
lovr.graphics.circle
. - Add
lovr.graphics.arc
. - Add
lovr.math.orientationToDirection
. - Add
Transform:getMatrix
andTransform:setMatrix
. - Add support for vertex colors and add the built in
lovrVertexColor
vertex attribute to shaders. - Add
Model:getMesh
. - Add
Mesh:drawInstanced
andModel:drawInstanced
. - Add
lines
andlinestrip
draw modes to Meshes. - Add
Shader:hasUniform
. - Add the ability to customize VR runtime preferences using the
headset.drivers
table inconf.lua
.
Change:
- Change
Shader:send
to accept more types of uniforms, including arrays. - Change
lovr.graphics.newTexture
to 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:raycast
that 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
Skybox
object. 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.isFile
andlovr.filesystem.isDirectory
functions can be used instead.
Cyber Pigeon
Add:
- Add support for Linux.
- Add official support for Oculus Touch.
- Add the
lua-enet
library 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
anisotropy
system limit returned bylovr.graphics.getSystemLimits
. - Add
lovr.graphics.getDefaultFilter
andlovr.graphics.setDefaultFilter
. - Add
lovr.math.lookAt
. - Add
lovr.math.random
,lovr.math.randomNormal
, andRandomGenerator
objects. - Add new controller buttons:
unknown
,trigger
,a
,b
,x
, andy
. - Add the
grip
ControllerAxis
. - Add
Controller:getHand
andControllerHand
. - Add
Controller:isTouched
. - Add
HeadsetOrigin
,lovr.headset.getOriginType
, andheadset.offset
option toconf.lua
. - Add
HeadsetType
. - Add
lovr.graphics.createWindow
andwindow
options toconf.lua
. - Add
lovrModel
andlovrView
uniform matrices for shaders. - Add
MatrixType
and 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.plane
to 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
less
tolequal
. - Change
lovr.graphics.translate
,lovr.graphics.rotate
,lovr.graphics.scale
, andlovr.graphics.transform
to accept an optionalMatrixType
as 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.setFont
when specifying a Font ofnil
. - Fix fullscreen framebuffer texture coordinates.
- Fix the error screen to use a more readable font size.
- Fix
lovr.headset.getType
to 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.getScissor
andlovr.graphics.setScissor
. - Remove
lovr.graphics.getColorMask
andlovr.graphics.setColorMask
. - Remove undocumented
Texture:bind
function.
0.7.1
Add:
- Add
lovr.graphics.cylinder
. - Add
lovr.graphics.sphere
. - Add
lovr.graphics.box
. - Add
Model:getAABB
. - Add
lovrNormalMatrix
uniform 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.transform
to accept 3 scale parameters instead of 1.
Fix:
- Fix
Mesh:getVertexMap
indices. - Fix bug where Meshes wouldn't unmap sometimes.
- Fix
Collider:getAABB
. - Fix
Collider:applyTorque
.
Remove:
- Remove
lovr.audio.getDopplerEffect
andlovr.audio.setDopplerEffect
.
Pesto Junkie
Add:
- Add
lovr.physics
module (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.controllerpressed
andlovr.controllerreleased
callbacks. - Add
lovr.focus
callback. - Add support for creating skyboxes from a single equirectangular image.
- Add
lovr --version
command line flag. - Add
lovr.getOS
. - Add
Source:getFalloff
andSource:setFalloff
. - Add
Source:getVolumeLimits
andSource:setVolumeLimits
. - Add
Source:getCone
andSource:setCone
. - Add
Source:isRelative
andSource:setRelative
. - Add
Source:getVelocity
andSource:setVelocity
. - Add
lovr.audio.getVelocity
andlovr.audio.setVelocity
(called automatically inlovr.run
). - Add
lovr.audio.getDopplerEffect
andlovr.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.mount
andlovr.filesystem.unmount
. - Add
Mesh:isAttributeEnabled
andMesh:setAttributeEnabled
. - Add
lovr.headset.isMirrored
andlovr.headset.setMirrored
. The initial value can be set inconf.lua
(t.headset.mirrored
). - Add parameters to
lovr.graphics.print
for aligning text horizontally and vertically. - Add
Font:getPixelDensity
andFont:setPixelDensity
for controlling scales of fonts independent of units. - Add
Font:getWidth
,Font:getHeight
,Font:getAscent
,Font:getDescent
, andFont:getBaseline
. - Add
lovr.graphics.getBlendMode
andlovr.graphics.setBlendMode
. - Add
lovr.graphics.getSystemLimits
for returning the maximum point size, the maximum texture size, and the maximum supported msaa level for render textures.
Change:
- Rename
Buffer
toMesh
. lovr.graphics.scale
accepts a single argument that will scale all 3 axes.lovr.graphics.rotate
defaults to rotating around the y axis.- Allow sending
Transform
s tomat4
uniforms in shaders. - Framebuffers now clear their depth buffer when created.
- Rename
Source:getOrientation
andSource:setOrientation
toSource:getDirection
andSource:setDirection
. - Allow
lovr.headset.getEyePosition
to acceptnil
as a parameter. - Change the signature of
lovr.graphics.print
. - Change functions that created resources from files to accept
Blob
s.
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:getOrientation
andSource:setOrientation
(renamed togetDirection
andsetDirection
). - 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.math
module andTransform
objects. - Add
lovr.graphics.transform
. - Change
lovr.graphics.cube
,Model:draw
, andBuffer:draw
to accept aTransform
. - Change
lovr.graphics.newModel
to accept aTexture
to 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.cube
andlovr.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.audio
module. - Add support for array uniforms in Shaders.
- Fix
lovr.headset.getOrientation
andController:getOrientation
Purple Bear
- Add
lovr.event
module. - Add
lovr.filesystem
module. - Add
lovr.graphics
module. - Add
lovr.headset
module. - Add
lovr.timer
module.