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())
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