1
0
Fork 0
mirror of https://github.com/bjornbytes/lovr.git synced 2024-07-03 13:03:38 +00:00
Commit graph

148 commits

Author SHA1 Message Date
bjorn a723ec7c5c Update error screen;
The error screen uses an orthographic projection when rendered in a
window, so the text is always the same size instead of scaling with the
window size.

Also you can close it with escape.
2023-05-12 17:16:22 +01:00
bjorn 61fe0f3bc0 Default errhand uses transparent background in AR; 2023-05-12 14:31:31 +01:00
bjorn 776a709de1 nogame: quit on escape; 2023-05-12 14:30:47 +01:00
bjorn b8a8aa2755 nogame: only set background color in VR; 2023-05-12 14:28:53 +01:00
bjorn 264bfdeadf Use lovr.system.pollEvents in lovr.errhand; 2023-05-10 18:14:09 +01:00
bjorn 211c29e8c2 rm oculus openxr loader;
As of v51, Quest works with the official OpenXR loader.
2023-05-10 18:14:09 +01:00
bjorn da107f4387 Rename lovr.event.pump to lovr.system.pollEvents; 2023-05-10 18:14:09 +01:00
bjorn 027dd0563b Fix seam in equirect shader; 2023-05-10 18:14:09 +01:00
bjorn 20a331cb93 Fix equirect shader orientation; 2023-05-10 18:14:09 +01:00
bjorn 43e796acd1 Fix --graphics-debug; 2023-05-03 23:08:45 -07:00
bjorn c717670a80 Add --graphics-debug command line argument; 2023-05-03 20:54:19 -07:00
bjorn 452ee5c7c6 Pass rework;
Pass stores draw commands rather than sending them to Vulkan
immediately.

The main motivation is to allow more flexibility in the Lua API.  Passes
are now regular objects, aren't invalidated whenever submit is called,
and can cache their draws across multiple frames.  Draws can also be
internally culled, sorted, and batched.

Some API methods (tallies) are missing, and there are still some bugs to
fix, notably with background color.
2023-05-02 00:06:01 -07:00
bjorn f98306e786 rm transfer passes; rm Tally for now;
- Add Buffer:newReadback
- Add Buffer:getData
- Buffer:getPointer works with permanent buffers
- Buffer:setData works with permanent buffers
- Buffer:clear works with permanent buffers
- Add Texture:newReadback
- Add Texture:getPixels
- Add Texture:setPixels
- Add Texture:clear
- Add Texture:generateMipmaps
- Buffer readbacks can now return tables in addition to Blobs using Readback:getData

Tally is coming back soon with an improved API, it's temporarily removed
since it made the transfer rework a bit easier.

Note that synchronous readbacks (Buffer:getData, Texture:getPixels)
internally call lovr.graphics.submit, so they invalidate existing Pass
objects.  This will be improved soon.
2023-04-29 18:31:03 -07:00
bjorn 6862b8c970 Change cofactor/normal matrix to mat3;
This means per-draw uniform data is 128 bytes now!
2023-04-27 20:22:31 -07:00
bjorn 8f654ed408 Simplify fill shaders;
Now there's 2 instead of 3!  Behavior is the same, fill goes
layer-by-layer onto each view until either the texture or canvas run out
of layers.
2023-04-26 22:18:06 -07:00
bjorn 6c252a47b8 Don't declare builtin flags in compute shaders;
They aren't used, and increase file size and clutter up disassembly.
2023-04-05 21:53:39 -07:00
bjorn 747c7fdddf Optimize blend shape shader;
This is ~20% faster, I think it's because all the SSBO stores are
"batched" at the end.
2023-04-05 21:53:39 -07:00
bjorn a2b12c9e7c Vertex tangents don't require normalMap flag anymore; 2023-03-31 19:23:20 -07:00
bjorn ff10461e69 Reduce blend shape chunk size from 128 to 64; 2023-03-31 18:45:16 -07:00
bjorn f56b48b3a7 Blend shapes and skinning work at the same time; 2023-03-31 18:45:16 -07:00
bjorn 4a6de6caf5 Write blend shape compute shader; Bugfixes; 2023-03-31 18:45:16 -07:00
bjorn 530db8c7f8 WIP blend shape compute dispatch; 2023-03-31 18:45:16 -07:00
bjorn 6de1c624b4 Scope shader macros by the stage they're valid in;
Leads to better error messages if you try to use e.g. DefaultPosition in
a fragment shader.
2023-03-02 19:03:15 -08:00
bjorn abbc6a6dc6 Merge branch 'master' into dev 2023-02-21 21:12:33 -08:00
Bjorn d1eaa43997
Merge pull request #641 from brainrom/pkgrename
Android package rename via CMake
2023-02-05 21:57:25 -08:00
bjorn 89edccbf4c Add lovr.headset.isPassthroughEnabled and lovr.headset.setPassthroughEnabled; 2023-02-05 19:51:12 -08:00
bjorn 7027defe3c rm attachmentCount shader flag;
It doesn't work as intended (due to glslang issues?).  The current way
to write a shader that uses multiple attachments is to declare multiple
output variables, which is a little better because you can name them
however you want and customize the type.

