Commit Graph

330 Commits

Author SHA1 Message Date
bjorn 7843e24028 Fix Model:getAABB; 2017-06-25 01:30:19 -07:00
bjorn e5a311af09 Add glad for windows; 2017-06-23 19:35:49 -07: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 a13c793769 Model:getAABB; 2017-06-21 18:53:11 -07:00
bjorn 3744706ade Fix zero scale; 2017-06-20 22:56:11 -07:00
bjorn dfd6c91dec lovr.graphics.cylinder; 2017-06-20 20:54:22 -07:00
bjorn ca95fa0df0 Handle texture formats better; 2017-06-18 17:28:15 -07:00
bjorn 52b203240d Fix mapped buffers for WebGL 2; 2017-06-18 16:19:26 -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 5f3ce18fcd Fix mesh mapping; 2017-06-13 22:59:27 -07:00
bjornbytes 9f097e64e2 Add lovrNormalMatrix; 2017-06-13 20:04:51 -07:00
bjorn b84ef967e6 Fix integer attribute test; 2017-06-11 16:48:46 -07:00
bjorn 613b1ea67f Refactor GL extension code; 2017-06-10 16:25:46 -07:00
bjorn 265a81c411 Add window title; Improve initial error handling; 2017-06-10 15:34:35 -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 616e4b9488 Clean up Mesh IBO properly; 2017-06-10 14:06:55 -07:00
bjorn 10ddc06c13 No resizable window; 2017-06-01 23:52:37 -07:00
bjorn ef89de2b5f Cleanup; 2017-05-17 13:10:37 -06:00
bjorn 08a5259aec Minor lovr.graphics.clear optimization; 2017-05-16 23:43:47 -06:00
bjorn a2400e9876 WebVR fixes; 2017-04-29 13:33:59 -07:00
bjorn 520227aa87 Fix meshes; 2017-04-22 10:34:44 -07:00
bjorn 6acebc221e Fix mesh attributes; 2017-04-22 00:12:32 -07:00
bjorn 4537e17894 Fix typo; 2017-04-20 21:20:43 -07:00
bjorn 0f1acae42a WIP; 2017-04-16 16:56:49 -07:00
bjorn 9eb4d7b393 Move all window code into graphics module; 2017-04-12 19:48:47 -07:00
bjorn 25e6f3ce4e Fix Mesh unmapping; 2017-04-09 13:40:20 -07:00
bjorn 7f687f9732 No game screen; 2017-04-02 05:55:21 -07:00
bjorn 3977db7249 Don't mess with depth test when rendering fonts; 2017-04-01 15:33:32 -07:00
bjorn a04e5013ad lovr.graphics.getSystemLimits; 2017-03-31 04:22:18 -07:00
bjorn 9d89ea5634 Allow custom fullscreen shaders; 2017-03-30 18:56:51 -07:00
bjorn fbc9805ab1 Allow custom skybox shaders; 2017-03-30 18:54:39 -07:00
bjorn 847a01b76f Fix skyboxes; 2017-03-30 18:48:03 -07:00
bjorn 6cc5a036e8 Fix Font:getWidth; 2017-03-25 18:41:25 -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 22526552dc Use correct texture for fonts; 2017-03-14 02:32:01 -07:00
bjorn 37c2a11172 Fix panorama Skyboxes I promise; 2017-03-12 17:31:06 -07:00
bjorn 5bd364f65f Fix skybox math; 2017-03-12 17:13:50 -07:00
bjorn a4257378f0 Panorama Skybox fixes; 2017-03-12 16:57:27 -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 94a5dab7b5 Meshes use mapped buffers; 2017-03-11 17:27:18 -08:00
bjorn d1a8a5b156 Make Mesh attribute binding more intelligent; 2017-03-11 15:15:00 -08:00
bjorn 7648bffda7 Mesh:isAttributeEnabled; Mesh:setAttributeEnabled; 2017-03-11 14:47:13 -08:00
bjorn faad61614f Change Mesh isRangeEnabled to int; 2017-03-11 14:30:39 -08:00
bjorn 1abbdc5779 Missed some instances of buffer; 2017-03-11 14:28:44 -08:00
bjorn a2e1fd8972 Rename Buffer to Mesh; 2017-03-11 14:13:49 -08:00
bjorn b84f72f17e Rename vendor to lib; 2017-03-11 02:19:33 -08:00
bjorn 4df4069915 Add more filesystem functionality; 2017-03-11 01:37:00 -08:00
bjorn 8571783b4f Refactor loaders; 2017-02-19 01:54:58 -08:00
bjorn 1400e35fb2 Clear Framebuffer contents on init; 2017-02-18 15:31:16 -08:00
bjorn f46339c336 Reset coordinate system on lovr.graphics.reset; 2017-02-18 15:29:32 -08:00
bjorn cce3445f9b Fix memory management; 2017-02-18 14:44:52 -08:00
bjorn aa470d6fab Fix vive rendering; 2017-02-17 00:48:43 -08:00
bjorn a40fb02550 Remove metrics for now; 2017-02-16 18:08:48 -08:00
bjorn 2cbb381c5b Max width parameter; 2017-02-16 16:54:02 -08:00
bjorn ce89900dcc Improve newFont API; 2017-02-16 16:41:46 -08:00
bjorn 078d5290c0 Move default font into loaders; 2017-02-16 16:41:29 -08:00
bjorn ebb40867e0 lovr.graphics.print geometry; 2017-02-16 16:23:52 -08:00
bjorn 1b2527db18 Center lines by default; 2017-02-16 15:42:33 -08:00
bjorn 12bdaca72b Font stability; Font line height; 2017-02-12 03:14:10 -08:00
bjorn ff5a114e65 Font transforms; Font refcounting; 2017-02-10 03:24:13 -08:00
bjorn 54df1f2ff8 Font:getBaseline; 2017-02-09 21:06:08 -08:00
bjorn a8b338b6e1 Font:getWidth; 2017-02-09 21:06:08 -08:00
bjorn aefe788fa2 Use LEQUAL depth test when drawing text; 2017-02-09 21:06:07 -08:00
bjorn 7c1cedf809 Improve initial font texture size; 2017-02-09 21:06:07 -08:00
bjorn 530c80c63c Kerning; 2017-02-09 21:06:07 -08:00
bjorn 458aa43700 Default font; 2017-02-09 21:06:07 -08:00
bjorn 73d8b8aa3e Unicode; 2017-02-09 21:06:07 -08:00
bjorn db2ed2d0a5 Global font metrics; 2017-02-09 21:06:07 -08:00
bjorn f80e3e5a13 More font rendering; 2017-02-09 21:06:07 -08:00
bjorn 02386af34f Less terrible 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 853e9d89d7 Fonts; 2017-02-09 21:06:07 -08:00
bjorn 4a3f284881 Buffer:draw accepts transform arguments; 2017-01-29 19:12:25 -08:00
bjorn 721102456a Disable culling while drawing skyboxes; 2017-01-28 23:19:28 -08:00
bjorn e80f390151 Try #pragma once; 2017-01-26 02:21:56 -08:00
bjorn 492a75acba Properly destroy modules on exit; 2017-01-21 18:18:12 -08:00
bjorn 4303846eac Clean up includes; 2017-01-21 18:00:32 -08:00
bjorn 14dfeb688f Get rid of loadImage; 2017-01-21 17:29:20 -08:00
bjorn 666a3a23d7 Remove assimp includes from lovrGraphics; 2017-01-21 17:12:08 -08:00
bjorn 9e0d8801b6 mat4_setTransform; 2017-01-20 20:43:00 -08:00
bjorn 1f4ecad44b Shuffle things around; 2017-01-20 20:16:59 -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 a118a6bff5 Cleanup; 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 38768afda1 Sort out texture coordinates;
I hope
2017-01-15 13:49:46 -08:00
bjorn 59d1bb5ee9 MSAA Textures; Help; 2017-01-14 17:38:25 -08:00
bjorn 392962eb2b Remove unused lovrGraphicsSetShapeData; 2017-01-13 02:01:56 -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 09fdb72d5c Start texture projections; 2017-01-11 23:38:28 -08:00
bjorn eba3996984 Improve CanvasState; 2017-01-11 20:26:08 -08:00
bjorn 9f43f84577 Fix Texture dimensions; 2017-01-11 18:45:01 -08:00
bjorn b05e2630dd CanvasState; 2017-01-11 09:25:43 -08:00
bjorn 1ad0ac557b Basic framebuffers; 2017-01-08 22:51:43 -08:00
bjorn 2a8d40abd6 Deprecate Buffer Textures; 2017-01-08 21:29:16 -08:00
bjorn 724e0dd6eb Shader arrays; 2016-12-30 11:57:15 -08:00
bjorn 83fb958ac0 Simplify rotations; 2016-12-01 17:32:58 -08:00
bjorn b7d1b1e5dc Style; 2016-11-30 20:32:14 -08:00
bjorn 40eeeabcff Optimize matrix stack; 2016-11-27 10:57:36 -08:00
bjorn cf6c862aaa TextureType; 2016-11-27 10:34:22 -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 006221b7fd TextureData; 2016-11-25 23:54:45 -08:00
bjorn 3d18eb99e6 Refactor model loader; 2016-11-25 23:15:04 -08:00
bjorn 316893d132 Start loaders directory; 2016-11-25 17:13:26 -08:00
bjorn 9602a3af2f ModelFace always has 3 indices; 2016-11-25 03:16:11 -08:00
bjorn 83af2cacd7 Fix Model texture binding; 2016-11-25 03:15:13 -08:00
bjorn 7ce7c589bb Fix naming error in buffer format; 2016-11-25 03:14:48 -08:00
bjorn 172ecbbd56 Refactor Model constructor; 2016-11-25 00:49:19 -08:00
bjorn 9f4a441bf1 Allow disabling of depth test; 2016-11-24 15:45:59 -08:00
bjorn 08d63ca19c Model texture rendering; 2016-11-23 00:02:19 -08:00
bjorn cbcaef4e77 Standardize shader uniforms;
All built in uniforms are prefixed with "lovr".
Added helper functions "position" and "color" to improve general use case.
This is a breaking change.
2016-11-22 22:17:49 -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 87a49b1903 size->count; 2016-11-20 15:53:36 -08:00
bjorn 0eea694bdd Small reference count fixes; 2016-11-19 18:26:10 -08:00
bjorn d014daaa53 Fix texture reference counting; 2016-11-19 14:21:17 -08:00
bjorn 00656b928e Buffer texture reference counting; 2016-11-19 14:14:42 -08:00
bjorn c41204f876 Shader reference counting; 2016-11-19 14:06:41 -08:00
bjorn a743cfd3b6 Initial reference counting system; 2016-11-19 13:33:40 -08:00
bjorn 7e4e9a6108 Clean up includes; 2016-11-19 01:28:01 -08:00
bjorn 3813e0b9ce Increase max shader length; 2016-11-18 02:08:49 -08:00
bjorn 67b55ac7f6 Fix Shader memory leaks; 2016-11-18 02:08:36 -08:00
bjorn 3c2fc33f1c Fix Model memory leaks; 2016-11-18 02:03:50 -08:00
bjorn 0ec31f3625 Texture:refresh; 2016-11-17 23:12:30 -08:00
bjorn 027c0db032 Fix BUFFER_INT access in shaders; 2016-11-17 23:11:58 -08:00
bjorn 7b81618198 BUFFER_INT; 2016-11-14 21:31:17 -08:00
bjorn 69ecfc550e Optimize switching Buffer vertex maps a lot; 2016-11-14 15:56:05 -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 06c71ed07c Allow loading shaders from files;
The first argument is always the vertex shader.
The second argument is always the fragment shader.
2016-11-14 14:42:40 -08:00
bjorn 21aba100a1 Refactor lovr.graphics.getDimensions and friends; 2016-11-14 13:47:15 -08:00
bjorn acde08228c Bind texture after setting buffer;
The `buffer` field was not being initialized to 0, so sometimes
the texture was binding to the wrong target.
2016-11-14 01:00:06 -08:00
bjorn daa942d932 Support BufferTextures; 2016-11-13 17:28:22 -08:00
bjorn 11f35763b7 Fix Buffer attribute indices; 2016-11-13 02:35:26 -08:00
bjorn c0db50b6ae Buffer:setVertices; 2016-11-12 23:18:53 -08:00
bjorn 11d96f1826 lovr.graphics.setPointSize; 2016-11-12 17:38:49 -08:00
bjorn ffde873299 Oh no; 2016-11-12 15:20:04 -08:00
bjorn 811bf67071 Windows fixes; 2016-11-12 01:19:47 -08:00
bjorn 7550da44d8 Model textures; 2016-11-08 14:55:16 -08:00
bjorn 8267733a42 Texture filters; 2016-11-08 14:55:16 -08:00
bjorn b69a7be1ba Better malloc error handling; 2016-11-08 14:55:07 -08:00