bjorn
e87cec1b49
Reduce number of materials per block;
2022-07-31 10:39:49 -07:00
bjorn
9e4765818a
Rename texture depth to layer count;
2022-07-31 10:39:49 -07:00
bjorn
571c71b76e
Rename pipeline stack to state;
2022-07-31 10:39:49 -07:00
Josip Miskovic
7c792fd975
Fix cylinder's triangle winding and normals
2022-07-31 09:38:40 -07:00
bjorn
a0173252b9
Slight improvement to lovr.mirror;
2022-07-17 20:07:31 -07:00
bjorn
922942a0bf
Initialize Pass font properly;
2022-07-17 20:07:20 -07:00
bjorn
d9623a51a9
Pass:setFont;
2022-07-17 19:53:31 -07:00
bjorn
24504d1719
Adjust;
2022-07-17 16:38:29 -07:00
bjorn
d17131c421
Pass:cone;
2022-07-17 16:38:00 -07:00
bjorn
92201b87a1
Rename timer tally type to time;
2022-07-17 13:17:33 -07:00
bjorn
83fa750a4d
Support and default to reverse-z with infinite far plane;
2022-07-17 12:37:59 -07:00
bjorn
1df537294a
Improve Model texture loading;
...
- Only loads textures used by materials
- Creates color/glow textures as sRGB
2022-07-17 12:04:47 -07:00
bjorn
c2dd7281cc
mv stage tally -> shader tally;
2022-07-17 11:38:55 -07:00
bjorn
1946fbb540
Reduce default near plane;
...
I feel like we've (un)done this before...
2022-07-17 11:05:24 -07:00
bjorn
5d3e1f93cd
Add d32fs8;
2022-07-17 11:03:00 -07:00
bjorn
32346796ef
Tally/Readback cleanup;
2022-07-17 09:50:15 -07:00
bjorn
faa690b7f0
Material API;
...
Just returns everything as a table. Some sort of key-value thing would
be nice but complicates the implementation.
2022-07-17 09:29:13 -07:00
bjorn
430f687add
Projection updates;
...
- Rename/reorder some projection matrix functions.
- Make perspective functions flip Y and use 0-1 NDC range.
- Flip winding and font vertices based on handedness.
This stuff is really confusing
2022-07-17 09:02:53 -07:00
bjorn
1bc31b7751
Revert accidental winding change;
2022-07-15 21:42:31 -07:00
bjorn
e2bfff1b0a
Tally/Readback fixes;
2022-07-14 19:23:02 -07:00
bjorn
45135899a1
Readback, mostly;
2022-07-14 00:05:58 -07:00
bjorn
4909a1963b
Fix clear alpha;
2022-07-14 00:03:58 -07:00
bjorn
f5ec2e9158
Don't encode Images upside down anymore;
2022-07-13 23:59:35 -07:00
bjorn
bca10c9e98
Make info structs const;
2022-07-13 00:07:15 -07:00
bjorn
0b76ab7e96
Add a few Tally things;
2022-07-12 19:59:12 -07:00
bjorn
1c571001e7
Finish Model API;
2022-07-12 19:35:23 -07:00
bjorn
cd65e8d34c
Cache only rebinds vertex/index buffers when needed;
2022-07-12 17:19:30 -07:00
bjorn
83245afae6
Fix Font:getLines;
2022-07-11 22:43:42 -07:00
bjorn
4e92a4e503
Super ultra cool geometry cache;
...
Pass stores a small 16-bucket cache of vertices/indices it recently
generated. Draws that have relatively predictable geometry can provide
a hash along with their draw. The Pass will reuse vertices based on the
hash, when possible, and return a NULL vertex pointer to let the draw-er
know they don't need to generate any vertices.
This provides a dramatic speedup when drawing the same shape many times
in a row. The overhead is negligible, with benefits kicking in with
just a small handful of repeated draws (3-5 for cubes, less for more
complex shapes).
2022-07-11 20:52:35 -07:00
bjorn
a0cd36a77b
Fix torus winding;
2022-07-10 18:02:49 -07:00
bjorn
0a251495bc
Fix normal matrix;
2022-07-10 18:02:44 -07:00
bjorn
4e8fe82f94
Font:getVertices;
2022-07-10 12:49:47 -07:00
bjorn
f7d7281e70
Add index16/index32 FieldTypes;
...
Similar to u16/u32 but are 1-indexed when written using tables.
2022-07-10 12:18:31 -07:00
bjorn
8e89026678
Shader:getLocalWorkgroupSize;
2022-07-09 23:39:03 -07:00
bjorn
886bfe18c1
Shader "improvements";
2022-07-09 23:09:02 -07:00
bjorn
c7f4e11b0b
Improve shader errors;
2022-07-09 21:39:31 -07:00
bjorn
e8a5f02e7b
Start stats;
2022-07-09 21:19:51 -07:00
bjorn
159352770f
Model:getTriangles;
...
Doesn't 100% work, Buffers are kind of a mess, ugh.
2022-07-09 18:30:36 -07:00
bjorn
40cbb18346
Ugly Pass:capsule;
2022-07-09 16:38:25 -07:00
bjorn
b0c1dd5f12
Put nogame in its own file;
2022-07-06 23:50:43 -07:00
bjorn
f2cfb19d4d
Material textures must be sample-only;
...
Tracking every material's texture would add a lot of overhead, probably
2022-07-06 23:00:39 -07:00
bjorn
3bf5ec5744
Shader improvements;
...
Mostly renaming things and adding helper functions.
2022-07-06 22:54:56 -07:00
bjorn
f9c07f852b
gltf: KHR_texture_basisu; Only load active images;
2022-07-06 20:24:02 -07:00
bjorn
5f19c2e1be
Model:getBoundingBox; Model:getBoundingSphere;
2022-07-06 19:22:02 -07:00
bjorn
516ac2a925
Fix validation issue when first draw uses empty vertex format;
2022-07-06 16:43:42 -07:00
bjorn
a44ab9bcfa
Fix presentation sequence issue;
...
Fixes crash on error inside lovr.draw.
2022-07-05 21:58:54 -07:00
bjorn
dbc34c0fdc
Update internal resource limit caps;
2022-07-04 15:54:43 -07:00
bjorn
dd8d8fe67e
Adjust;
2022-07-04 15:22:54 -07:00
bjorn
b7e5bd1d67
Require 64KB uniform buffers;
...
64KB is near-ubiquitous, and the per-draw UBO needs this much space.
2022-07-04 15:21:43 -07:00
bjorn
b934fac1df
Pass:skybox;
2022-07-04 00:18:38 -07:00