diff options
Diffstat (limited to 'indra/newview/app_settings/shaders/class3')
9 files changed, 64 insertions, 43 deletions
| diff --git a/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl b/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl index 151602dbc0..c10635c898 100644 --- a/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl +++ b/indra/newview/app_settings/shaders/class3/avatar/avatarV.glsl @@ -22,39 +22,42 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +uniform mat4 projection_matrix; + +attribute vec3 position; +attribute vec3 normal; +attribute vec2 texcoord0; +attribute vec4 clothing;   vec4 calcLighting(vec3 pos, vec3 norm, vec4 color, vec4 baseCol);  mat4 getSkinnedTransform();  void calcAtmospherics(vec3 inPositionEye); -attribute vec4 clothing; //4 - -attribute vec4 gWindDir;		//7 -attribute vec4 gSinWaveParams; //3 -attribute vec4 gGravity;		//5 +uniform vec4 gWindDir;		 +uniform vec4 gSinWaveParams;  +uniform vec4 gGravity;		  const vec4 gMinMaxConstants = vec4(1.0, 0.166666, 0.0083143, .00018542);	 // #minimax-generated coefficients  const vec4 gPiConstants	= vec4(0.159154943, 6.28318530, 3.141592653, 1.5707963); //	# {1/2PI, 2PI, PI, PI/2}  void main()  { -	gl_TexCoord[0] = gl_MultiTexCoord0; +	gl_TexCoord[0] = vec4(texcoord0,0,1);  	vec4 pos;  	mat4 trans = getSkinnedTransform();  	vec3 norm; -	norm.x = dot(trans[0].xyz, gl_Normal); -	norm.y = dot(trans[1].xyz, gl_Normal); -	norm.z = dot(trans[2].xyz, gl_Normal); +	norm.x = dot(trans[0].xyz, normal); +	norm.y = dot(trans[1].xyz, normal); +	norm.z = dot(trans[2].xyz, normal);  	norm = normalize(norm);  	//wind  	vec4 windEffect;  	windEffect = vec4(dot(norm, gWindDir.xyz));	 -	pos.x = dot(trans[2].xyz, gl_Vertex.xyz); +	pos.x = dot(trans[2].xyz, position.xyz);  	windEffect.xyz = pos.x * vec3(0.015, 0.015, 0.015)  						+ windEffect.xyz;  	windEffect.w = windEffect.w * 2.0 + 1.0;				// move wind offset value to [-1, 3] @@ -101,7 +104,7 @@ void main()  	sinWave.xyz = max(sinWave.xyz, vec3(-1.0, -1.0, -1.0));	// clamp to underlying body shape  	offsetPos = clothing * sinWave.x;						// multiply wind effect times clothing displacement  	temp2 = gWindDir*sinWave.z + vec4(norm,0);				// calculate normal offset due to wind oscillation -	offsetPos = vec4(1.0,1.0,1.0,0.0)*offsetPos+gl_Vertex;	// add to offset vertex position, and zero out effect from w +	offsetPos = vec4(1.0,1.0,1.0,0.0)*offsetPos+vec4(position.xyz, 1.0);	// add to offset vertex position, and zero out effect from w  	norm += temp2.xyz*2.0;									// add sin wave effect on normals (exaggerated)  	//add "backlighting" effect @@ -119,10 +122,10 @@ void main()  	calcAtmospherics(pos.xyz); -	vec4 color = calcLighting(pos.xyz, norm, gl_Color, vec4(0.0));			 +	vec4 color = calcLighting(pos.xyz, norm, vec4(1,1,1,1), vec4(0.0));			  	gl_FrontColor = color;  -	gl_Position = gl_ProjectionMatrix * pos; +	gl_Position = projection_matrix * pos;  	gl_TexCoord[2] = vec4(pos.xyz, 1.0); diff --git a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl index 6231ee68b7..5e75aec171 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/giDownsampleV.glsl @@ -22,8 +22,10 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +uniform mat4 modelview_projection_matrix; + +attribute vec3 position;  varying vec2 vary_fragcoord;  uniform vec2 screen_res; @@ -31,7 +33,7 @@ uniform vec2 screen_res;  void main()  {  	//transform vertex -	gl_Position = ftransform();  -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos; 	  	vary_fragcoord = (pos.xy*0.5+0.5)*screen_res;  } diff --git a/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl index a6a206502c..969b6e2f1c 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/giFinalV.glsl @@ -22,7 +22,10 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  + +uniform mat4 modelview_projection_matrix; + +attribute vec3 position;  varying vec2 vary_fragcoord; @@ -31,7 +34,7 @@ uniform vec2 screen_res;  void main()  {  	//transform vertex -	gl_Position = ftransform();  -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos;  	vary_fragcoord = (pos.xy*0.5+0.5)*screen_res;  } diff --git a/indra/newview/app_settings/shaders/class3/deferred/giV.glsl b/indra/newview/app_settings/shaders/class3/deferred/giV.glsl index 190e32b6a3..2766691bd0 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/giV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/giV.glsl @@ -22,7 +22,12 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  + +uniform mat4 modelview_projection_matrix; + +attribute vec3 position; +attribute vec4 diffuse_color; +attribute vec2 texcoord0;  varying vec2 vary_fragcoord; @@ -32,11 +37,12 @@ uniform vec2 screen_res;  void main()  {  	//transform vertex -	gl_Position = ftransform();  -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos;  +	  	vary_fragcoord = (pos.xy * 0.5 + 0.5)*screen_res;	 -	vec4 tex = gl_MultiTexCoord0; +	vec4 tex = vec4(texcoord0,0,1);  	tex.w = 1.0; -	gl_FrontColor = gl_Color; +	gl_FrontColor = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl b/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl index 2d99ef5481..d0205fa824 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/luminanceV.glsl @@ -22,19 +22,23 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +uniform mat4 modelview_projection_matrix;  varying vec2 vary_fragcoord;  uniform vec2 screen_res; +attribute vec3 position; +attribute vec4 diffuse_color; +  void main()  {  	//transform vertex -	gl_Position = ftransform();  -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos;  +	  	vary_fragcoord = (pos.xy * 0.5 + 0.5)*screen_res;	 -	gl_FrontColor = gl_Color; +	gl_FrontColor = diffuse_color;  } diff --git a/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl b/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl index cb83dda795..2d7fa22edc 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/postDeferredV.glsl @@ -22,8 +22,10 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +uniform mat4 modelview_projection_matrix; + +attribute vec3 position;  varying vec2 vary_fragcoord;  uniform vec2 screen_res; @@ -31,7 +33,7 @@ uniform vec2 screen_res;  void main()  {  	//transform vertex -	gl_Position = ftransform();  -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos;   	vary_fragcoord = (pos.xy*0.5+0.5)*screen_res;  } diff --git a/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl b/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl index 6231ee68b7..e9c6f3e27b 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/postgiV.glsl @@ -22,8 +22,10 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +uniform mat4 modelview_projection_matrix; + +attribute vec3 position;  varying vec2 vary_fragcoord;  uniform vec2 screen_res; @@ -31,7 +33,7 @@ uniform vec2 screen_res;  void main()  {  	//transform vertex -	gl_Position = ftransform();  -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex; +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos;   	vary_fragcoord = (pos.xy*0.5+0.5)*screen_res;  } diff --git a/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl b/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl index fed238510a..8e405de9a3 100644 --- a/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl +++ b/indra/newview/app_settings/shaders/class3/deferred/softenLightV.glsl @@ -22,8 +22,11 @@   * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA   * $/LicenseInfo$   */ -  +uniform mat4 modelview_projection_matrix; + +attribute vec3 position; +attribute vec2 texcoord0;  uniform vec2 screen_res; @@ -32,13 +35,10 @@ varying vec2 vary_fragcoord;  void main()  {  	//transform vertex -	gl_Position = ftransform();  +	vec4 pos = modelview_projection_matrix * vec4(position.xyz, 1.0); +	gl_Position = pos; 	 -	vec4 pos = gl_ModelViewProjectionMatrix * gl_Vertex;  	vary_fragcoord = (pos.xy*0.5+0.5)*screen_res; -	vec4 tex = gl_MultiTexCoord0; -	tex.w = 1.0; -	 -	vary_light = gl_MultiTexCoord0; +	vary_light = vec4(texcoord0,0,1);  } diff --git a/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl b/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl index dcdc72ac02..c31afb6268 100644 --- a/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl +++ b/indra/newview/app_settings/shaders/class3/lighting/sumLightsV.glsl @@ -24,7 +24,6 @@   */ -  float calcDirectionalLight(vec3 n, vec3 l);  float calcPointLightOrSpotLight(vec3 v, vec3 n, vec4 lp, vec3 ln, float la, float is_pointlight); | 
