Tag Info

Hot answers tagged


My first thought is the += to an uninitialized outColor. I think it'd be better to do the math on a temporary variable and put it in outColor once it's done.


You can create two shaders and set the correct one from the application. Use a define to turn on/off features. GLSL both sides of the if-clause is executed Partially true. One core execute a lot of (64) with SIMD paradigms. Think about them as a vector of data and one instruction pointer (IP). In program with a branch the core can't use two IP for ...


The return value is computed as x*(1−a)+y*a. in other words if a is -1 then the result will be 2*x-y


You can use a Transform Feedback Buffer to output from your vertex shader, your question is not very specific though so I can't be sure if this is truly what you want to do.


Specifically: blurShadowMap() uses fbo2 which has only one R32F texture set as "color". I want to know if this is necessary or that they are only attaching and blurring the color buffer because they are storing their depth values in it. Correct; depth is encoded into a "color" and stored in the color buffer In other words, I would like to know if ...


Normalizing would simply divide those combined values by their magnitude. You just need to find the mean, of which you can add each individual component and thereafter divide by the total number of overlapping vertices. (v.t + v1.t + v2.t) / 3


That would be because the GPU is optimized for massive parallel execution of the same program with multiple data, and accessing a non-constant index of an array in a shader (especially the fragment shader) does not count as "the same program" in GPU terms. If you have seven materials, how about passing an array of seven floats, each defining a weight for ...


I'm not very good with English, let's hope that the variable names are clear. float3 half_vector = normalize( eye_dir + light_dir ); float n_dot_l = saturate( dot( normal, light_dir ) ); float n_dot_h = saturate(dot( normal, half_vector ); float h_dot_l = saturate(dot( half_vector, light_dir )); // Amount of reflected energy based on angle // usually is [f0 ...

Only top voted, non community-wiki answers of a minimum length are eligible