Witam Jestem całkiem nowy w OpenGL.Powtarzanie tekstur w OpenGL
Moim zadaniem jest zaimplementowanie pędzli GDI w OpenGL do rysowania na systemie MAC OS X. W ten sposób zwróciłem się do tekstur w OpenGL, aby najpierw narysować wzór, a następnie to musi zostać odwzorowane na prymitywy rysunkowe, takie jak wielokąt (prostokąt i przykładem). Tworzę teksturę teksli 8x8, a następnie mapuję ją na wielokącie z współrzędnymi poniżej w oknie o wymiarach 500 x 500 pikseli.
glVertex3f (0,35, 0,35, 0,0);
glVertex3f (0,35, 0,65, 0,0);
glVertex3f (0,65, 0,65, 0,0);
glVertex3f (0,65, 0,35, 0,0);
Ponieważ potrzebuję efektu pędzla, wzór musi zostać powtórzony wzdłuż prostokąta. Prostokąt/kwadrat 0,3 x 0,3 i całego okna wynosi 500 x 500, a następnie w warunkach pikseli wielobok 150 x 150.
więc powtórzenia wymagane są 150/8
zatem ustawić tekstury jak współrzędne następująco:
glTexCoord2f(0.0, 0.0); glVertex3f(0.35, 0.35, 0.0);
glTexCoord2f(0.0, 150/8); glVertex3f(0.35, 0.65, 0.0);
glTexCoord2f(150/8, 150/8); glVertex3f(0.65, 0.65, 0.0);
glTexCoord2f(150/8, 0.0); glVertex3f(0.65, 0.35, 0.0);
mam wątpliwości, że kreskowanie pionowe (jeden Texel przejrzysty drugi kolorowy) wzór Stworzyłem jako tekstury nie jest odpowiednio odwzorowaną w tym sensie, że niektóre linie pionowe są coraz szersze niż inni (rodzaj problemu z aliasingiem). Czy to jest tak, że muszę ustawić współrzędne tekstury podczas mapowania?
Dzięki za wszelkie odpowiedzi
al
Jak on nie traktuje poprawnie texcoordów? robi dokładnie to, co sugerujesz? I połączenia TexCoord przychodzą przed przerwaniami. – Bahbar
Używa 150/8 zamiast 8. Dobry punkt o zamówieniu - nie korzystałem z trybu natychmiastowego od lat! – Pike65
dziękuję Bahbar Właśnie zdałem sobie sprawę, co było problemem i zamierzał opublikować rozwiązanie. Tak, to był problem! W każdym razie dzięki – user461426