aboutsummaryrefslogtreecommitdiff
path: root/KaplaDemo/externalIP/resources/shaders/debris_vs.cpp
blob: 80040ea7f49441cd942b18688a7e78662c06160b (plain) (blame)
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
uniform float uvScale = 1.0f;
attribute mat4 transformmatrix;
uniform float bumpTextureUVScale;

void main()
{
	mat4 mvp = gl_ModelViewMatrix * transformmatrix;
	mat4 mvpt = gl_ModelViewMatrixInverseTranspose * transformmatrix;
	//mat4 mvp2 = gl_ModelViewMatrix * transformmatrix;
	//mat4 mvp = gl_ModelViewMatrix;
	//mat4 mvpt = gl_ModelViewMatrixInverseTranspose;	

	vec4 eyeSpacePos = mvp * gl_Vertex;

	vec4 t0 = vec4(gl_MultiTexCoord0.xyz, 0.0f);
	vec4 t1 = vec4(cross(gl_Normal.xyz, t0.xyz), 0.0f);


	vec3 coord3d = gl_Vertex.xyz;
	gl_TexCoord[0].xyz = (coord3d)*uvScale;
	gl_TexCoord[1] = eyeSpacePos;
	gl_FrontColor = gl_Color;
	gl_Position = gl_ProjectionMatrix*eyeSpacePos;
	gl_TexCoord[2] = mvpt * vec4(gl_Normal.xyz,0.0); 

	gl_TexCoord[3] = mvpt * t0;
	gl_TexCoord[4] = mvpt * t1;

	gl_TexCoord[5].xy = vec2(dot(coord3d,  t0.xyz), dot(coord3d,  t1.xyz))*bumpTextureUVScale*2;

	gl_TexCoord[6].xyz = vec3(0,0,-100); // TODO: 2D UV are 0 and material id is -100 (first 3D texture)

	/*
	//vec4 eyeSpacePos2 = mvp2 * gl_Vertex;
	gl_TexCoord[0] = gl_MultiTexCoord0*uvScale;
	gl_TexCoord[1] = eyeSpacePos;
	gl_FrontColor = gl_Color;
	//gl_FrontColor.x += eyeSpacePos2.x;
	
	gl_Position = gl_ProjectionMatrix*eyeSpacePos;
	gl_TexCoord[2] = mvpt * vec4(gl_Normal.xyz,0.0); 
	gl_ClipVertex = vec4(eyeSpacePos.xyz, 1.0f);
	*/
}