summaryrefslogtreecommitdiff
path: root/src/shaders
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-12-15 16:45:17 +0800
committerchai <chaifix@163.com>2019-12-15 16:45:17 +0800
commit7da5ed50d803e94518fcb6acdd8083710e0eb77e (patch)
tree9f3655b5f8049cca4251dd5425930edb52f2dc3d /src/shaders
parentbcb7c0a426e66dc57007ae9a0e879358c7860fbb (diff)
*misc
Diffstat (limited to 'src/shaders')
-rw-r--r--src/shaders/default.c6
-rw-r--r--src/shaders/pbr.c31
-rw-r--r--src/shaders/unlit.c9
3 files changed, 17 insertions, 29 deletions
diff --git a/src/shaders/default.c b/src/shaders/default.c
index 00b436c..f184e27 100644
--- a/src/shaders/default.c
+++ b/src/shaders/default.c
@@ -27,7 +27,6 @@ static void vert(UniformCollection* uniforms, VertexShaderIn* in, Vec4* clipcoor
static bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color32* color) {
vec3_normalize(light, light);
- vec3_normalize(&in->normal, &in->normal);
float roughness = *rough;
//(*color).r = 1;
//(*color).g = 1;
@@ -35,17 +34,12 @@ static bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color32* col
//(*color).a = 1;
//return 1;
//float rough = 1- vec3_dot(&in->normal, light);
- Color32 c = tex2d(maintex, in->texcoord);
//Color32 nc = tex2d(noramltex, in->texcoord);
//vec3_scale(&c, roughness, &c);
- color32_saturate(&c);
- *color = c;
return 1;
}
Program ssr_built_in_shader_default = {
vert, frag,
- VARYING_TEXCOORD |
- VARYING_NORMAL |
VARYING_NUM_00
}; \ No newline at end of file
diff --git a/src/shaders/pbr.c b/src/shaders/pbr.c
index c154f02..3026cc7 100644
--- a/src/shaders/pbr.c
+++ b/src/shaders/pbr.c
@@ -10,6 +10,8 @@
#define metalness_tex UTEX(3)
/*varyings*/
+#define uv reg_v2_00
+#define vnormal reg_v3_05
#define rough reg_num_00
#define world_pos reg_v3_00
#define depth_pos reg_v3_01
@@ -29,20 +31,22 @@ static void vert(UniformCollection* uniforms, VertexShaderIn* in, Vec4* clipcoor
};
Vec4 worldnormal; mat4_mulvec4(object2world, &normal, &worldnormal);
vec3_normalize(light, light);
- *rough = 1 - vec3_dot(&worldnormal, light);
+ //*rough = 1 - vec3_dot(&worldnormal, light);
+ //*vnormal = in->vertex->normal;
+ *uv = in->vertex->texcoord;
}
static bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color32* color) {
- vec3_normalize(light, light);
- vec3_normalize(&in->normal, &in->normal);
- float roughness = *rough;
+ //vec3_normalize(light, light);
+ //vec3_normalize(vnormal, vnormal);
+ //float roughness = *rough;
//(*color).r = 1;
//(*color).g = 1;
//(*color).b = 1;
//(*color).a = 1;
//return 1;
//float rough = 1- vec3_dot(&in->normal, light);
- Color32 c = tex2d(albedo_tex, in->texcoord);
+ Color32 c = tex2d(albedo_tex, *uv);
//Color32 nc = tex2d(noramltex, in->texcoord);
//vec3_scale(&c, roughness, &c);
color32_saturate(&c);
@@ -52,14 +56,13 @@ static bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color32* col
Program ssr_built_in_shader_pbr = {
vert, frag,
- VARYING_TEXCOORD |
- VARYING_NORMAL |
-
VARYING_NUM_00 |
- VARYING_V3_00 |
- VARYING_V3_01 |
- VARYING_V3_02 |
- VARYING_V3_03 |
- VARYING_V3_04 |
- VARYING_V4_00
+ //VARYING_V3_00 |
+ //VARYING_V3_01 |
+ //VARYING_V3_02 |
+ //VARYING_V3_03 |
+ //VARYING_V3_04 |
+ //VARYING_V4_00 |
+ VARYING_V2_00 |
+ VARYING_V3_05
}; \ No newline at end of file
diff --git a/src/shaders/unlit.c b/src/shaders/unlit.c
index 59510dd..9a807af 100644
--- a/src/shaders/unlit.c
+++ b/src/shaders/unlit.c
@@ -24,19 +24,10 @@ static void vert(UniformCollection* uniforms, VertexShaderIn* in, Vec4* clipcoor
static bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color32* color) {
vec3_normalize(light, light);
- vec3_normalize(&in->normal, &in->normal);
- //float rough = 1- vec3_dot(&in->normal, light);
- float roughness = *reg_num_00;
- Color32 c = tex2d(maintex, in->texcoord);
- //vec3_scale(&c, roughness, &c);
- //color32_saturate(&c);
- *color = c;
return 1;
}
Program ssr_built_in_shader_unlit = {
vert, frag,
- VARYING_TEXCOORD |
- VARYING_NORMAL |
VARYING_NUM_00
};