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
7aab5ce79b
Fix errhand;
2022-07-17 09:55:27 -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
35d8a4c49c
Tally API;
2022-07-17 09:05:39 -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
3bfd9ca0e1
gpu: improve wait functions;
...
- gpu_finished -> gpu_is_complete
- add gpu_wait_tick -> can wait for specific tick to finish (fence)
- gpu_wait -> gpu_wait_idle
2022-07-14 00:04:38 -07:00
bjorn
c54a587590
gpu: fix read scratchpad destruction;
2022-07-14 00:04:21 -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
ae87abc7bb
gpu: fix allocator;
2022-07-11 19:53:53 -07:00
bjorn
a4e4181489
Error screen;
2022-07-10 21:37:52 -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
698977c5be
Better default torus segments;
2022-07-10 18:02:31 -07:00
bjorn
e8ebb17796
Fix hexcode render pass clear;
2022-07-10 17:07:04 -07:00
bjorn
cfa5613db4
gpu: render pass cache uses correct resolve layout;
2022-07-10 17:06:43 -07:00
bjorn
f23ae4009f
gpu: Fix render pass cache eviction;
2022-07-10 17:06:20 -07:00
bjorn
dacd17066d
luax_checkendpoints;
...
Allows drawing a sphere/capsule using 2 endpoints.
2022-07-10 13:11:47 -07:00
bjorn
4e8fe82f94
Font:getVertices;
2022-07-10 12:49:47 -07:00
bjorn
889b1d8271
Improve Buffer length estimation;
2022-07-10 12:49:11 -07:00
bjorn
f89b1811aa
Adjust default Buffer field locations;
...
I guess it's better to match them up with the default attributes.
In most cases you're going to want to manually specify them with names
or numbers anyway.
2022-07-10 12:35:02 -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
72dd7ee0f2
Fix compute shader compilation;
2022-07-09 23:39:20 -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