bjorn
e0e1bc68f9
Add support for cubemap arrays;
...
- Cubemaps can have any layer count that is a multiple of 6.
- A cubemap with more than 6 layers will be a cubemap array image view.
- This isn't perfect because it conflates regular cubemaps with
6-layer cubemap arrays.
- Enable the vk feature, handle the spv feature, add getPixel helper.
2023-11-10 11:15:16 -08:00
bjorn
67b1929af6
Merge branch 'stable' into dev
2023-11-09 16:51:28 -08:00
bjorn
eefc89909e
Fix bitangent sign;
...
Really gotta compress ModelVertex at some point.
2023-11-09 16:50:52 -08:00
bjorn
62810a195c
rm Pass:append;
...
This was an experiment that was never documented/announced.
2023-11-09 16:08:14 -08:00
bjorn
534947bc20
Merge branch 'stable' into dev
2023-11-09 14:57:42 -08:00
bjorn
4522d1050f
Fix OpenXR layout transitions;
2023-11-09 14:57:29 -08:00
bjorn
ce4e07db1b
Revert removal of lovr.graphics.initialize;
...
I forgot that graphics also needs to be initialized after headset,
otherwise the XR_KHR_vulkan_enable2 callbacks won't exist yet. Boo
2023-11-09 13:31:56 -08:00
bjorn
02860ff8e9
Merge branch 'stable' into dev
2023-11-09 12:48:10 -08:00
bjorn
648118d308
Fix excessive gamma-to-linear conversion;
2023-11-09 12:47:39 -08:00
bjorn
c4cda0a7bb
core/gpu: rm TRANSIENT texture usage;
...
It's implied when the usage is just RENDER
2023-11-08 14:54:10 -08:00
bjorn
e8945763c2
core/gpu: allocation callbacks;
2023-11-08 14:45:04 -08:00
bjorn
9e82dc9148
Layer count is implicitly 6 when creating cubemap;
...
LÖVR understands me
2023-11-06 15:53:01 -08:00
bjorn
8d58ad8533
errhand doesn't use lovr.graphics.isInitialized;
2023-11-06 15:52:44 -08:00
bjorn
8ed5572b0e
rm lovr.graphics.initialize/isInitialized;
...
This only existed because the graphics module had to know about the
window during initialization, but this is no longer the case.
2023-11-03 15:53:33 -07:00
bjorn
c98db5b670
lovr.system.wasMousePressed/Released;
2023-11-02 18:55:02 -07:00
bjorn
038db88cb7
Consolidate texture format features;
...
- 'sample' now implies both sample and linear filtering (practically always
true for all formats lovr supports)
- 'render' now includes 'blend' for color formats (also practically
always true except for r32f on some old mobile GPUs)
- 'blit' now includes 'blitsrc'/'blitdst' because lovr doesn't support
blitting between textures with different formats
- 'atomic' is removed because lovr doesn't really support atomic images yet
2023-11-02 15:33:29 -07:00
bjorn
eac68d2fe4
Skip creating texture views for transfer-only textures;
...
Vulkan forbids it!
2023-11-02 13:50:55 -07:00
bjorn
c2d9aa5657
Destroy linear texture views;
2023-11-02 13:40:16 -07:00
bjorn
90a14478a3
lovrImageCreateRaw takes sRGB flag; Fix readback encoding;
...
Roundtripping pixels through a readback preserves sRGB encoding.
2023-11-02 13:38:21 -07:00
bjorn
b2083e9a4a
Ignore linear=false flag for linear-only formats;
...
Also fix bug with r8 srgb canvases...
2023-11-02 13:26:49 -07:00
bjorn
afef8887ba
Texture:getFormat also returns linear/srgb encoding;
2023-11-02 13:17:05 -07:00
bjorn
0468a2f090
Default texture is linear;
2023-11-02 13:16:00 -07:00
bjorn
e9743a2fb8
Secretly create and bind linear views of sRGB storage textures;
2023-10-31 17:14:09 -07:00
bjorn
a28d66e3a1
Mesh:setMaterial takes texture too;
2023-10-31 16:08:00 -07:00
bjorn
55a27d0a69
Implement numpad keys for desktop;
2023-10-31 15:55:00 -07:00
bjorn
9ff8ad61e1
Prefix KEY enums with OS_KEY;
2023-10-31 13:16:20 -07:00
bjorn
1d82e7f66c
gpu_texture refactoring;
2023-10-30 18:41:51 -07:00
Bjorn
d711df3a7d
Merge pull request #713 from bjornbytes/layers
...
Layers
2023-10-26 16:57:50 -07:00
bjorn
df9f50ca5c
Fixes for layer depth test and depth submission;
2023-10-26 16:29:35 -07:00
bjorn
bdbdd467e0
Layer improvements;
2023-10-25 15:24:14 -07:00
bjorn
6bccbd66ec
Layer fixes;
2023-10-25 15:24:14 -07:00
bjorn
c8eb6606c6
OpenXR layer implementation;
2023-10-25 15:24:13 -07:00
bjorn
4c2e206e30
Bindings;
2023-10-25 15:23:41 -07:00
bjorn
72aac1c58a
Start Layers;
2023-10-25 15:23:41 -07:00
bjorn
2f8d9aa6dc
Disable depth submission when depthResolve is not supported;
...
Prefer MSAA over depth submission on GPUs that can't resolve depth
buffers (Quest 1).
2023-10-25 15:22:16 -07:00
bjorn
42cfb273f9
Fix bug where depth wasn't being submitted to VR runtime;
2023-10-25 15:15:16 -07:00
bjorn
2c5f9d379b
World:raycastAny and World:raycastClosest;
...
These are methods that implement some common raycast behaviors without
creating a closure. They also take tag filters. The tag filters could
be optimized to use tag numbers instead of string comparison, and the
default raycast method could take a tag filter, but I didn't want to
modify the C API while Jolt is in progress.
2023-10-23 16:09:07 -07:00
bjorn
9f33a83ae8
Add Vulkan requirement to Android manifest;
2023-10-20 14:48:29 -07:00
bjorn
0dfa95626e
Model:resetBlendShapes;
...
Resets blend shapes to default values, like :resetNodeTransforms.
2023-10-18 15:51:52 -07:00
bjorn
f8f79ce20e
Merge branch 'stable' into dev
2023-10-18 14:07:14 -07:00
bjorn
6a83ef9678
Fix lovr.quit to not get called twice when aborting quit;
2023-10-18 12:58:49 -07:00
bjorn
c9e12680fe
rm deprecated headset stuff;
2023-10-15 14:10:39 -07:00
bjorn
35628e332c
rm deprecated pass stuff;
2023-10-15 14:10:39 -07:00
bjorn
ab3922345f
rm deprecated buffer stuff;
2023-10-15 14:08:50 -07:00
bjorn
1d6f3afc34
v0.17.0;
2023-10-14 19:36:19 -07:00
bjorn
99f8c3a25c
Fix frustum culling;
...
The technique used only works for AABBs. Trying to apply the model
matrix to the extent like that isn't valid. For now, switch back to
the naive approach. This is quite a bit slower, but at least it's
correct.
2023-10-11 18:21:11 -07:00
bjorn
68aad50a2d
Use better UBO size when pass has more than 256 draws;
2023-10-11 13:55:25 -07:00
bjorn
5d6f538524
Pass:barrier also barriers against indirect stage;
...
Fixes a validation error that probably no one was running into.
2023-10-11 08:26:06 -07:00
bjorn
b319aeeb40
Fix Pass:send when using a table with an array UBO;
2023-10-07 16:22:56 -07:00
bjorn
878018e150
Merge branch 'master' into dev
2023-10-05 12:26:09 -07:00