Kezdőoldal » Számítástechnika » Programozás » OpenGL el hogyan kell kirajzol...

OpenGL el hogyan kell kirajzolni egy 3cm sugarú kört aminek a belseje üres? És úgy hogy a belseje is kivan töltve színnel?

Figyelt kérdés

Ezt a feladatott találtam ki magamnak de nehezen tanulok mert gyenge vagyok angolból.

Segítsetek.

Épp haladó szintű c++ tudásom van csak.


2012. máj. 30. 19:25
 1/2 anonim ***** válasza:

Az OpenGL nem rajzoló program, kellene hozzá egy kis háttértudás is. Az OpenGL mátrixokkal dolgozik projektív térben, ami 3d-s, és itt a párhuzamosak a végtelenben metszik egymást...

Több megoldás is van, ha térben akarsz kört, akkor állítsd be a nézőpontot, a közeli, és távoli vágósíkot.Valami ilyesmi:

glViewport(0,0, width,height);

glMatrixMode(GL_PROJECTION);

glLoadIdentity();

glOrtho (0, XSize, YSize, 0, 0, 1);

glMatrixMode (GL_MODELVIEW);


Majd a rajzolásnál

glBegin(GL_TRIANGLE_FAN);

glVertex2d(x, y);

for(double a = 0.0; a <= 2 * PI; a += da)

{

glVertex2d(x + cos(a) * radius, y + sin(a) * radius);

}

glVertex2d( x + radius, y );

glEnd();


Tehát mint ahogy látod nincs előre definiált kör. Neked kell leprogramozni, na majd utána a gömb lesz szép...

2012. máj. 30. 20:48
Hasznos számodra ez a válasz?
 2/2 anonim ***** válasza:
Ja ha nem akarod kitölteni akkor a line_strip-et használd a beginmode-ban. Valamint a 3cm azt nem tudom, hogy érted. Ha színezni akarod akkor a glColor-t kell használni, a textúrázást még hanyagolnám a helyedben, valamint a SwapBuffers();-el küldöd a videókártyának a memóriába rajzolt "képet".
2012. máj. 30. 20:54
Hasznos számodra ez a válasz?

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, 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!