I haven't used the noise function becuase it does not run in hardware on ATI or Nvidia (only 3DLabs). You might have to use temporary variables or explicitly cast like:
vx += (float) (0.1 * noise1())
On 9/14/06, cyrille henry cyrille.henry@la-kitchen.fr wrote:
hello,
i received my orange book few days ago. so i'm back with glsl.
i give up for now with multitexture. my aim was to use 1 noisy texture to distord the other one. i discover the noise fonction of glsl, but i've got problem, trying to use it.
by example, a simple vertex shader like this :
void main(void) { vec4 v = vec4(gl_Vertex); vec4 pos = gl_ModelViewMatrix * v; float LightIntensity = max(dot(normalize(vec3(0.,3.,3.) - pos.xyz ), gl_Normal), 0.0); gl_FrontColor = gl_Color * LightIntensity;
v.x += 0.1 * noise1(v); // commenting this line // make the shader to work gl_Position = gl_ModelViewProjectionMatrix * v;
}
gives me error :
Vertex info
<stdlib>(3998) : warning C7011: implicit cast from "int" to "float" <stdlib>(3998) : warning C7011: implicit cast from "int" to "float"
(same errore with noise1, noise2, noise3.., whatever vecter size of the input parametter)
does anyone know where the problem came from? what should i try? etc
should i ask this question in an other mailling list (as i don't think it's a gem problem)?
does anyone interested in my working example: sould i upload my patch somwhere?
thanks Cyrille
GEM-dev mailing list GEM-dev@iem.at http://lists.puredata.info/listinfo/gem-dev