mcc
c563787f7d
Android fixes. Major change is lovrMain() {} is now lovrMain {}
...
The oculus drivers choke on #define lovrMain()
2019-12-17 20:20:09 -05:00
bjorn
898a3f9f35
rm double underscores from glsl;
...
This naming pattern is reserved.
2019-11-28 15:25:19 -08:00
bjorn
6ad2d8ccef
Add lovrMain macro to shaders (no breaking change);
2019-11-18 23:20:08 -08:00
mcc
38f4204661
Make lovrViewID signed on Oculus Mobile
...
The "mask" example was failing on Oculus Mobile on the line of glsl:
if (lovrViewID == 1) {
because lovrViewID was unsigned and 1 was signed. One way to fix this would be to replace 1 with 1u as that is unsigned, but this would be the wrong fix because lovrViewID is in fact signed on all platforms other than Oculus Mobile. lovrViewID was depending on platform defined to either gl_ViewportIndex (signed), a signed uniform, or gl_ViewID_OVR (unsigned). The solution is to place an explicit cast in the multiview definition of lovrViewID so that it is signed on all platforms.
2019-09-11 18:22:06 -04:00
bjorn
39376a10d5
normalTexture -> normalMap;
2019-08-31 05:31:20 -07:00
bjorn
9ea785d210
Fix normal matrix;
...
Now that lighting is in world space.
2019-08-31 03:00:54 -07:00
bjorn
a073206c20
Standard shader: Fix some precision issues in GLES;
2019-08-22 21:57:59 -07:00
bjorn
d3bf51daef
Add alphaCutoff shader flag;
2019-08-12 17:38:03 -07:00
bjorn
c3af8c14c1
Add uniformScale shader flag;
...
Used to switch to a faster version of lovrNormalMatrix, can be used
with all shader types.
2019-08-12 17:33:32 -07:00
bjorn
8821ecd340
Standard shader: Tonemap by default;
2019-08-12 02:36:23 -07:00
bjorn
4eb768b13b
Fix GLSL type cast;
2019-08-11 18:47:12 -07:00
bjorn
265931e474
Standard shader: Multiply with graphics color;
...
I guess.
2019-08-11 18:34:16 -07:00
bjorn
51b4064801
Standard shader: Refactoring;
2019-08-11 18:15:43 -07:00
bjorn
3d8313a7f1
Add analytical approximation for specular BRDF lookup;
2019-08-11 17:22:09 -07:00
bjorn
93f076acc9
Fix default uniform values;
...
Not supported in GLES.
2019-08-09 17:36:14 -07:00
bjorn
b8cb53e021
Standard shader: Refactoring;
2019-08-09 17:31:30 -07:00
bjorn
83b2f8d745
Add uniform for controlling light color and intensity;
2019-08-09 00:27:17 -07:00
bjorn
30ea8995d2
Fix view vector;
2019-08-07 17:53:38 -07:00
bjorn
2c115ce66e
Automatically detect mipmap count for IBL;
2019-08-07 15:56:52 -07:00
bjorn
fe939213be
Initial standard shader flags;
...
- normalTexture = true
- indirectLighting = true (requires uniform setup!)
- occlusion = true (only affects indirect lighting)
- emissive = true
- tonemap = true
2019-08-06 14:39:14 -07:00
bjorn
b08d9d0b30
Standard shader: Add tonemapping;
...
ACES.
2019-08-05 15:34:21 -07:00
bjorn
96c47d590c
rm lovrEnvironmentTexture from Material;
2019-08-05 15:20:17 -07:00
bjorn
e4ab5aa85a
Standard shader: Add image-based lighting;
...
Very WIP, still need to add the BRDF lookup table.
2019-08-05 14:49:09 -07:00
bjorn
bff9399308
Rename skinned flag to animated;
2019-08-04 15:08:21 -07:00
bjorn
06fb8b2503
Simplify fill;
...
lovr.graphics.fill renders a fullscreen quad, it's convenient because
you don't need to set up a mesh and toggle all the pipeline states.
However, if you are dealing with copying/rendering between stereo
textures, you have to write your own shader for that. For now.
2019-08-03 16:03:13 -07:00
bjorn
e9fd052fc6
Start fixing lovr.graphics.fill;
2019-08-02 15:48:35 -07:00
bjorn
aab987dbef
Fix WebGL gamma correction;
...
Ugh, WebGL doesn't have sRGB backbuffers.
2019-08-01 13:26:45 -07:00
bjorn
4b9e6849c8
Better boolean shader flags; Multicanvas flag;
...
Instead of boolean shader flags turning into actual booleans defines
in the shader source, for GLSL they turn into defines. This lets you
use ifdef, which is the more common intended usage.
Also MULTICANVAS is now a boolean shader flag. The old MULTICANVAS
define is deprecated.
2019-07-28 18:08:23 -07:00
bjorn
f564444641
Fix some WebGL issues;
2019-07-28 17:28:18 -07:00
mcc
d391a4750f
Use base diffuse color from materials in Standard shader
2019-07-25 15:08:53 -07:00
bjorn
4222be88b5
Use UBO for Camera matrices;
...
Ugh I don't like the "Camera" concept anymore, but I can't figure
out how to easily get rid of it. Maybe wait till displays are a thing.
2019-06-27 22:17:50 -07:00
bjorn
928ccee5f1
Multiview;
2019-06-25 01:21:59 -07:00
bjorn
807c519397
Fix typo;
2019-06-20 21:36:07 -07:00
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