summaryrefslogtreecommitdiff
path: root/src/shaders/unlit.c
blob: fe692f0e4928a6b023095b2559c33b4a918ebc6d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include "common_header.h"

#define light UV3(0)
#define maintex TEX(0)

#define vert_color reg_v4_00

static void vert(UniformCollection* uniforms, VertexShaderIn* in, Vec4* clipcoord) {
	static Vec4 p; p.xyz = in->vertex->position; p.w = 1;
	mat4_applytovec4(uniforms->mvp, &p, clipcoord);
	color_tocolor32(in->vertex->color, vert_color);
}

static bool frag(UniformCollection* uniforms, FragmentShaderIn* in, Color* color) {
	vec3_normalize(light, light);
	vec3_normalize(&in->normal, &in->normal);
	float strongness = vec3_dot(light, &in->normal);
	vec3_scale(vert_color, 1 - clamp(strongness, 0, 1), vert_color);
	*color = color32_tocolor(vert_color);
  //Color32 c = texture2d(maintex, &in->texcoord);
  //*color = color32_tocolor(&c);
	return 1;
}

Program ssr_built_in_shader_unlit = { 
	vert, frag,
	VARYING_V4_00 | VARYING_TEXCOORD
};