[C++][OpenGL] Nachodzace na siebie powierzchnie

0

Pisze gre FPP i w sumie od jego powijakow mam taki problem: jesli jedna sciana nachodzi na druga, na miejscu ich zlaczenia powstaja nieprzyjemne wzorki. Na przykladzie:
user image
Tutaj widac "blok" umieszczony w pokoju. Konce jego scian stykaja sie z m.w. srodkiem scian pokoju, ale ich nie przecinaja.
user image
Dodatkowo, to ktora powierzchnia bedzie sie tak zachowywac zalezy od kolejnosci rysowania scian (tutaj podloga rysowana jest jako pierwsza). Ktos wie jak to obejsc bez koniecznosci dzielenia wszystkich scian na male, nienachodzace na siebie powierzchnie?

Inicjalizacje GL'a w programie:

	glEnable(GL_DEPTH_TEST);
	glEnable(GL_CULL_FACE);
	glEnable(GL_POLYGON_SMOOTH);
	glEnable(GL_TEXTURE_2D);
	glFrontFace(GL_CCW);
	glShadeModel(GL_SMOOTH);
	glClearColor ( 0.0f, 0.0f, 0.0f, 0.0f );
	glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);

pozdrawiam

0

nie napisze kodu ale jak rysujesz jakis model to maz okreslone np. facey chyba ze jeden face to ten szescian ale sprawdzaj czy punkt z aktualnie rysowanego face'a nie nalezy do do innej sciany (zawiera sie w plaszczyznie i polygonie) pozniej tylko omijasz rysowanie tego face'a

0

Juz sobie poradzilem, problemem byl zBuffer i funckja gluPerspective - przy malym parametrze zNear (mialem 0.1f) openGl "nie wie", ktora ze stykajacych sie powierzchni jest blizej, a ktora dalej, stad te dziwaczne efekty.
Zmienilem na 0.5f i dziala swietnie.

pozdrawiam, gw

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