Project

General

Profile

« Previous | Next » 

Revision 03cb451d

Added by Leszek Koltunski about 7 years ago

Speed up shaders (both compilation and execution) by explicitly enabling only the needed effects.

View differences:

src/main/res/raw/main_fragment_shader.glsl
85 85
  }
86 86
#endif
87 87

  
88
#endif
88
#endif    // NUM_FRAGMENT>0
89 89

  
90 90
//////////////////////////////////////////////////////////////////////////////////////////////
91 91

  
......
96 96
#if NUM_FRAGMENT>0
97 97
  vec2 diff;
98 98
  float pointDegree;
99
  
99
  int j=0;
100

  
100 101
  for(int i=0; i<fNumEffects; i++)
101 102
    {
102
    diff = (v_Position.xy - fUniforms[2*i+1].xy)/fUniforms[2*i+1].zw;
103
    diff = (v_Position.xy - fUniforms[j+1].xy)/fUniforms[j+1].zw;
103 104
    pointDegree = max(0.0,1.0-dot(diff,diff));
104 105

  
105 106
#ifdef CHROMA
106
    if( fType[i]==CHROMA            ) chroma    (sign(pointDegree),2*i,pixel); else
107
    if( fType[i]==CHROMA            ) chroma    (sign(pointDegree),j,pixel); else
107 108
#endif
108 109
#ifdef SMOOTH_CHROMA
109
    if( fType[i]==SMOOTH_CHROMA     ) chroma    (     pointDegree ,2*i,pixel); else
110
    if( fType[i]==SMOOTH_CHROMA     ) chroma    (     pointDegree ,j,pixel); else
110 111
#endif
111 112
#ifdef ALPHA
112
    if( fType[i]==ALPHA             ) alpha     (sign(pointDegree),2*i,pixel); else
113
    if( fType[i]==ALPHA             ) alpha     (sign(pointDegree),j,pixel); else
113 114
#endif
114 115
#ifdef SMOOTH_ALPHA
115
    if( fType[i]==SMOOTH_ALPHA      ) alpha     (     pointDegree ,2*i,pixel); else
116
    if( fType[i]==SMOOTH_ALPHA      ) alpha     (     pointDegree ,j,pixel); else
116 117
#endif
117 118
#ifdef BRIGHTNESS
118
    if( fType[i]==BRIGHTNESS        ) brightness(sign(pointDegree),2*i,pixel); else
119
    if( fType[i]==BRIGHTNESS        ) brightness(sign(pointDegree),j,pixel); else
119 120
#endif
120 121
#ifdef SMOOTH_BRIGHTNESS
121
    if( fType[i]==SMOOTH_BRIGHTNESS ) brightness(     pointDegree ,2*i,pixel); else
122
    if( fType[i]==SMOOTH_BRIGHTNESS ) brightness(     pointDegree ,j,pixel); else
122 123
#endif
123 124
#ifdef CONTRAST
124
    if( fType[i]==CONTRAST          ) contrast  (sign(pointDegree),2*i,pixel); else
125
    if( fType[i]==CONTRAST          ) contrast  (sign(pointDegree),j,pixel); else
125 126
#endif
126 127
#ifdef SMOOTH_CONTRAST
127
    if( fType[i]==SMOOTH_CONTRAST   ) contrast  (     pointDegree ,2*i,pixel); else
128
    if( fType[i]==SMOOTH_CONTRAST   ) contrast  (     pointDegree ,j,pixel); else
128 129
#endif
129 130
#ifdef SATURATION
130
    if( fType[i]==SATURATION        ) saturation(sign(pointDegree),2*i,pixel); else
131
    if( fType[i]==SATURATION        ) saturation(sign(pointDegree),j,pixel); else
131 132
#endif
132 133
#ifdef SMOOTH_SATURATION
133
    if( fType[i]==SMOOTH_SATURATION ) saturation(     pointDegree ,2*i,pixel); else
134
    if( fType[i]==SMOOTH_SATURATION ) saturation(     pointDegree ,j,pixel); else
134 135
#endif
135 136
    {}
137

  
138
    j+=2;
136 139
    }
137 140
#endif
138 141

  

Also available in: Unified diff