void drawTriangle() { glBegin(GL_TRIANGLES); glVertex3f(-1, 0, 0); glVertex3f(0, 1, 0); glVertex3f(1, 0, 0); glEnd(); }
void drawPlate() { glBegin(GL_POLYGON); glVertex3f(-1,-1,0); glVertex3f(-1,1,0); glVertex3f(1,1,0); glVertex3f(1,-1,0); glEnd(); }
テクスチャー無し法線あり
void drawBox(float size) { glBegin(GL_QUADS); glNormal3f(0.0f, 0.0f, 1.0f); glVertex3f(-size, -size, size); glVertex3f(size, -size, size); glVertex3f(size, size, size); glVertex3f(-size, size, size); glNormal3f(0.0f, 0.0f, -1.0f); glVertex3f(-size, -size, -size); glVertex3f(-size, size, -size); glVertex3f(size, size, -size); glVertex3f(size, -size, -size); glNormal3f(0.0f, 1.0f, 0.0f); glVertex3f(-size, size, -size); glVertex3f(-size, size, size); glVertex3f(size, size, size); glVertex3f(size, size, -size); glNormal3f(0.0f, -1.0f, 0.0f); glVertex3f(-size, -size, -size); glVertex3f(size, -size, -size); glVertex3f(size, -size, size); glVertex3f(-size, -size, size); glNormal3f(1.0f, 0.0f, 0.0f); glVertex3f(size, -size, -size); glVertex3f(size, size, -size); glVertex3f(size, size, size); glVertex3f(size, -size, size); glNormal3f(-1.0f, 0.0f, 0.0f); glVertex3f(-size, -size, -size); glVertex3f(-size, -size, size); glVertex3f(-size, size, size); glVertex3f(-size, size, -size); glEnd(); }テクスチャ有り法線有り
void drawBoxWithTexAndNormal(float size, int texID) { const float sizeS = 0.0f; const float sizeZ = 1.0f; glEnable(GL_TEXTURE_2D); glBindTexture(GL_TEXTURE_2D, texID); glBegin(GL_QUADS); glNormal3f(0.0f, 0.0f, 1.0f); glTexCoord2f(sizeS, sizeS); glVertex3f(-size, -size, size); glTexCoord2f(sizeZ, sizeS); glVertex3f(size, -size, size); glTexCoord2f(sizeZ, sizeZ); glVertex3f(size, size, size); glTexCoord2f(sizeS, sizeZ); glVertex3f(-size, size, size); glNormal3f(0.0f, 0.0f, -1.0f); glTexCoord2f(sizeZ, sizeS); glVertex3f(-size, -size, -size); glTexCoord2f(sizeZ, sizeZ); glVertex3f(-size, size, -size); glTexCoord2f(sizeS, sizeZ); glVertex3f(size, size, -size); glTexCoord2f(sizeS, sizeS); glVertex3f(size, -size, -size); glNormal3f(0.0f, 1.0f, 0.0f); glTexCoord2f(sizeS, sizeZ); glVertex3f(-size, size, -size); glTexCoord2f(sizeS, sizeS); glVertex3f(-size, size, size); glTexCoord2f(sizeZ, sizeS); glVertex3f(size, size, size); glTexCoord2f(sizeZ, sizeZ); glVertex3f(size, size, -size); glNormal3f(0.0f, -1.0f, 0.0f); glTexCoord2f(sizeZ, sizeZ); glVertex3f(-size, -size, -size); glTexCoord2f(sizeS, sizeZ); glVertex3f(size, -size, -size); glTexCoord2f(sizeS, sizeS); glVertex3f(size, -size, size); glTexCoord2f(sizeZ, sizeS); glVertex3f(-size, -size, size); glNormal3f(1.0f, 0.0f, 0.0f); glTexCoord2f(sizeZ, sizeS); glVertex3f(size, -size, -size); glTexCoord2f(sizeZ, sizeZ); glVertex3f(size, size, -size); glTexCoord2f(sizeS, sizeZ); glVertex3f(size, size, size); glTexCoord2f(sizeS, sizeS); glVertex3f(size, -size, size); glNormal3f(-1.0f, 0.0f, 0.0f); glTexCoord2f(sizeS, sizeS); glVertex3f(-size, -size, -size); glTexCoord2f(sizeZ, sizeS); glVertex3f(-size, -size, size); glTexCoord2f(sizeZ, sizeZ); glVertex3f(-size, size, size); glTexCoord2f(sizeS, sizeZ); glVertex3f(-size, size, -size); glEnd(); }
コメントをかく