テクスチャアトラスの異なる領域を、土壌を使ってキューブの異なる辺にマップしたいとします。土壌を使ってテクスチャアトラスからOpenGLで領域を取得する
glEnable(GL_TEXTURE_2D);
texID = LoadTexture("sas.jpg");
glBindTexture(GL_TEXTURE_2D, texID);
しかし、私の質問は、私は一つだけのスプライトを得るのですかです:
int LoadTexture(const char*);
int texID;
void DrawCube(float width)
{
float wd2 = width/2;
glColor3f(0, 0, 1);
glBegin(GL_QUADS);
//front
glTexCoord2f(0, 1);
glVertex3f(-wd2, -wd2, wd2);
glTexCoord2f(1, 1);
glVertex3f(wd2, -wd2, wd2);
glTexCoord2f(1, 0);
glVertex3f(wd2, wd2, wd2);
glTexCoord2f(0, 0);
glVertex3f(-wd2, wd2, wd2);
//left side..
//right side..
//back..
//top..
//bottom..
glEnd();
}
int LoadTexture(const char* tex) {
texID = SOIL_load_OGL_texture(tex, 4, 0, 0);
if (!texID) {
cout << "Texture not loaded!\n";
}
return texID;
}
そしてinit
機能に:これまでのところ、私は、立方体の辺の一つに単一の画像をマッピングするために管理します全体のテクスチャの?ここ
画像である:
座標:例えば'' glTexCoord2f(2.0/8.0,2.0/4.0) '' glTexCoord2f(3.0/8.0,2.0/4.0) '' glTexCoord2f(3.0/8.0,1.0/4.0) ''、 '' glTexCoord2f(2.0/8.0,1.0/4.0) ); '2行目の3番目のタイルを返します – Rabbid76
しかし、どのように分数を計算しますか?つまり、第1行目の2番目のタイルが必要な場合、どのようにglTexCoord2fのパラメータを知ることができますか? – yooo123