bjorn
fb42bf3fbb
Rearrange some ModelData stuff;
2022-06-15 23:17:11 -07:00
bjorn
7de6bdf242
Shaders; Rework vertex formats;
2022-06-15 20:46:43 -07:00
bjorn
70e0f5c5cf
Synchronization;
2022-06-11 22:55:43 -07:00
bjorn
d9b5237851
Sync cleanup;
2022-06-11 19:07:46 -07:00
bjorn
3d83d0fcfe
Pass:multimesh;
...
IT'S ALIVE
2022-06-09 23:38:33 -07:00
bjorn
2896dc0bfa
gpu: indirect draws accept optional stride;
2022-06-09 23:31:46 -07:00
bjorn
fc616f92c2
Pass:mesh; Pass:setMeshMode;
2022-06-09 23:05:32 -07:00
bjorn
2abf1a4a0c
Fix luax_optu32;
2022-06-09 23:05:02 -07:00
bjorn
3009e1d45c
Rename transfers to uploads;
2022-06-09 22:44:23 -07:00
bjorn
ab2c52bc05
Fix attachment cache;
2022-06-09 20:05:31 -07:00
bjorn
988393bb7f
gpu: properly expunge render passes and framebuffers;
2022-06-09 20:05:04 -07:00
bjorn
451e8a53ed
Discard attachments more;
2022-06-09 19:26:53 -07:00
bjorn
1cc8cf9f4a
Update glslang to accept array of shader strings;
2022-06-09 17:44:46 -07:00
bjorn
b2e681ddfd
Allow hexcode for render pass clear;
2022-06-09 17:37:06 -07:00
bjorn
ac9bc5112b
Fix typo;
2022-06-09 00:09:47 -07:00
bjorn
efe57133d0
Validation errors are logs not errors;
2022-06-09 00:01:51 -07:00
bjorn
c2dab3cf2c
Update lovr.draw signature;
...
- If you return a truthy value from lovr.draw, the pass won't be
submitted. A falsy value will submit the input pass.
- For convenience, lovr.graphics.submit returns true.
2022-06-08 23:59:48 -07:00
bjorn
6f16385fa1
Improve graphics error handling;
2022-06-08 23:59:36 -07:00
bjorn
0d4d7bc0e3
Fix vertex shader draw count; Simplify upload sync;
2022-06-08 21:23:30 -07:00
bjorn
711a7df43b
CMake can compile shaders;
2022-06-07 21:19:42 -07:00
bjorn
ef19a334a9
Pass:setSampler;
...
This is an experimental take on the "default filter" system. Each
render Pass has its own "global sampler", initialized to trilinear. The
global sampler will be used by default to sample textures/materials in
shaders. You can set it to a filter mode or a full Sampler object. You
can always send your own Sampler objects to Shaders if you want
per-texture sampler settings. The global sampler is designed to be set a
small number of times per pass instead of on every draw. Basically,
just do Pass:setSampler('nearest') and draw your minecraft world.
2022-06-07 20:42:10 -07:00
bjorn
a26e732ab0
Cleanup;
2022-06-07 20:42:06 -07:00
bjorn
2b65b50ed9
Pass:setViewport; Pass:setScissor;
...
It pretends to be like a pipeline state even though it isn't.
Might be nice for nil to mean "the framebuffer size" which is the default.
2022-06-06 12:38:15 -07:00
bjorn
2ee1a8d014
Image:getPointer;
2022-06-06 07:32:01 -07:00
bjorn
d5325b87b4
Headset support;
2022-06-05 20:38:14 -07:00
bjorn
e36cc6482d
rename pass/buffer to getPass/getBuffer;
2022-06-05 18:56:03 -07:00
bjorn
a8b35074e0
Pass:send supports push constants;
2022-06-05 18:54:26 -07:00
bjorn
8effa7424f
Pass:circle;
2022-06-05 13:12:49 -07:00
bjorn
7b5c816345
More efficient resource tracking;
...
- Temporary buffers are not tracked
- Sample-only textures are not tracked, but their initial upload is synchronized.
- Default texture something something
2022-06-04 14:54:04 -07:00
bjorn
6245aaa9d9
I have made a mistake;
2022-06-04 14:49:58 -07:00
bjorn
3a43d44460
Pass tracks resources for sync purposes;
2022-06-04 14:28:23 -07:00
bjorn
ea80936af7
Pass:compute;
2022-06-04 11:54:05 -07:00
bjorn
d8583c6a9d
gpu_compute; gpu_compute_indirect;
2022-06-04 11:53:59 -07:00
bjorn
d3a1a0ec22
Pass:cube; Pass:box;
2022-06-04 11:28:35 -07:00
bjorn
3013567e73
Fix Pass:translate;
2022-06-04 11:28:31 -07:00
bjorn
e07a2691e0
Clean up plane;
2022-06-04 11:19:28 -07:00
bjorn
62f2d9a800
Organization;
2022-06-04 09:57:06 -07:00
bjorn
e652ae67af
Pass:plane;
2022-06-04 01:34:13 -07:00
bjorn
ebc6d9d3a3
Pass:line;
2022-06-04 01:33:50 -07:00
bjorn
a2668a1632
Fix canvas always trying to add depth buffer;
2022-06-04 01:33:11 -07:00
bjorn
2c2eada1f0
Fix pipeline creating the wrong render pass;
2022-06-04 01:31:16 -07:00
bjorn
d9bf19da33
Fix texture memory allocation;
2022-06-04 01:30:51 -07:00
bjorn
b2a3c59c42
Fix projection matrix;
2022-06-04 01:04:23 -07:00
bjorn
ac3801902b
Pipeline stack;
2022-05-31 21:57:55 -07:00
bjorn
a09773a5c8
gpu_sync;
2022-05-31 21:50:29 -07:00
bjorn
ec8b7f9727
Adjust;
2022-05-31 21:45:54 -07:00
bjorn
8431fc72ba
Adjust;
2022-05-31 21:41:43 -07:00
bjorn
0104fe1910
Fancy compare mode aliases;
2022-05-31 21:33:06 -07:00
bjorn
513a1876c9
Simplify vertex buffers;
...
The default buffer is always bound to slot 0 once at the beginning of
command buffers, reducing the amount of rebinding.
2022-05-31 21:20:01 -07:00
bjorn
ab04577495
Enforce maximum spirv version;
2022-05-31 20:47:47 -07:00