bjorn
b6d65922af
Standard shader: spherical harmonics irradiance;
2019-06-20 21:17:32 -07:00
bjorn
286cb711e4
Standard shader: emissive;
2019-06-20 18:22:49 -07:00
bjorn
a9241e781b
Standard shader: emissive;
2019-06-20 18:20:07 -07:00
bjorn
179071023f
Standard shader: diffuse, specular, normal mapping;
...
No shader flags yet. Still need occlusion, emissive, configurable
lighting, IBL.
2019-06-20 17:46:22 -07:00
bjorn
4611b1c9a3
Add no-op standard shader;
2019-06-20 14:21:35 -07:00
bjorn
612f699aa4
Rename default shader to unlit;
2019-06-20 14:09:55 -07:00
bjorn
06e3ef702c
Add built-in ShaderFlag for skinning vertices;
...
Now you can pass in the { skinned = true } flag when creating a Shader
to get skinning behavior without needing to write it yourself. The
default is still false.
Need to profile to make sure the if is getting optimized out.
2019-05-28 03:43:54 -07:00
bjorn
a28b333899
Split draw data stream into two streams;
...
Also the max number of draws can be hardcoded to 256 now.
2019-04-05 00:49:50 -07:00
bjorn
94ac64e7f4
Add std140 layout qualifier to DrawData block;
2019-03-13 09:20:33 -07:00
bjorn
1d3b05a515
Make bone IDs unsigned for WebGL;
2019-02-14 09:49:31 -08:00
bjorn
6b323e3476
Start parsing glTF;
2019-02-13 15:10:52 -08:00
bjorn
f53f64933c
WebGL fixes;
2019-02-08 10:32:05 -08:00
bjorn
3aec7f7767
Fix struct definition in UBO;
...
You can't define a new struct in an interface block.
2019-01-29 19:57:18 -08:00
bjorn
ea3a77a73a
Many batching improvements; Refactoring;
2019-01-04 18:01:01 -08:00
bjorn
e6b7c41860
Improve lovrDrawData uniform names;
2018-12-14 16:02:25 -08:00
bjorn
c531852932
Refactor rendering;
2018-12-10 23:05:02 -08:00
bjorn
40454d1380
Use ShaderBlock for transforms/colors;
2018-12-07 18:19:03 -08:00
bjorn
a06734ae97
Use alpha to coverage and alpha test for text;
2018-11-08 11:58:43 -08:00
bjorn
1b3e8c9766
Flip cubemap x texture coordinate;
2018-09-04 06:42:04 -07:00
bjorn
4e1757210e
Load cubemap images better;
2018-09-03 20:59:12 -07:00
bjorn
b959c30424
lovrPoseMatrix;
2018-09-01 02:52:02 -07:00
bjorn
c584354c92
lovrInstanceID;
2018-09-01 02:09:59 -07:00
bjorn
8b9e9eba9e
Use GLSL 430 when available;
2018-09-01 01:57:38 -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
7b9a0ba048
Organize uniforms better;
2018-08-31 16:45:05 -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
b7faeb8c44
Add precision for ints;
2018-08-30 21:37:45 -07:00
bjorn
5ab15e36a8
Declare extension before in;
2018-08-30 03:43:41 -07:00
bjorn
4631d2dacc
Test shader extension fallback;
2018-08-30 03:38:31 -07:00
bjorn
e6a7a4f922
Redo singlepass;
2018-08-30 00:52:38 -07:00
bjorn
a97c8e2266
Fix skybox texture mapping;
2018-08-30 00:06:29 -07:00
bjorn
7569b7934f
conf flag for singlepass; Shader fixes;
2018-08-23 12:52:18 -07:00
bjorn
c03ca73fba
Use ifdefs for nvidia glsl extensions;
...
I think they still work if I do this.
2018-08-13 17:03:39 -07:00
bjorn
a1f200cb61
Use GLSL version 430 for compute shaders;
2018-08-11 00:08:34 -07:00
bjorn
94b15c40c2
line 0 in compute prefix;
2018-08-11 00:08:34 -07:00
bjorn
b891a930bf
shaders.c: consistent ordering in header and implementation;
2018-08-11 00:08:34 -07:00
bjorn
e371359193
Compute shader glsl prefix;
2018-08-11 00:08:33 -07:00
bjorn
2cb6de47f2
Compute shader creation;
2018-08-11 00:08:33 -07:00
bjorn
d79afb44d2
Make gl_ViewportIndex work in fragment shaders;
2018-07-25 00:01:22 -07:00
bjorn
2dc79a48a8
Use single pass stereo rendering when supported;
2018-07-21 05:30:13 -07:00
bjorn
8cc795aa9d
Material:getTransform; Material:setTransform;
2018-07-18 01:17:16 -07:00
bjorn
889144cc45
Add VERTEX and PIXEL/FRAGMENT defines to shader header;
2018-07-06 01:38:15 -07:00
bjorn
fb3eed5518
Fix skybox shaders for WebGL;
2018-06-09 23:18:02 -07:00
bjorn
183f6003e9
rm mapped buffers mostly;
2018-06-03 19:00:31 -07:00
bjorn
6ff7292333
Mostly remove instanced stereo rendering;
2018-06-03 17:18:42 -07:00
bjorn
7e5be11f74
Fix default shader;
2018-05-27 19:05:10 -07:00
bjorn
95da07d165
Stereo canvases;
...
Canvases can be created with the "stereo" flag to make it a stereo
Canvas. If a Canvas is stereo, everything rendered to it will be
rendered to the left and right halves of it, using left/right
view and projection matrices. Headset drivers will use stereo
Canvases to improve performance.
2018-03-22 09:57:44 -07:00
bjorn
be699aa132
Normal matrix is an array;
2018-03-22 09:57:44 -07:00
bjorn
988d8c7d23
Rename blit to fill;
2018-03-22 09:57:44 -07:00
bjorn
20983c860b
Send lovrEye to fragment shaders;
2018-03-22 09:57:44 -07:00
bjorn
8b201838b6
Add lovr.graphics.blit for fullscreen quads;
2018-03-22 09:57:44 -07:00
bjorn
4915ca41cc
Make skyboxes really cool;
2018-03-22 09:57:44 -07:00
bjorn
8e0519058d
Use quad for cube skyboxes;
2018-03-22 09:57:44 -07:00
bjorn
1f1232505e
Uniform buffer objects for matrices;
...
Still hacky.
2018-03-22 09:57:44 -07:00
bjorn
3064eff017
Hack everything but it mostly works;
2018-03-22 09:57:44 -07:00
bjorn
4463bd00c8
Load tangents from models;
2018-02-26 02:54:35 -08:00
bjorn
cb7b99f9a6
Optimize skybox rendering;
...
- Fix winding order of skybox cubemaps.
- Fix skybox image ordering in lovr.graphics.newTexture.
- Change skybox shader to allow rendering cubemap skyboxes last for
early z rejection.
- Remove overriding of depth write and depth test state for cubemap
skyboxes.
2018-02-26 02:10:53 -08:00
bjorn
f75530b9e1
Add support for 2d array textures; Improve mipmaps;
...
lovr.graphics.newTexture has been changed.
2018-02-20 17:15:47 -08:00
bjorn
7cecc1489e
getCanvas; setCanvas; MRT; MULTICANVAS define;
2018-02-15 19:58:35 -08:00
bjorn
cca1f32d10
PBR material properties;
2018-02-11 19:16:40 -08:00
bjorn
4a2cc56fef
Move shaders into resources;
2017-12-10 12:41:43 -08:00