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

205 commits

Author SHA1 Message Date
bjorn 7f333ce956 Refactor Mesh attributes; 2018-12-07 19:11:14 -08:00
bjorn e2886d3bb5 Mesh uses Buffer; 2018-12-07 15:57:45 -08:00
bjorn 9a0f7c919a ShaderBlocks use Buffers; 2018-12-06 16:34:14 -08:00
bjorn ac33b8b085 Add Buffer objects; 2018-12-06 16:14:30 -08:00
bjorn a8361677f5 Move pose from Mesh to DrawCommand; 2018-12-05 10:22:12 -08:00
bjorn ba60e99890 lovrPlatform: Window creation; 2018-11-16 02:26:56 -08:00
bjorn 005d4b93f2 Move math helpers into lib;
They aren't really part of the math module since they are shared
across several modules, more "util"-y.
2018-11-15 08:03:51 -08:00
bjorn a06734ae97 Use alpha to coverage and alpha test for text; 2018-11-08 11:58:43 -08:00
bjorn bfeb3d2d51 lovr.graphics.discard; 2018-11-08 11:58:31 -08:00
mcc dba6724915 Framebuffer and depthbuffer should also be passed into the canvas create-from-handle 2018-10-27 23:11:11 -04:00
mcc c68c850157 Give lovrCanvasCreateFromHandle the option of not deleting framebuffer on canvas delete, also fix default texture issue 2018-10-27 22:15:49 -04:00
mcc d17dec1b0e Graphics now draw, although head tracking is not correct 2018-10-26 01:05:28 -04:00
mcc b892d0143f Remerge oculus mobile and master branches (to get lovrCanvasCreateFromHandle) 2018-10-25 00:06:39 -04:00
mcc 5ad8fdd3e3 Fixes as far as running without crashes, no display yet 2018-10-24 23:40:11 -04:00
bjorn ee9d575cba lovrCanvasCreateFromHandle;
Was it really that easy?
2018-10-24 09:42:32 -07:00
bjorn 8d29bbc68c Canvas.count -> Canvas.attachmentCount; 2018-10-24 09:42:32 -07:00
bjorn cfac548e7b Add flag to make Canvas depth texture readable;
- DepthFormat is now just TextureFormat.
- Canvas:getDepthTexture instead of Canvas:getDepthFormat.
2018-09-27 18:34:43 -07:00
bjorn 737f0b6dc3 Fix edge case in lovrMeshResize;
Also make BufferUsage usage more consistent.
2018-09-23 19:13:32 -07:00
bjorn 72158f103a Update for stereo rendering and new headset API; 2018-09-11 15:30:31 -07:00
bjorn 75ca4b0cba lovrTextureCreateFromHandle; 2018-09-11 15:30:31 -07:00
bjorn ca6bd29501 bindBlockBuffer: fix buffer target for emscripten; 2018-09-05 04:44:19 -07:00
bjorn a13849b525 ShaderBlock:getShaderCode: Fix string length calculation; 2018-09-05 04:40:22 -07:00
bjorn 1e351255f1 Fix UBO usage enum; 2018-09-05 04:10:12 -07:00
bjorn ddba19efad Work around glGenerateMipmap on macOS; 2018-09-05 03:54:43 -07:00
bjorn a5b9d267d0 Ensure int attributes are signed; 2018-09-05 03:25:13 -07:00
bjorn f47dccaaa3 Ensure GL state is tracked properly between restarts; 2018-09-04 15:02:55 -07:00
bjorn 7e1687ce6b Fix Shader:sendImage; 2018-09-04 06:58:54 -07:00
bjorn f17d57e987 Fix up problems with tracking incoherent resources; 2018-09-02 22:20:32 -07:00
bjorn 2e881cbda0 Fix bad assert for image uniforms; 2018-09-02 21:15:43 -07:00
bjorn 59280c4e9d Fixes for compressed textures; 2018-09-01 05:40:45 -07:00
bjorn 8b9e9eba9e Use GLSL 430 when available; 2018-09-01 01:57:38 -07:00
bjorn ea331a12be Fix bugs; 2018-08-31 23:24:59 -07:00
bjorn 4e61d2ea3b Really icky conditional shader compilation;
But I can't think of another way to do it.
2018-08-31 19:52:03 -07:00
bjorn d5c884b1d8 Fix emscripten warning; 2018-08-31 18:10:51 -07:00
bjorn a5256aaa27 Happy little graphics refactors; 2018-08-31 06:03:35 -07:00
bjorn 0ce6e046a6 lovrViewportCount; Multiply vertex divisors; 2018-08-31 02:41:50 -07:00
bjorn 017066d45e More emscripten stuff;
SwapInterval was removed to ensure RAF timing is used.
2018-08-30 21:58:00 -07:00
bjorn 7e889a564a Emscripten fixes; 2018-08-30 20:56:08 -07:00
bjorn ab1651a1a0 Diff active texture; 2018-08-30 19:42:01 -07:00
bjorn a8f9b899e0 Cleanup; 2018-08-30 19:40:31 -07:00
bjorn 7c21d77a6e rm singlepass conf flag; Viewports; getSupported.singlepass; 2018-08-30 04:02:58 -07:00
bjorn 20faaf7479 ShaderBlock buffer bind fix; 2018-08-30 03:41:10 -07:00
bjorn 4631d2dacc Test shader extension fallback; 2018-08-30 03:38:31 -07:00
bjorn dd889a1c4a Diff viewport state; 2018-08-30 03:25:16 -07:00
bjorn e6a7a4f922 Redo singlepass; 2018-08-30 00:52:38 -07:00
bjorn 58747d6673 Rebase; 2018-08-29 21:31:07 -07:00
bjorn 56821b3aba lovrCanvasBlit works with MSAA; 2018-08-29 21:22:13 -07:00
bjorn e2d7310914 Fix sneaky MSAA bug; 2018-08-29 21:22:13 -07:00
bjorn 4215ea2e24 Canvas getters; 2018-08-29 21:22:13 -07:00
bjorn 3c78eae42b Fix interaction between mipmaps/msaa resolution; 2018-08-29 21:22:12 -07:00
bjorn e287cee1c9 Canvas:newTextureData; 2018-08-29 21:22:12 -07:00
bjorn 74fec01e60 Canvas mipmaps flag; 2018-08-29 21:22:12 -07:00
bjorn 06fa846680 Resolve supports multiple color attachments; 2018-08-29 21:22:12 -07:00
bjorn a4912ce96e Only resolve if MSAA; 2018-08-29 21:22:12 -07:00
bjorn a5f6ff506b MSAA resolve; 2018-08-29 21:22:12 -07:00
bjorn 3fb1b49549 MSAA canvases/textures but no resolving yet; 2018-08-29 21:22:12 -07:00
bjorn 6b87a71261 Allow Canvases to be used as Textures sometimes; 2018-08-29 21:22:11 -07:00
bjorn 590668a8d6 lovrGraphicsBlit; 2018-08-29 21:21:38 -07:00
bjorn 8bb45f4de4 Clean up viewports; 2018-08-29 21:21:07 -07:00
bjorn 0af2704e5c openvr canvas changes; 2018-08-29 21:20:01 -07:00
bjorn f0806bb270 Pointers; 2018-08-29 21:19:41 -07:00
bjorn 21a869cc8b Clean up; 2018-08-29 21:19:41 -07:00
bjorn 1ea3c84be9 Ugly viewport stuff; 2018-08-29 21:19:07 -07:00
bjorn 251f197c68 Free renderbuffer; 2018-08-29 21:18:33 -07:00
bjorn 329668eb39 Additional Canvas validation; 2018-08-29 21:18:33 -07:00
bjorn 4cc8bd7582 Canvas depth buffer; 2018-08-29 21:18:33 -07:00
bjorn 3bf76e3497 Fix clear and canvas texture refcounts; 2018-08-29 21:18:33 -07:00
bjorn e8ec73657d lovrCanvasBind; 2018-08-29 21:18:33 -07:00
bjorn 7e74441afd getCanvas; setCanvas; Canvas attachments; 2018-08-29 21:18:33 -07:00
bjorn d39e9f1687 Depth texture formats;
I hope I don't hate myself for calling them d16, d32, etc.
2018-08-29 21:18:32 -07:00
bjorn e9ebdc2d58 Rework TextureData creation functions; 2018-08-29 21:18:32 -07:00
bjorn 7795bb9276 I came in like a wrecking ball; 2018-08-29 21:18:32 -07:00
bjorn 7569b7934f conf flag for singlepass; Shader fixes; 2018-08-23 12:52:18 -07:00
bjorn d2b6def5c2 Shader:sendImage;
Can be used to bind images with specific slices, mipmap levels,
and access hints.
2018-08-17 19:53:54 -07:00
bjorn cab12ba945 Shader:setBlock accepts access hint; 2018-08-17 19:53:54 -07:00
bjorn a32b53b2cc UniformAccess for read/write block/image hints; 2018-08-17 19:53:54 -07:00
bjorn 3eca158025 ty compiler; 2018-08-16 17:54:48 -07:00
bjorn 96cfeedc94 Add rg16f and rg32f texture formats; 2018-08-16 14:54:37 -07:00
bjorn bd1bb5850e Load HDR files in floating point format; 2018-08-16 14:28:10 -07:00
bjorn a30fdc9749 Texture:getFormat; 2018-08-16 14:27:45 -07:00
bjorn 29e733503f Canvas works with new texture allocation method; 2018-08-15 17:56:19 -07:00
bjorn d036388209 Fix GL_IMAGE_2d constant; 2018-08-15 16:55:50 -07:00
bjorn a18540a934 Proper validation of uniform texture types; 2018-08-13 17:03:39 -07:00
bjorn 0e0ac05c6f Attempt towards more comprehensive barriers; 2018-08-11 21:17:22 -07:00
bjorn 246e9b13b9 Better shader compilation error messages; 2018-08-11 00:09:47 -07:00
bjorn 1295481dc0 Better error message; 2018-08-11 00:09:47 -07:00
bjorn 58dc34ec64 Proper format support for image uniforms; 2018-08-11 00:08:34 -07:00
bjorn 7528ac2db8 Fix texture format for image uniforms; 2018-08-11 00:08:34 -07:00
bjorn 6d10f5c7d0 Post-merge fixes; 2018-08-11 00:08:34 -07:00
bjorn 9ce462a67f Image uniforms; 2018-08-11 00:08:34 -07:00
bjorn d961614184 Attempt automatic glMemoryBarrier; 2018-08-11 00:08:34 -07:00
bjorn 9e111071e8 webgl stuff;
I shouldn't need to do this but will fix it later.
2018-08-11 00:08:34 -07:00
bjorn c3823a6f9a ARB_shader_image_load_store; rm opengl es from glad;
This means we had to remove rgb565 and FRAMEBUFFER_INCOMPLETE_DIMENSIONS.
2018-08-11 00:08:34 -07:00
bjorn 902239c017 lovr.graphics.wait; Barrier; 2018-08-11 00:08:34 -07:00
bjorn e371359193 Compute shader glsl prefix; 2018-08-11 00:08:33 -07:00
bjorn 98e518683a Add computeshaders to lovr.graphics.getSupported; 2018-08-11 00:08:33 -07:00
bjorn 3b51056870 lovr.graphics.compute; 2018-08-11 00:08:33 -07:00
bjorn 2cb6de47f2 Compute shader creation; 2018-08-11 00:08:33 -07:00
bjorn b1079f5ce8 Separate initialization for graphics/compute shaders; 2018-08-11 00:08:33 -07:00
bjorn bf3ed3ed1f Texture improvements;
Textures no longer keep references to their TextureData.
lovrTextureAllocate can now be used to allocate texture storage,
and isn't weirdly coupled to lovrTextureReplacePixels.
Better error messages for textures.
2018-08-09 16:12:57 -07:00