Powtórzę pytanie: jest tu jakiś ekspert od OpenGL? Piszę sobie w C++ i potrzebuję użyć kilku tekstur w programie, ale nie do końca wiem jak to zrobić, ciągle wszystko mam jedną teksturą.
Kod
Potem używam tego tak:
glBindTexture(GL_TEXTURE_2D, brickTexture); // render z użyciem brick texture glBindTexture(GL_TEXTURE_2D, steelTexture); // render z użyciem steel texture glBindTexture(GL_TEXTURE_2D, 0); // render bez tekstury #programowanie #opengl #grafika
Kod
Potem używam tego tak:
glBindTexture(GL_TEXTURE_2D, brickTexture);// render z użyciem brick textureglBindTexture(GL_TEXTURE_2D, steelTexture);// render z użyciem steel textureglBindTexture(GL_TEXTURE_2D, 0);// render bez tekstury#programowanie #opengl #grafika
Pierw tworzysz glGenTexture(1,&texture); bindujesz glBind(..) i dopiero jak już masz uchwyt do textury podpięty możesz ładowaćprzez glTexImage..
// tworzenie tekstury
glGenTextures(1, &texture);glBindTexture(GL_TEXTURE_2D, texture);glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, data);glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE,GL_MODULATE);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);gluBuild2DMipmaps(GL_TEXTURE_2D, 3, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);