OpenGLスレ Part11
■ このスレッドは過去ログ倉庫に格納されています
0351デフォルトの名無しさん
2007/10/20(土) 17:39:49各面に3次元テクスチャを並行投影したくて下記のようにしてるのですがどうも表示がおかしいのです。
確認したいのですが、これはちゃんと各頂点に、テクスチャ座標の0と1が対応されてマッピングされていますよね?
void vertex(float x, float y, float z)
{
glActiveTexture(GL_TEXTURE0);
glMultiTexCoord3fARB(GL_TEXTURE0_ARB, x, y, z);
glVertex3f(x,y,z);
}
void drawQuads(float x, float y, float z)
glBegin(GL_QUADS);
/* Back side */
glNormal3f(0.0, 0.0, -1.0);vertex(0.0, 0.0, 0.0);vertex(0.0, y, 0.0);vertex(x, y, 0.0);vertex(x, 0.0, 0.0);
/* Front side */
glNormal3f(0.0, 0.0, 1.0);vertex(0.0, 0.0, z);vertex(x, 0.0, z);vertex(x, y, z);vertex(0.0, y, z);
/* Top side */
glNormal3f(0.0, 1.0, 0.0);vertex(0.0, y, 0.0);vertex(0.0, y, z);vertex(x, y, z);vertex(x, y, 0.0);
/* Bottom side */
glNormal3f(0.0, -1.0, 0.0);vertex(0.0, 0.0, 0.0);vertex(x, 0.0, 0.0);vertex(x, 0.0, z);vertex(0.0, 0.0, z);
/* Left side */
glNormal3f(-1.0, 0.0, 0.0);vertex(0.0, 0.0, 0.0);vertex(0.0, 0.0, z);vertex(0.0, y, z);vertex(0.0, y, 0.0);
/* Right side */
glNormal3f(1.0, 0.0, 0.0);vertex(x, 0.0, 0.0);vertex(x, y, 0.0);vertex(x, y, z);vertex(x, 0.0, z);
glEnd();
}
drawQuads(1.0,1.0,1.0)
■ このスレッドは過去ログ倉庫に格納されています