[opengl]Nakładnie tekstur na wlasne obiekty

0

Mam pytanie, czy ktoś wie jak nałożyć teksturę2d na obiekt 3d stworzony np: w anim8or. Obiekt jest zaimportowany w c++. Program anim8or umożliwia nakładanie tekstur, ale obiekty zaimplementowane do c++ tracą swoje tekstury(zostaje jednolity kolor). Tekstury są już załadowane do programu, ale pytaniem zostaje jak je nałożyć na zaimportowany obiekt.

glBindTexture(GL_TEXTURE_2D, tex[1]);
drawAnim8orObject(&object1);
Cos takiego nie dziala.

0

Nie znam anim8or. Jeżeli glBindTexture() się powiodło (jak i wcześniejsze wywołania w celu stworzenia tekstury) spróbuj zrobić to OGL way, czyli przyporządkuj wierzchołki tekstury wierzchołkom ścian bryły. Użyj do tego glTexCoord2f()

0

Też nad tym myślałem ale obiekt ma kilkaset wierzchołków. Zapisane są one w pliku c, który jest wywoływany przez ta funkcje(drawAnim8orObject). Tylko nie wiem jak się do nich dobrać.

0

Nie znam tego programu, może w jego dokumentacji albo helpie będą jakieś wskazówki. Zawsze możesz wygenerowany kod przekleić żywcem do swojego programu i potem przyporządkować koordynaty, ale sądzę że jeśli program oferuje Ci wykonanie figury na kilkaset wierzchołków to ma jakiś mechanizm do jej teksturowania.

0

wybacz pytanie, ale parę dni temu jedna osoba mnie maglowała o podobny problem z teksturami w Irrlichcie, mimo tekstur w .3ds wszystko jej sie renderowało czarne i stracilismy sporo czasu na szukanie błędow importu/eksportu/konfiguracji/sciezekszukaniabitmap/itp..
śmiem więc spytać kontrolnie, masz na scenie jakies źródło światła, prawda?

0

Źródło światła mam w funcji initgl(tam również jest wlaczony faceculling, cieniowanie i min żródło światła), wyświetlanie obiektów oraz obrót obserwatora mam w funkcji dispaly. Możliwe że czegoś nie włączyłem(albo źle to zrobiłem) i dlatego się nie udaje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1