It would be nice to be able to support a "void" entrypoint for multiple
attachments so you don't need to awkwardly return the first target's
color, but I can't find a way around this right now.
2023-02-05 16:04:17 -08:00
bjorn bf31072d0d Cleanup; 2023-01-30 19:44:23 -08:00
Ilya Chelyadin d84d358de7 Minor fixes 2023-01-31 06:03:53 +03:00
kokokoshka 85b6e36020 Android package rename via CMake 2023-01-30 20:35:49 +03:00
Ilya Chelyadin ac012d39c2 Universal APK for Oculus, Pico and Generic loaders 2023-01-05 01:50:38 +03:00
Ilya f3837d99fd
Merge branch 'bjornbytes:master' into picofix 2023-01-04 23:03:54 +03:00
bjorn b6d8546a6f Merge branch 'master' into dev 2023-01-02 16:46:55 -08:00
bjorn fe353ea243 Fix default lovr.log printing gsub result; 2022-12-30 21:40:27 -08:00
bjorn d438578c42 CMake: Windows includes lovrc.bat in builds;
Also made a nifty helper function to move resources to the build folder,
in an effort to avoid writing duplicate versions of these functions for
each platform.
2022-12-30 21:20:27 -08:00
bjorn c81a356799 Compress monkey more;
Its face is smooth now, which looks better, is somewhat better for
testing, and saves 8kb.
2022-12-29 20:33:49 -08:00
bjorn dc93920816 Fix monkeycrush index;
There was a bugfix that makes model vertex indices 1-based.
2022-12-29 20:33:49 -08:00
Ilya Chelyadin f62c99e469 Fix typos, indentation, minor issues 2022-12-08 07:05:30 +03:00
Ilya bd767092f3
Merge branch 'bjornbytes:master' into picofix 2022-12-07 19:50:13 +03:00
Bjorn 78a70670bb
Merge branch 'dev' into MSFT_controller_model 2022-12-03 19:34:49 -08:00
bjorn a615351f66 Actions; Sponsors; README; 2022-12-02 18:14:31 -08:00
Ilya 92c136bc73
Merge branch 'bjornbytes:master' into picofix 2022-12-01 21:20:33 +03:00
bjorn f9d7742dfd Add support for headless headset rendering;
Although the name is unfortunate, this allows access to lovr.headset
when no window is opened or when the graphics module is disabled.  This
requires the XR_MND_headless extension to be supported by the runtime.
2022-11-26 14:40:39 -08:00
Ilya Chelyadin 3f20364c3f Pico is back!
Tested on Pico Neo 3 with PUI v4.9.3
Also included generic (Monado-Android) Android flavor.
2022-11-22 22:01:13 +03:00
s-ol 043f9c7920 store headset model metadata for animations 2022-11-22 12:24:57 +01:00
bjorn 9783140725 Fix window resize; 2022-11-09 19:05:01 -08:00
bjorn b81f86b5ad rm Android flavors for now;
There used to be oculus and pico but pico doesn't work anymore.

Eventually things will converge on the standard loader and we won't
need different loaders, but manifests may require flavors.
2022-11-09 00:21:49 -08:00
bjorn 36e1471cf0 lovr.graphics.isInitialized;
Returns whether the graphics module is initialized.  Used by the default
error handler to know if it's safe to try to render the error screen.
2022-11-07 19:12:11 -08:00
bjorn 5e2b44ad08 Fix stereo mirror window;
For some reason this was rendering both layers of a multi-layer
texture all squished.  I think it was supposed to just render the
first layer.
2022-11-07 17:14:27 -08:00
bjorn 904fb282c2 v0.16.0; 2022-10-15 21:49:25 -07:00