bjorn
6f20126020
Fix bug with mesh divisors;
2019-02-05 15:57:22 -08:00
bjorn
c473bf50e8
Buffers individually keep track of their flush range;
...
Fixes bugs with attached Mesh attributes, where flushing wasn't
happening when it should have.
2019-01-22 12:11:01 -08:00
bjorn
379dc74cd5
Mesh fixes;
2019-01-04 18:01:01 -08:00
bjorn
ea3a77a73a
Many batching improvements; Refactoring;
2019-01-04 18:01:01 -08:00
bjorn
1c5d73e3da
Make more GPU functions static;
2019-01-04 18:01:01 -08:00
bjorn
09832dab8f
rm Mesh.dirty;
2019-01-04 18:01:01 -08:00
bjorn
111cfafaf2
rm lovrMeshDraw;
2019-01-04 18:01:01 -08:00
bjorn
9803e9916f
Use naming convention for destructor;
2018-12-19 01:04:42 -08:00
bjorn
155a0c1449
lovr*Create -> lovr*Init; lovr*Create macro;
2018-12-19 01:04:42 -08:00
bjorn
c63c49338a
Make opengl graphics structs more accessible;
2018-12-19 01:04:42 -08:00
bjorn
a67f59000f
DrawMode -> DrawStyle; MeshDrawMode -> DrawMode;
...
Renaming enums doesn't really have an impact on the API usage, just
the docs and internal naming of things.
2018-12-12 18:43:04 -08:00
bjorn
b02eae30b4
Autoinstancing;
2018-12-11 22:10:29 -08:00
bjorn
18fdd0c062
Autobatching;
2018-12-11 13:27:59 -08:00
bjorn
aa2f8867ee
Mesh: more flexible int attributes;
...
This is ugh but be patient.
2018-12-10 16:00:37 -08:00
bjorn
eaf26ce4b8
Struct cleanup;
2018-12-10 15:18:42 -08:00
bjorn
7f333ce956
Refactor Mesh attributes;
2018-12-07 19:11:14 -08:00
bjorn
e2886d3bb5
Mesh uses Buffer;
2018-12-07 15:57:45 -08:00
bjorn
a8361677f5
Move pose from Mesh to DrawCommand;
2018-12-05 10:22:12 -08:00
bjorn
dca52ee967
Improve newCanvas API;
2018-08-31 16:37:30 -07:00
bjorn
a5256aaa27
Happy little graphics refactors;
2018-08-31 06:03:35 -07:00
bjorn
b8faff6986
Add writable and usage flags to ShaderBlock;
2018-08-02 05:04:40 -07:00
bjorn
8bf60b73ec
Add opengl header; Migrate relevant object implementations;
2018-07-17 17:21:14 -07:00
bjorn
89c8ee3d06
Begin OpenGL quarantine;
2018-07-17 17:21:14 -07:00
bjorn
f903b6014c
Use arrays for enums instead of maps;
2018-07-04 20:11:52 -07:00
bjorn
57c8dfe146
Clean up includes;
2018-07-04 13:51:35 -07:00
bjorn
183f6003e9
rm mapped buffers mostly;
2018-06-03 19:00:31 -07:00
bjorn
6ff7292333
Mostly remove instanced stereo rendering;
2018-06-03 17:18:42 -07:00
bjorn
7273811120
Some extra graphics state diffing;
2018-06-02 15:30:26 -07:00
bjorn
95da07d165
Stereo canvases;
...
Canvases can be created with the "stereo" flag to make it a stereo
Canvas. If a Canvas is stereo, everything rendered to it will be
rendered to the left and right halves of it, using left/right
view and projection matrices. Headset drivers will use stereo
Canvases to improve performance.
2018-03-22 09:57:44 -07:00
bjorn
c0ea3240c3
Organize drawing code;
2018-03-22 09:57:44 -07:00
bjorn
1cd1b5e11d
Use a Mesh for primitives;
2018-03-22 09:46:26 -07:00
bjorn
d77b139d21
Make Mesh more lightweight;
2018-03-21 15:36:00 -07:00
bjorn
6fb977b5bb
Improve Mesh VAO state diffing;
...
Also permit empty tables for vertex formats.
2018-03-13 16:12:12 -07:00
bjorn
c0d4d33d47
lovr.graphics.newMesh accepts VertexData;
2018-03-11 11:24:11 -07:00
mcc
1732384262
Implementation of mesh:attachAttributes(), with optional instance divisor
...
Some features remain to be implemented, these are marked with TODOs.
Currently it is not allowed to attach a mesh which itself has attachments.
2018-03-04 17:07:54 -05:00
bjorn
4df836727c
Simplify refcounting;
2018-02-26 00:59:03 -08:00
bjorn
8ad882e7a4
Add VertexData object;
2018-02-10 17:27:29 -08:00
bjorn
032788003a
VertexData; IndexData;
2018-01-27 12:51:41 -08:00
bjorn
66d0e42908
Refactor VertexFormat;
2018-01-26 19:11:40 -08:00
bjorn
ea7f3d48a2
Refactor MeshFormat;
2018-01-26 19:01:41 -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
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
1ebc527c74
Load vertex colors for models;
2017-10-23 19:24:29 -07: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
e8f2166e00
Remove textures from Models and Meshes;
2017-10-21 12:34:58 -07:00
bjorn
03c01cb97a
Use access bits better when mapping Meshes;
2017-08-08 01:33:52 -07:00