как я могу применить текстуру к моей местности? мои glTexCoord2
не правы Как мне их рассчитать? что я делаю не так?
какие индексы я должен использовать?
Может кто-нибудь описать метод, используемый для вычисления координат текстуры для ландшафта
Может ли кто-нибудь объяснить мне это? ?
for (int z = 0; z < _terrain->length() - 1; z++) {
glEnable(GL_TEXTURE_2D);
glBindTexture(GL_TEXTURE_2D, _textureId);
//Makes OpenGL draw a triangle at every three consecutive vertices
glBegin(GL_TRIANGLE_STRIP);
for (int x = 0; x < _terrain->width(); x++) {
// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_REPEAT);
// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_REPEAT);
// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
// glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_LINEAR);
//glColor3f(1.0f, 1.0f, 1.0f);
Vec3f normal = _terrain->getNormal(x, z);
glNormal3f(normal[0], normal[1], normal[2]);
glTexCoord2f((z + 1) / sizethis, (x + 1) / sizethis);
glVertex3f(x, _terrain->getHeight(x, z), z);
normal = _terrain->getNormal(x, z + 1);
glNormal3f(normal[0], normal[1], normal[2]);
glTexCoord2f(x / (_terrain->width()), (z+1) / _terrain->length());
glVertex3f(x, _terrain->getHeight(x, z + 1), z + 1);
}
glEnd();
glFlush();
glDisable(GL_TEXTURE_2D);
}
glutSwapBuffers();