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
bjorn
17601e237b
Buffer:getTexture; Buffer:setTexture;
2016-11-08 03:14:50 -08:00
bjorn
136d6b1da7
Texture; lovr.graphics.newTexture;
2016-11-08 03:14:33 -08:00
bjorn
a22b158b0c
Fix Buffer bug;
2016-11-08 03:13:32 -08:00
bjorn
49761a789a
Add loadImage to util;
2016-11-08 01:42:31 -08:00
bjorn
48ff1fa93c
lovr.graphics.points;
2016-11-07 23:16:33 -08:00
bjorn
91f46929fe
Normalize rotation axis vectors;
2016-11-07 22:03:13 -08:00
bjorn
fff1638414
Fix Skybox paths;
2016-11-05 16:17:29 -07:00
bjorn
5188e5d830
Fix Model paths;
2016-11-05 16:17:29 -07:00
bjorn
38c46106da
Model normals;
2016-11-01 21:52:32 -07:00
bjorn
45d4029f6a
Math is hard;
2016-11-01 21:52:19 -07:00
bjorn
93c13c8593
Model.draw transform;
2016-11-01 20:56:29 -07:00
bjorn
94a9c0e8cb
lovrGraphicsTransform;
2016-11-01 20:48:04 -07:00
bjorn
7c5a9585fd
Clean up Model better;
2016-10-31 17:35:43 -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
125e2d0e13
Skybox rough draft;
2016-10-23 19:03:10 -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
79397fc0e6
Fix shader uniforms;
2016-10-18 15:29:26 -07:00
bjorn
53409920c6
Skybox texture parameters;
2016-10-16 21:21:26 -07:00
bjorn
15f69d1d8a
Start Skybox;
2016-10-15 20:11:54 -07:00
bjorn
7cd168aa46
Custom Buffer vertex attribute formats;
2016-10-09 17:40:02 -07:00
bjorn
d35287499f
Use constants for shader attributes;
2016-10-07 18:30:37 -07:00
bjorn
aa5e9943ef
Use explicit generic attribute indices;
2016-10-07 18:28:09 -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
c93630dd4c
Fix default color;
2016-10-03 11:39:23 -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
36cd7887f7
Filled cube basically work;
2016-10-01 12:53:15 -07:00
bjorn
82916b373b
Set up draw modes;
2016-10-01 12:10:38 -07:00
bjorn
1e1acfbbd9
Fix cube rendering;
2016-09-29 23:54:31 -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
44b19b4e37
Use framebuffer size for scissor;
2016-09-28 22:09:57 -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
ccd0b5374e
Move default shader code into shader;
2016-09-28 19:34:48 -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
e4ecf2452f
Switch to start and count for Buffer draw range;
2016-09-27 20:08:54 -07:00
bjorn
41db7ea9de
Fix int->pointer conversion I think;
2016-09-27 20:05:55 -07:00
bjorn
bb6a5979f5
Remove comment;
2016-09-27 19:58:54 -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
4d4d2c34ff
Fix windows;
2016-09-24 22:39:36 -07:00
bjorn
6220cf73f4
rm minor redundant assignment;
2016-09-23 22:13:43 -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
4ae08b771f
Make graphicsState static again;
2016-09-21 00:58:31 -07:00
bjorn
579a3f9b72
Start matrix stack operations;
2016-09-21 00:55:53 -07:00
bjorn
af3282a261
Fix buffer header;
2016-09-19 23:42:21 -07:00
bjorn
32d7562d8e
Buffer vertex maps;
2016-09-17 17:52:52 -07:00
bjorn
d3ba10a129
Buffer:getVertexCount;
2016-09-17 16:29:39 -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
34b6ab4f34
Shader fix;
2016-09-05 14:06:52 -07:00
bjorn
6b0f97e7f5
Sending things to shaders basically works;
2016-08-28 13:37:10 -07:00
bjorn
f396e62eba
Buffer newline;
2016-08-09 23:32:31 -07:00
bjorn
90147ca7bf
Separate Lua API;
2016-08-09 23:28:17 -07:00
bjorn
2185922d38
Buffer draw range;
2016-08-08 18:27:35 -07:00
bjorn
207de93301
Buffer draw modes;
2016-08-08 14:40:18 -07:00
bjorn
bbc2a32937
Support lovr /path/to/game;
2016-08-08 13:51:22 -07:00
bjorn
beacc9d287
Improve memory management;
2016-08-08 13:23:40 -07:00
bjorn
c07ea1cb2e
Formatting;
2016-08-08 03:43:51 -07:00
bjorn
462b2d5f50
Refactor;
2016-08-07 18:32:37 -07:00