Kaydet (Commit) 1de0dd02 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

make the shaders compliant to GLSL 1.2

Change-Id: Ic15760ca40d719ae333003c9bc241c813cb284fa
üst b29154d8
...@@ -15,6 +15,13 @@ uniform sampler1D t_stopArray1d; ...@@ -15,6 +15,13 @@ uniform sampler1D t_stopArray1d;
uniform mat3x2 m_transform; uniform mat3x2 m_transform;
varying vec2 v_textureCoords2d; varying vec2 v_textureCoords2d;
int max(int x, int y)
{
if(x > y)
return x;
return y;
}
int findBucket(float t) int findBucket(float t)
{ {
int nMinBucket=0; int nMinBucket=0;
...@@ -26,13 +33,13 @@ int findBucket(float t) ...@@ -26,13 +33,13 @@ int findBucket(float t)
void main(void) void main(void)
{ {
const float fAlpha = float fAlpha =
clamp( (m_transform * vec3(v_textureCoords2d,1)).s, clamp( (m_transform * vec3(v_textureCoords2d,1)).s,
0.0, 1.0 ); 0.0, 1.0 );
const int nMinBucket=findBucket( fAlpha ); int nMinBucket = findBucket( fAlpha );
const float fLerp = float fLerp =
(fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) /
(texture1D(t_stopArray1d, nMinBucket+1).s - (texture1D(t_stopArray1d, nMinBucket+1).s -
texture1D(t_stopArray1d, nMinBucket).s); texture1D(t_stopArray1d, nMinBucket).s);
......
...@@ -16,6 +16,13 @@ uniform mat3x2 m_transform; ...@@ -16,6 +16,13 @@ uniform mat3x2 m_transform;
varying vec2 v_textureCoords2d; varying vec2 v_textureCoords2d;
const vec2 v_center2d = vec2(0,0); const vec2 v_center2d = vec2(0,0);
int max(int x, int y)
{
if(x > y)
return x;
return y;
}
int findBucket(float t) int findBucket(float t)
{ {
int nMinBucket=0; int nMinBucket=0;
...@@ -27,15 +34,15 @@ int findBucket(float t) ...@@ -27,15 +34,15 @@ int findBucket(float t)
void main(void) void main(void)
{ {
const float fAlpha = float fAlpha =
clamp( 1.0 - distance( clamp( 1.0 - distance(
vec2( m_transform * vec3(v_textureCoords2d,1)), vec2( m_transform * vec3(v_textureCoords2d,1)),
v_center2d), v_center2d),
0.0, 1.0 ); 0.0, 1.0 );
const int nMinBucket=findBucket( fAlpha ); int nMinBucket=findBucket( fAlpha );
const float fLerp = float fLerp =
(fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) /
(texture1D(t_stopArray1d, nMinBucket+1).s - (texture1D(t_stopArray1d, nMinBucket+1).s -
texture1D(t_stopArray1d, nMinBucket).s); texture1D(t_stopArray1d, nMinBucket).s);
......
...@@ -15,6 +15,13 @@ uniform sampler1D t_stopArray1d; ...@@ -15,6 +15,13 @@ uniform sampler1D t_stopArray1d;
uniform mat3x2 m_transform; uniform mat3x2 m_transform;
varying vec2 v_textureCoords2d; varying vec2 v_textureCoords2d;
int max(int x, int y)
{
if(x > y)
return x;
return y;
}
int findBucket(float t) int findBucket(float t)
{ {
int nMinBucket=0; int nMinBucket=0;
...@@ -26,12 +33,12 @@ int findBucket(float t) ...@@ -26,12 +33,12 @@ int findBucket(float t)
void main(void) void main(void)
{ {
const vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) );
const float fAlpha = 1 - max(v.x, v.y); float fAlpha = 1 - max(v.x, v.y);
const int nMinBucket=findBucket( fAlpha ); int nMinBucket=findBucket( fAlpha );
const float fLerp = float fLerp =
(fAlpha-texture1D(t_stopArray1d, nMinBucket).s) / (fAlpha-texture1D(t_stopArray1d, nMinBucket).s) /
(texture1D(t_stopArray1d, nMinBucket+1).s - (texture1D(t_stopArray1d, nMinBucket+1).s -
texture1D(t_stopArray1d, nMinBucket).s); texture1D(t_stopArray1d, nMinBucket).s);
......
...@@ -15,8 +15,8 @@ uniform mat3x2 m_transform; ...@@ -15,8 +15,8 @@ uniform mat3x2 m_transform;
varying vec2 v_textureCoords2d; varying vec2 v_textureCoords2d;
void main(void) void main(void)
{ {
const vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) ); vec2 v = abs( vec2(m_transform * vec3(v_textureCoords2d,1)) );
const float t = max(v.x, v.y); float t = max(v.x, v.y);
gl_FragColor = mix(v_startColor4d, gl_FragColor = mix(v_startColor4d,
v_endColor4d, v_endColor4d,
1.0-t); 1.0-t);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment