Commit Graph

1209 Commits

Author SHA1 Message Date
bjorn f43272adc3 lovr.headset.getPose; Controller:getPose;
Remove lovr.headset.getEyePosition.  It is now an optional first
argument to the other lovr.headset functions.
2017-12-17 22:20:29 -08:00
bjorn 1d20e49829 Move api header; 2017-12-10 12:41:43 -08:00
bjorn 72aa7e858a Rename loaders to data; 2017-12-10 12:41:43 -08:00
bjorn c3fc7b61fd Fix crash with lovr.graphics.newMaterial; 2017-12-10 12:41:43 -08:00
bjorn 6f58b758e3 Fix texture coordinates; 2017-12-09 20:09:27 -08:00
bjorn 6df8dfe456 Canvas:getFormat; 2017-12-09 20:09:27 -08:00
bjorn ee36b47864 Depth/stencil buffers; More work on Canvas API; 2017-12-09 20:09:27 -08:00
bjorn c6a395fa21 Switch to table variant of newCanvas API; 2017-12-09 20:09:27 -08:00
bjorn 0eebea28a9 Canvas:getMSAA; 2017-12-09 20:09:27 -08:00
bjorn 6577133635 Canvases can be used anywhere Textures are; 2017-12-09 20:09:27 -08:00
bjorn d261e4b00d Start Canvas objects; 2017-12-09 20:09:27 -08:00
bjorn 8eec247adb lovr.graphics.getStats; 2017-12-09 20:07:42 -08:00
bjorn 650f100b15 Fix bug where Shader:send uses incorrect number of values; 2017-12-08 13:04:43 -08:00
bjorn 3756c06ec7 More flexible shorthands for texture and material args; 2017-11-28 20:42:36 -08:00
bjorn 097a88302e Add lines and linestrip MeshDrawModes; 2017-11-25 19:49:22 -08:00
bjorn ddd905627b Mesh:drawInstanced; Model:drawInstanced;
No attribute divisors yet.
2017-11-25 19:45:44 -08:00
bjorn cb2265e547 Remove material from graphics state;
It is now local state to models and meshes and can be passed as
an optional first argument to most primitives.
2017-11-25 19:02:28 -08:00
bjorn c6d29f5de3 Add the ability to select headset drivers at runtime;
Messy.
2017-11-25 13:02:09 -08:00
bjorn ef0ba9124d lovr.math.gammaToLinear; lovr.math.linearToGamma; 2017-11-24 00:53:08 -08:00
bjorn 2b88d51ff8 Add texture/color variants to lovr.graphics.newMaterial; 2017-11-23 14:41:22 -08:00
bjorn 1662e79f0e Use srgb formats for textures; 2017-11-23 14:19:20 -08:00
bjorn 3c6437fb20 lovr.graphics.isGammaCorrect; conf.lua t.gammacorrect; 2017-11-22 20:26:01 -08:00
bjorn 8bda7a9ed8 Minor cleanup of previous change; 2017-11-22 20:13:36 -08:00
bjorn ad779820a7 Refactor lovr.conf to be exposed to C;
This simplifies boot.lua and means we don't need private functions
all over the place for the stuff configured by conf.lua.
2017-11-22 20:11:51 -08:00
bjorn 5c45282d9b lovr.graphics.arc; 2017-11-22 11:32:30 -08:00
bjorn 81c29176ab lovr.graphics.circle; 2017-11-21 20:53:45 -08:00
bjorn 602e0ced7d Floating point colors;
This is a breaking change.
2017-11-20 21:47:36 -08:00
bjorn 652c31f8d4 Optional pose; 2017-11-20 21:16:16 -08:00
bjorn 2f0aab03be Model:getAnimationCount; 2017-11-20 18:15:10 -08:00
bjorn 33ff7f2b9c Add lovrAnimatorEvaluate; 2017-11-06 20:22:30 -08:00
bjorn c3749eb9bd Model:getAnimator; Model:setAnimator; 2017-11-05 13:41:47 -08:00
bjorn 03d3a9f77d Animator:getPriority; Animator:setPriority; 2017-11-04 15:55:33 -07:00
bjorn 5809a39a12 Animator:getAlpha; Animator:setAlpha; 2017-11-04 15:51:44 -07:00
bjorn c469d1ca19 Animator:isPlaying; Looping fixes; 2017-11-04 15:48:52 -07:00
bjorn 4f4d95ddec Animator:isLooping; Animator:setLooping; 2017-11-04 15:31:47 -07:00
bjorn 93c6597f09 Animator:reset; 2017-11-04 15:21:46 -07:00
bjorn 3cc02497f6 Animator:getAnimationNames; Animator:getDuration; 2017-11-04 15:11:42 -07:00
bjorn 34ddfbaed3 Animator:getSpeed; Animator:setSpeed; 2017-11-03 18:38:43 -07:00
bjorn 748c467b1c Animator:seek; Animator:tell; 2017-11-03 18:36:37 -07:00
bjorn 23b4750e9c Animator:play; Animator:stop; Animator:pause; Animator:resume; 2017-11-03 18:28:54 -07:00
bjorn 4249cb4cc6 Animator:update; 2017-11-03 18:27:02 -07:00
bjorn ff0d007afe Start Animator; 2017-11-02 23:47:25 -07:00
bjorn 194382643b Add back Model:getAABB; 2017-11-01 19:27:58 -07:00
bjorn ecde864ec4 Use spooky BOOleans everywhere; 2017-10-31 01:14:09 -07:00
bjorn 1ebc527c74 Load vertex colors for models; 2017-10-23 19:24:29 -07:00
Bjorn Swenson 618be7b51d Merge pull request #24 from bcampbell/fake-headset
Fake headset
2017-10-23 11:24:03 -07:00
bjorn 2efe619317 Add Shader:hasUniform; 2017-10-22 15:58:56 -07:00
Ben Campbell a22a9ed1f4 Merge branch 'master' into fake-headset 2017-10-23 09:32:32 +13:00
bjorn 65c26e47f2 Remove some weird Mesh return codes; 2017-10-22 07:20:40 -07:00
bjorn 2c0d85a84a Use UNSIGNED_SHORT for indices when possible; 2017-10-22 07:04:52 -07:00
bjorn d5b3a2243e Rename internal canvas to view; 2017-10-22 03:34:45 -07:00
bjorn 9b3723145b Changes for physfs 3; rm lovr.filesystem.exists; 2017-10-22 01:37:06 -07:00
bjorn 231056e7e0 Fix issues with model IO; 2017-10-21 20:19:33 -07:00
bjorn dece1d896f Update skybox and font rendering; 2017-10-21 14:59:34 -07:00
bjorn 16915e4fa2 Material graphics state; 2017-10-21 14:32:41 -07:00
bjorn d658c80e57 Add Material API; 2017-10-21 14:05:58 -07:00
bjorn 4935816457 Remove texturing from primitives; 2017-10-21 13:54:50 -07:00
bjorn 54533351bb Generalize Shader to support more types of uniforms; 2017-10-21 13:39:50 -07:00
bjorn b8fededcf6 Add luax_checkcolor; 2017-10-21 13:21:30 -07:00
bjorn a2860361e9 Consolidate Texture and Skybox; 2017-10-21 13:00:13 -07:00
bjorn e8f2166e00 Remove textures from Models and Meshes; 2017-10-21 12:34:58 -07:00
bjorn a12a003ccb Use custom IO callbacks for assimp; 2017-10-21 12:31:53 -07:00
Ben Campbell 5df4197f39 Add indirection of fake headset functions
Setting up for runtime-pickable headset implementation
2017-10-21 09:32:46 +13:00
bjorn b124f7e7c2 Model:getMesh; 2017-10-15 10:26:33 -07:00
bjorn f5e8535726 Use internal scene graph for models;
Allows for loading of more complicated models and multiple materials
for a single model.  Also fixes bugs with Mesh draw ranges.  Model:getAABB
is temporarily removed.
2017-10-14 18:01:00 -07:00
Ben Campbell 2b9cc1a60c add headset.update (to handle moving fake headset) 2017-10-14 09:46:33 +13:00
bjorn 80e3d3487a Transform:getMatrix; Transform:setMatrix; 2017-09-10 14:55:24 -07:00
bjorn 1d1277ba76 Fix World:raycast; 2017-09-03 17:01:48 -07:00
bjorn 447b2da41a lovr.math.orientationToDirection; 2017-09-02 17:26:24 -07:00
bjorn e2f4d23842 Small cleanup; 2017-08-27 22:59:51 -07:00
bjorn 33c54efbed Use touchpad for touch joystick; 2017-08-13 04:35:49 -07:00
bjornbytes eea960df8c Support Touch controllers; 2017-08-12 22:58:59 -07:00
bjornbytes 5bf174b37d Use enum for lovrHeadsetGetType; 2017-08-12 21:35:37 -07:00
bjorn 0311232ae1 Add lovrModel and lovrView matrices; 2017-08-10 22:23:19 -07:00
bjorn 74f585ca8d Use lovrAssert and lovrThrow for better errors; 2017-08-10 01:05:04 -07:00
bjorn 3cd245f2b0 Window customization via conf.lua; 2017-08-09 20:02:02 -07:00
bjorn 3143c87197 Fix issues with framebuffers; 2017-08-09 01:09:19 -07:00
bjorn 6c316c7587 Fix Shader bugs; 2017-08-09 00:56:13 -07:00
bjorn 60867925e4 Move unused header includes; 2017-08-08 22:34:23 -07:00
bjorn d849f2429c Everything is probably broken; 2017-08-08 21:10:56 -07:00
bjorn 88a32fd951 Simplify Skybox stuff; 2017-08-08 18:52:28 -07:00
bjorn 58931f01e2 Allow lovr.graphics.setFont(nil); 2017-08-08 18:01:39 -07:00
bjorn 047fe412eb rm lovr.texture.bind; 2017-08-08 01:33:52 -07:00
bjorn 03c01cb97a Use access bits better when mapping Meshes; 2017-08-08 01:33:52 -07:00
bjorn b65673bc3f Color object; 2017-08-08 01:33:52 -07:00
bjorn 9efa89768c Organize graphics state; 2017-08-08 01:33:52 -07:00
bjorn ef06a19fa4 Refactor texture filter structure; 2017-08-08 01:33:52 -07:00
bjorn 1402213029 Clean up system limits; 2017-08-08 01:33:52 -07:00
bjorn 6b0f903b2e rm lovr.graphics.getColorMask; rm lovr.graphics.setColorMask; 2017-08-08 01:33:52 -07:00
bjorn ed25eef2d3 rm lovr.graphics.getScissor; rm lovr.graphics.setScissor; 2017-08-08 01:33:52 -07:00
bjorn 3de7c4492c Add missing API function; 2017-08-06 23:58:14 -07:00
bjorn 42a3444fd8 HeadsetOrigin; conf.headset.offset; 2017-08-06 23:58:14 -07:00
bjorn b55979936f Simplify l_lovrGraphicsSetBackgroundColor; 2017-08-01 13:19:36 -07:00
bjorn ef537e99d4 Math module random functions; 2017-07-26 22:46:31 -07:00
bjorn 8b34330079 RandomGenerator; 2017-07-26 22:46:31 -07:00
bjorn 39ba6d3f12 Add trigger ControllerButton; 2017-07-24 23:17:00 -07:00
bjorn d78e986a05 Fix compilation issues; 2017-07-23 23:14:28 -07:00
bjorn 112e6f8f00 lovr.math.lookAt;
Returns the angle/axis rotation for looking at a point.
2017-07-23 22:38:33 -07:00
bjorn a1007a1545 Add anisotropy system limit; 2017-07-23 16:24:43 -07:00
bjorn 7d31410c8c New Texture filter modes; lovr.graphics.setDefaultFilter; 2017-07-23 16:24:43 -07:00
bjorn c518cadcf7 Cleanup; 2017-07-19 07:00:11 +09:00
bjorn 41210b1bd0 lovr.graphics.plane takes regular transform; 2017-07-19 05:07:18 +09:00
bjorn e897c2512a Fix Collider:applyTorque; 2017-06-23 17:45:27 -07:00
bjorn 83118a5012 lovr.graphics.sphere; 2017-06-21 23:10:45 -07:00
bjorn 68538c7013 Cleanup; 2017-06-21 19:44:02 -07:00
bjorn dd1db4c86f lovr.graphics.box; Better non-uniform scale; 2017-06-21 19:42:34 -07:00
bjorn a13c793769 Model:getAABB; 2017-06-21 18:53:11 -07:00
bjorn dfd6c91dec lovr.graphics.cylinder; 2017-06-20 20:54:22 -07:00
bjorn 18fa9f7d76 Remove doppler effect; 2017-06-18 16:20:30 -07:00
bjorn 8beac66db0 OpenGL ES3; Remove glad;
Stop using OpenGL extensions and drop support for OpenGL ES2,
WebGL 1, and OpenGL 2.  Remove glad.
2017-06-18 15:55:01 -07:00
bjornbytes 6c25b9bd4f Fix Mesh:getVertexMap; 2017-06-13 21:28:15 -07:00
bjorn 265a81c411 Add window title; Improve initial error handling; 2017-06-10 15:34:35 -07:00
bjorn 1cc62a9b6d DistanceJoint; 2017-06-10 15:13:19 -07:00
bjorn 827c92cc38 Collider constructor accepts position; 2017-06-10 14:17:59 -07:00
bjorn 011b669892 Correct error check in Mesh:setVertexMap; 2017-06-10 14:09:33 -07:00
bjorn 1061134800 Improve error messages; 2017-06-02 01:31:14 -07:00
bjorn 338a544c78 Correct indices in shape list and joint list; 2017-05-29 10:42:07 -07:00
bjorn c198369c95 Joint limits; 2017-05-25 15:20:55 -07:00
bjorn 39400776dc Semantic tags; 2017-05-25 15:01:40 -07:00
bjorn 3b4996b7d0 Collider:setFriction; Collider:setRestitution; 2017-05-25 00:56:56 -07:00
bjorn a32eb38026 SliderJoint; 2017-05-25 00:48:02 -07:00
bjorn c828eaa338 HingeJoint; 2017-05-24 23:51:27 -07:00
bjorn 507ab7f4bb BallJoint:getAnchors; BallJoint:setAnchor; 2017-05-24 23:47:16 -07:00
bjorn 73e3282c47 rm Shape category and mask; 2017-05-24 20:06:06 -07:00
bjorn 6bfea99be6 Collider:getAABB; 2017-05-24 18:10:39 -07:00
bjorn 876a8406b1 Shape:getAABB; 2017-05-24 17:47:59 -07:00
bjorn f3df7aa114 World:raycast; 2017-05-24 17:40:32 -07:00
bjorn 07ede6b2dc Custom friction and resitution; 2017-05-24 17:40:32 -07:00
bjorn f1a74c34c3 Joints;
Also no expressions in luax_pushtype;
2017-05-24 17:40:32 -07:00
bjorn f3a4ce3931 Collider:getShapeList; 2017-05-19 22:51:16 -06:00
bjorn 0fb1bd77d8 Shape:destroy; 2017-05-19 22:24:23 -06:00
bjorn 6ef9c6e475 Collider:destroy; 2017-05-19 22:14:20 -06:00
bjorn 5640b1d048 Organization; World:destroy; 2017-05-19 22:11:49 -06:00
bjorn 1a404c087f Collider:getLocalCenter; 2017-05-19 21:51:43 -06:00
bjorn 1829a65898 Organization; Collider:isGravityIgnored; Collider:setGravityIgnored; 2017-05-19 21:48:59 -06:00
bjorn 2c89aa4663 s/Body/Collider; 2017-05-19 20:11:58 -06:00
bjorn 661e9188c7 Custom collision handling; 2017-05-19 15:04:34 -06:00
bjorn eddc7af482 Fix require leak; 2017-05-17 00:17:13 -06:00
bjorn dfece82c89 Fix undefined behavior with event polling; 2017-05-17 00:03:42 -06:00
bjorn 9e907d6dec Orientation fixes; 2017-05-16 23:11:53 -06:00
bjorn 9d6e5252a5 lovr.timer.getAverageDelta; 2017-05-16 20:25:29 -06:00
bjorn 29f4878dbc Body:getMassData; Body:setMassData; 2017-05-16 19:13:38 -06:00
bjorn e8686ffaea Body:getMass; Body:setMass; 2017-05-16 18:41:47 -06:00
bjorn e18f3e3f9d Shape:computeMass;
I think
2017-05-16 18:25:08 -06:00
bjorn bcbe6c47d4 CylinderShape; 2017-05-16 15:56:20 -06:00
bjorn 6a166f7102 CapsuleShape; 2017-05-16 15:52:41 -06:00
bjorn e79c45ffdf BoxShape; 2017-05-16 15:52:09 -06:00
bjorn 995e8a2ea8 SphereShape; 2017-05-16 15:21:10 -06:00
bjorn 09db32f6b4 Shape:getMask; Shape:setMask; 2017-05-16 14:26:38 -06:00
bjorn 81dfba071c Shape:getCategory; Shape:setCategory; 2017-05-16 14:26:09 -06:00
bjorn 73ec387545 Shape:getOrientation; Shape:setOrientation; 2017-05-16 12:48:01 -06:00
bjorn 327022461e Shape:getPosition; Shape:setPosition; 2017-05-16 12:46:15 -06:00
bjorn a70edfe2a5 Shape:getUserData; Shape:setUserData; 2017-05-16 12:33:55 -06:00
bjorn e93bfb30ad Shape:isEnabled; Shape:setEnabled; 2017-05-16 12:29:18 -06:00
bjorn c7515a1f7e Shape:getBody; Shape:setBody; 2017-05-16 12:23:13 -06:00
bjorn 43ac25a61d Shape; 2017-05-16 12:17:01 -06:00
bjorn 1115929583 Body:getWorld; 2017-05-16 00:37:14 -06:00
bjorn 835f0da058 Body:getUserData; Body:setUserData; 2017-05-16 00:09:44 -06:00
bjorn 048b62324f Body:isAwake; Body:setAwake; 2017-05-15 23:42:09 -06:00
bjorn ded5602846 Body:isSleepingAllowed; Body:setSleepingAllowed; 2017-05-15 23:40:30 -06:00
bjorn 0b6788dfcb Body:getLocalVector; Body:getWorldVector; 2017-05-15 23:30:26 -06:00
bjorn 35bab33e54 Body:getLinearVelocityFromLocalPoint; Body:getLinearVelocityFromWorldPoint; 2017-05-15 23:27:33 -06:00
bjorn b31970d85d Body:getLocalPoint; Body:getWorldPoint; 2017-05-15 23:22:25 -06:00
bjorn f672fe77cd Body:isKinematic; Body:setKinematic; 2017-05-15 23:15:50 -06:00
bjorn 8a0f37a0ae Body:applyForce; Body:applyTorque; 2017-05-15 23:15:22 -06:00
bjorn 18b9c8cdae Body:getAngularDamping; Body:setAngularDamping; 2017-05-15 23:14:46 -06:00
bjorn 1a4193831c Body:getLinearDamping; Body:setLinearDamping; 2017-05-15 23:14:07 -06:00
bjorn d29e190695 Body:getAngularVelocity; Body:setAngularVelocity; 2017-05-15 23:13:19 -06:00
bjorn 891db00bc9 Body:getLinearVelocity; Body:setLinearVelocity; 2017-05-15 23:11:50 -06:00
bjorn 798b09eb0d Body:getOrientation; Body:setOrientation; 2017-05-15 23:10:56 -06:00
bjorn eca490adfd Body:getPosition; Body:setPosition; 2017-05-15 23:10:17 -06:00
bjorn f4d4664318 Body; 2017-05-15 23:09:32 -06:00
bjorn c06a13f124 World:isSleepingAllowed; World:setSleepingAllowed; 2017-05-15 23:08:27 -06:00
bjorn ca7b93e150 World:getAngularDamping; World:setAngularDamping; 2017-05-15 23:07:54 -06:00
bjorn b840fb0a44 World:getLinearDamping; World:setLinearDamping; 2017-05-15 23:05:48 -06:00
bjorn 053ccb18bc World:update; 2017-05-15 23:04:05 -06:00
bjorn 3c8f4bd63b World:getGravity; World:setGravity; 2017-05-15 23:03:01 -06:00
bjorn 70bc90154b World; 2017-05-15 23:02:08 -06:00
bjorn 7597e71ff3 lovr.physics; 2017-05-15 22:59:53 -06:00
bjorn 78e58de624 Fix potential crash on equirectangular skyboxes; 2017-05-06 16:27:06 -07:00
bjorn f81209fd86 WebVR fixes; 2017-04-22 23:21:29 -07:00
bjorn 4399a2feb8 rm bounds visibility functions;
Minor WebVR fixes.
2017-04-22 22:53:03 -07:00
bjorn c1afd6ca33 WebVR Controllers; 2017-04-22 18:20:12 -07:00
bjorn 6e41c211d2 Unrefing; 2017-04-20 21:17:25 -07:00
bjorn 0f1acae42a WIP; 2017-04-16 16:56:49 -07:00
bjorn 25e6f3ce4e Fix Mesh unmapping; 2017-04-09 13:40:20 -07:00
bjorn 6695be5eb8 Add missing bindings for lovr.filesystem.createDirectory; 2017-04-02 15:10:46 -07:00
bjorn 7f687f9732 No game screen; 2017-04-02 05:55:21 -07:00
bjorn 66bb9063f5 Add Blobs; 2017-04-01 16:50:10 -07:00
bjorn a04e5013ad lovr.graphics.getSystemLimits; 2017-03-31 04:22:18 -07:00
bjorn fbc9805ab1 Allow custom skybox shaders; 2017-03-30 18:54:39 -07:00
bjorn 2ae10967c4 Error in setVertices when overflowing Mesh size; 2017-03-23 17:49:57 -07:00
bjorn 7077d89a22 Font metrics; 2017-03-16 01:12:32 -07:00
bjorn 0b57b48702 Font pixel densities; 2017-03-15 20:51:16 -07:00
bjorn 390220f945 Font alignment; 2017-03-15 20:46:01 -07:00
bjorn a6cb4ee53f Alphabetize some enums; 2017-03-14 21:38:03 -07:00
bjorn 5bd364f65f Fix skybox math; 2017-03-12 17:13:50 -07:00
bjorn 4feeb4d4ab Equirectangular Skybox rough draft; 2017-03-12 16:45:50 -07:00
bjorn 062086991e Blend modes; 2017-03-12 04:03:36 -07:00
bjorn c6b635a2ec rm lovr.graphics.setProjection; 2017-03-11 21:19:26 -08:00
bjorn 49a0ba4d1c lovr.headset.isMirrored; lovr.headset.setMirrored;
Also add conf.lua field to configure initial mirroring state.
2017-03-11 19:12:03 -08:00
bjorn 0c6da83332 lovr.focus;
This may not work in all cases involving e.g. overlays.
2017-03-11 19:01:01 -08:00
bjorn f9f0773b92 lovr.controllerpressed; lovr.controllerreleased; 2017-03-11 18:46:07 -08:00
bjorn 94a5dab7b5 Meshes use mapped buffers; 2017-03-11 17:27:18 -08:00
bjorn b417df1de9 Improve Mesh error message; 2017-03-11 15:26:43 -08:00
bjorn 7648bffda7 Mesh:isAttributeEnabled; Mesh:setAttributeEnabled; 2017-03-11 14:47:13 -08:00
bjorn a2e1fd8972 Rename Buffer to Mesh; 2017-03-11 14:13:49 -08:00
bjorn fce7746b16 Simplify api structure; 2017-03-11 03:08:07 -08:00
bjorn fa74254e64 Rename lovr to api; 2017-03-11 02:25:39 -08:00