Commit Graph

237 Commits

Author SHA1 Message Date
bjorn f5fa9a4e5c Make modules more restartable;
Except headset.  Screw you, headset.
2018-02-23 18:38:53 -08:00
bjorn 7cecc1489e getCanvas; setCanvas; MRT; MULTICANVAS define; 2018-02-15 19:58:35 -08:00
bjorn 18be34a903 Expose depth write setting; 2018-02-08 21:50:47 -08:00
bjorn 3fd6f27768 Allow custom values when clearing color, depth, and stencil buffers; 2018-02-08 21:26:53 -08:00
bjorn 77d8b96cfd lovr.graphics.stencil; 2017-12-18 19:48:28 -08:00
bjorn 8acd7444af lovr.graphics.getStencilTest; lovr.graphics.setStencilTest; 2017-12-18 18:37:03 -08:00
bjorn 8eec247adb lovr.graphics.getStats; 2017-12-09 20:07:42 -08:00
bjorn c6b7d9729d rm lovrGraphicsGetWindow; 2017-12-03 15:23:38 -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 3c6437fb20 lovr.graphics.isGammaCorrect; conf.lua t.gammacorrect; 2017-11-22 20:26:01 -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 652c31f8d4 Optional pose; 2017-11-20 21:16:16 -08:00
bjorn ecde864ec4 Use spooky BOOleans everywhere; 2017-10-31 01:14:09 -07:00
Bjorn Swenson 618be7b51d Merge pull request #24 from bcampbell/fake-headset
Fake headset
2017-10-23 11:24:03 -07:00
bjorn 076b378b80 Report correct line numbers for shader errors; 2017-10-22 15:39:21 -07:00
Ben Campbell a22a9ed1f4 Merge branch 'master' into fake-headset 2017-10-23 09:32:32 +13:00
bjorn d5b3a2243e Rename internal canvas to view; 2017-10-22 03:34:45 -07:00
bjorn 16915e4fa2 Material graphics state; 2017-10-21 14:32:41 -07:00
bjorn 4935816457 Remove texturing from primitives; 2017-10-21 13:54:50 -07:00
bjorn 32b05cb15d Support multiple texture slots; 2017-10-21 13:21:28 -07:00
bjorn a2860361e9 Consolidate Texture and Skybox; 2017-10-21 13:00:13 -07:00
Ben Campbell 8f97384951 cheesy hack to module load order to get fake headset running 2017-10-12 23:04:18 +13: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 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 76f94e8ade Rename primitive data structures; 2017-08-08 18:57:41 -07:00
bjorn 88a32fd951 Simplify Skybox stuff; 2017-08-08 18:52:28 -07:00
bjorn abbe5e36d0 Canvas state is internal; 2017-08-08 02:20:55 -07:00
bjorn c89301c284 Texture is internal state; 2017-08-08 02:14:50 -07:00
bjorn fe570e19f1 Diff vao, vbo, and ibo; 2017-08-08 02:13:07 -07:00
bjorn ef58eea4b8 Projection is transform state; 2017-08-08 01:37:23 -07:00
bjorn 6077cae95a Font state; 2017-08-08 01:36:29 -07:00
bjorn 80c9d7f4d8 Shader state; 2017-08-08 01:33:52 -07:00
bjorn 3da48027ce Use struct for shape state; 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 bb2ec5b49c No pointers for CanvasState; 2017-08-08 01:33:52 -07:00
bjorn f649a50264 rm lovrGraphicsSetPerspective; 2017-08-08 01:33:52 -07:00
bjorn 38c5342d8a Private lovrGraphicsEnsureFont; 2017-08-08 01:33:52 -07:00
bjorn 1402213029 Clean up system limits; 2017-08-08 01:33:52 -07:00
bjorn fd176a608a Private graphics primitive functions; 2017-08-08 01:33:52 -07:00
bjorn 0e474ad6af Reorganize lovrFontPrint; 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 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 8ad3e64a2d Font shader; 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 83118a5012 lovr.graphics.sphere; 2017-06-21 23:10:45 -07:00
bjorn dd1db4c86f lovr.graphics.box; Better non-uniform scale; 2017-06-21 19:42:34 -07:00
bjorn dfd6c91dec lovr.graphics.cylinder; 2017-06-20 20:54:22 -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
bjorn 613b1ea67f Refactor GL extension code; 2017-06-10 16:25:46 -07:00
bjorn 24a980446a Add extra room to transform stack;
Currently the transform stack doesn't take into account the fact that internal functions use
transforms.  Performing error checking for the transform stack in the internal functions is kind of
difficult (right now we just segfault), so it's easier to just reserve a few of the transforms for
internal use.
2017-06-10 14:44:04 -07:00
bjorn ef89de2b5f Cleanup; 2017-05-17 13:10:37 -06:00
bjorn 9eb4d7b393 Move all window code into graphics module; 2017-04-12 19:48:47 -07:00
bjorn a04e5013ad lovr.graphics.getSystemLimits; 2017-03-31 04:22:18 -07:00
bjorn 390220f945 Font alignment; 2017-03-15 20:46:01 -07:00
bjorn a4257378f0 Panorama Skybox fixes; 2017-03-12 16:57:27 -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 a2e1fd8972 Rename Buffer to Mesh; 2017-03-11 14:13:49 -08:00
bjorn aa470d6fab Fix vive rendering; 2017-02-17 00:48:43 -08:00
bjorn ebb40867e0 lovr.graphics.print geometry; 2017-02-16 16:23:52 -08:00
bjorn ff5a114e65 Font transforms; Font refcounting; 2017-02-10 03:24:13 -08:00
bjorn 458aa43700 Default font; 2017-02-09 21:06:07 -08:00
bjorn f80e3e5a13 More font rendering; 2017-02-09 21:06:07 -08:00
bjorn ab2d0ee79a Really terrible font rendering; 2017-02-09 21:06:07 -08:00
bjorn e80f390151 Try #pragma once; 2017-01-26 02:21:56 -08:00
bjorn 9e0d8801b6 mat4_setTransform; 2017-01-20 20:43:00 -08:00
bjorn 8a3d52b3c6 Cleanup ugh; 2017-01-20 19:55:54 -08:00
bjorn 5e2cfcc9bd graphics.cube and Model:draw accept Transform; 2017-01-20 18:39:49 -08:00
bjorn 3dbafc8214 Cleanup; 2017-01-20 18:39:48 -08:00
bjorn e8e2a99e5b Finish internal math library; 2017-01-20 18:39:46 -08:00
bjorn a8b7af311e Improve graphics primitives; 2017-01-13 01:59:00 -08:00
bjorn af3957d3c3 Perspective projection textures; 2017-01-12 01:26:44 -08:00
bjorn eba3996984 Improve CanvasState; 2017-01-11 20:26:08 -08:00
bjorn b05e2630dd CanvasState; 2017-01-11 09:25:43 -08:00
bjorn 83fb958ac0 Simplify rotations; 2016-12-01 17:32:58 -08:00
bjorn 40eeeabcff Optimize matrix stack; 2016-11-27 10:57:36 -08:00
bjorn d44cbfa5e7 Clean up textures; 2016-11-27 02:06:47 -08:00
bjorn 9b0712bb66 Add default texture; 2016-11-26 18:58:58 -08:00
bjorn 9f4a441bf1 Allow disabling of depth test; 2016-11-24 15:45:59 -08:00
bjorn a5fd7962f4 Organize lovr.graphics; 2016-11-22 21:16:13 -08:00
bjorn f18ee761cd lovr.graphics.setWireframe; 2016-11-22 21:07:33 -08:00
bjorn 15174b8299 lovr.graphics.setDepthTest; 2016-11-22 20:59:11 -08:00
bjorn 3d89338fec lovr.graphics.triangle; 2016-11-22 20:43:22 -08:00
bjorn 7e4e9a6108 Clean up includes; 2016-11-19 01:28:01 -08:00
bjorn 954592d8bd Refactor graphics state, especially shaders;
This should improve performance, if not then I have failed.
2016-11-14 15:48:17 -08:00
bjorn 21aba100a1 Refactor lovr.graphics.getDimensions and friends; 2016-11-14 13:47:15 -08:00
bjorn 11d96f1826 lovr.graphics.setPointSize; 2016-11-12 17:38:49 -08:00
bjorn 48ff1fa93c lovr.graphics.points; 2016-11-07 23:16:33 -08:00
bjorn 94a9c0e8cb lovrGraphicsTransform; 2016-11-01 20:48:04 -07:00
bjorn fb6c1c28ed Model; 2016-10-31 13:54:32 -07:00
bjorn 703b0c2af0 Skybox; 2016-10-24 15:02:23 -07:00
bjorn 406eab420c lovrGraphicsSetShapeData; 2016-10-23 19:01:27 -07:00
bjorn 4afc3841d8 Fix lovrGraphicsPrepare; 2016-10-23 19:01:00 -07:00
bjorn a6df0c58c7 Rework shape internals; 2016-10-06 23:34:35 -07:00
bjorn 78f0c2d947 Clean up, clean up;
Everybody everywhere!
2016-10-04 15:13:57 -07:00
bjorn 3aa079b531 Start Model; Reorganize constructors; 2016-10-03 21:54:27 -07:00
bjorn 8ac95f4038 lovr.graphics.plane; 2016-10-03 20:56:45 -07:00
bjorn 5ef7a6a588 Graphics culling; 2016-10-03 12:02:49 -07:00
bjorn 2e48c00876 ColorMask is char; 2016-10-03 11:41:31 -07:00
bjorn 809c71d5b4 lovr.graphics.setLineWidth; 2016-10-01 13:48:31 -07:00
bjorn 9ece6c6c2c Cube rotation;
Angle-axis
2016-10-01 13:39:38 -07:00
bjorn 82916b373b Set up draw modes; 2016-10-01 12:10:38 -07:00
bjorn 5f884710e6 lovr.graphics.cube test; 2016-09-29 23:18:51 -07:00
bjorn d4f20c8379 lovr.graphics.line; 2016-09-29 19:39:25 -07:00
bjorn 8ab7c06612 Improve Vive rendering; 2016-09-29 00:21:38 -07:00
bjorn 93f007f329 Shape infrastructure; 2016-09-29 00:00:02 -07:00
bjorn 4679696288 lovr.graphics.getDimensions and friends; 2016-09-28 22:10:03 -07:00
bjorn 7c707d9d6e Scissor; 2016-09-28 21:47:36 -07:00
bjorn e188c0beca lovr.graphics.setColor; 2016-09-28 20:11:58 -07:00
bjorn a24bdcf98a Use unsigned chars for color mask; 2016-09-28 19:38:58 -07:00
bjorn ab14cf5d31 Rename clearColor to backgroundColor; 2016-09-27 21:37:46 -07:00
bjorn d9977a6b99 lovr.graphics.setColorMask; 2016-09-27 21:32:57 -07:00
bjorn 0d7d57acea Remove getProjection from now; 2016-09-27 20:49:31 -07:00
bjorn ad0e014c5a lovr.graphics.reset; 2016-09-27 20:20:08 -07:00
bjorn 64361660b9 Default shader; 2016-09-27 19:56:36 -07:00
bjorn dba017c8df Fix windows; 2016-09-27 00:24:28 -07:00
bjorn 435d7a9cf8 Projection matrices; 2016-09-26 23:48:09 -07:00
bjorn 8a545a0575 lovr.graphics.setProjection; 2016-09-23 22:11:56 -07:00
bjorn 1f0f586952 lovr.graphics.prepare; 2016-09-23 20:58:56 -07:00
bjorn 9f254fc783 More graphics transform functions;
lovr.graphics.translate
lovr.graphics.rotate
lovr.graphics.scale
2016-09-22 21:53:17 -07:00
bjorn 0786b67f0b lovr.graphics.origin; 2016-09-21 15:26:05 -07:00
bjorn 579a3f9b72 Start matrix stack operations; 2016-09-21 00:55:53 -07:00
bjorn e6d2fa4afc Improved Buffer constructor; Buffer usage hint; 2016-09-17 15:38:13 -07:00
bjorn 020a4207bb Improve lovr.graphics.clear; 2016-09-16 20:11:11 -07:00
bjorn 98994d52fb Basic VR rendering; 2016-09-13 17:02:23 -07:00
bjorn 90147ca7bf Separate Lua API; 2016-08-09 23:28:17 -07:00
bjorn bbc2a32937 Support lovr /path/to/game; 2016-08-08 13:51:22 -07:00
bjorn 462b2d5f50 Refactor; 2016-08-07 18:32:37 -07:00
Renamed from src/graphics.h (Browse further)