Kezdőoldal » Számítástechnika » Programozás » Mi fán terem a backface culling?

Mi fán terem a backface culling?

Figyelt kérdés

OpenGL-be próbálkozgatok. A vágási algoritmusokkal kísérletezek, és ennél megakadtam. Ugye ez az algoritmus azt csinálná, hogy ha az adott háromszögnek a normál vektora és a kamera irányvektora által közbezárt szög nagyobb mint 90 fok, akkor azt a háromszöget el lehet dobni.


A háromszög normálvektorát az N=(r2-r1)*(r3+r1) képlettel számoltam ki.


A két vektor által bezárt szöget, a vektorok skaláris szorzatának a képletével számoltattam ki.


Oda figyeltem hogy a háromszögek pontjait óramutató járásával ellentétesen lehessen bejárni.


Valamit rosszul csináltam vagy kifelejtettem? Mert ez nem akar működni. Azért nem engedélyezem a hátsólap kivágást az OpenGL-be, mert az valamiért nem akart normálisan működni nekem. Meg ebből többet tanulhatok.


2019. júl. 30. 11:40
 1/7 anonim ***** válasza:
20%
Nem fán terem.
2019. júl. 30. 13:34
Hasznos számodra ez a válasz?
 2/7 anonim ***** válasza:
100%
Próbáld az N=(r2-r1)*(r3-r1) képlettel
2019. júl. 30. 21:50
Hasznos számodra ez a válasz?
 3/7 anonim ***** válasza:
100%
Amúgy remélem hogy a szorzás a két tag között nálad is a keresztszorzatot jelöli tehát pontosabban N=(r2-r1)x(r3-r1)
2019. júl. 30. 21:55
Hasznos számodra ez a válasz?
 4/7 anonim ***** válasza:
100%

A normálvektor az N = (p2 - p1) x (p3 - p1),

ahol x cross product.


OpenGL-ben engedélyezned kell:

glEnable(GL_CULL_FACE)

glCullFace(GL_FRONT) // GL_BACK, GL_FRONT_AND_BACK


glGetIntegerv(GL_CULL_FACE_MODE, &mode);

if (mode == GL_FRONT) cout<<"it works"


hasonló eredményt kell kapnod:

[link]

2019. júl. 30. 22:42
Hasznos számodra ez a válasz?
 5/7 anonim ***** válasza:

bocs, a linkelt képen elírtam a címet


az ott nyilván front-face culling, hogy látszódjon az eredmény

2019. júl. 30. 23:05
Hasznos számodra ez a válasz?
 6/7 A kérdező kommentje:

Jaj. Hogy az X az keresztszorzást jelent. Látszik mennyire vagyok otthol még a matematikába.


Köszönöm a válaszokat.

2019. júl. 30. 23:18
 7/7 anonim ***** válasza:
100%

"Azért nem engedélyezem a hátsólap kivágást az OpenGL-be, mert az valamiért nem akart normálisan működni nekem."


Winding order jól volt beállítva, csak mert nem mindegy melyik számít hátsónak. [link]

2019. júl. 31. 05:56
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:




Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!