For loop GLSL-for循环不工作
不知何故,我正在玩For loop GLSL-for循环不工作,for-loop,opengl-es,glsl,For Loop,Opengl Es,Glsl,不知何故,我正在玩for循环,但它没有像我预期的那样工作: float map( vec3 p ) { p.yz = rotate(p.yz, mouse.y*10.); float aa = 0.; float b = box( p, vec3(1.,1.,1.) ); for(int i=0; i<5; i++) { float off = float(i); vec3 q = p+off*.05;//<--pivot g
for
循环,但它没有像我预期的那样工作:
float map( vec3 p )
{
p.yz = rotate(p.yz, mouse.y*10.);
float aa = 0.;
float b = box( p, vec3(1.,1.,1.) );
for(int i=0; i<5; i++)
{
float off = float(i);
vec3 q = p+off*.05;//<--pivot go down diagonally
float c = box( q, vec3(off,1.,1.) );//<--scale the box in x
aa = min(c,b);
}
return aa;
}
float映射(vec3p)
{
p、 yz=旋转(p.yz,mouse.y*10.);
浮点数aa=0。;
浮动b=框(p,vec3(1,1,1.);
对于(int i=0;i您永远不会从aa
读取,因此它只是最后一个c
和原始b
的最小值。重新安排类似的内容应该可以:
float b = box(p, vec3(1., 1., 1.));
float aa = b;
for (int i = 0; i < 5; i++) {
…
aa = min(c, aa);
}
float b=box(p,vec3(1,1,1.);
浮动aa=b;
对于(int i=0;i<5;i++){
…
aa=最小值(c,aa);
}