Üdv!
Van nekem ez a kódom: http://pastebin.com/ddkCUJu3.
A feladat az, hogy kirajzoljak egy kockát, benne egy gömbbel. A gömbnek mozognia kell a kockán belül és visszapattannia a falairól. Ez volt a könnyű része.Na most bele kellene programozni kétféle kameraállást. Amikor megláttam a gluLookAt függvényt azt hittem sínen vagyok, nem lesz túl nehéz dolgom. Kér három vektort, egyik megadja a kamera pozícióját, a második hogy merre néz a kamera, a harmadik pedig hogy merre néz a kamera teteje. Elsőre egyszerűnek tűnt, de csak nem akarja az elvárt eredményt produkálni.
A kockám élei 1 egység szélesek, a középpontja pedig a (0, 0, 0) pontban helyezkedik el. A következő kódrészlettel a kamerát elhelyezem a kocka középpontjába úgy, hogy az csúcsra nézzen:
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
glPushMatrix();
gluLookAt(0, 0, 0, 0.5, 0.5, 0.5, 0, 1, 0);
draw_sphere(&sphere);
draw_cube(&cube);
glPopMatrix();
Először is azt feltételezném hogy a kamera távolságától függ a megfigyelt objektum mérete, de sajnos nem így van, pedig ez lenne kívánatos.
A fenti kód pedig ezt eredményezi: http://www.kepfeltoltes.hu/141016/cube_www.kepfeltoltes.hu_.jpg. Na most amit feltételeznék az az, hogy nem fogok feketeséget látni, hiszen a kamera a kocka belsejében van, tehát elvileg csak a kocka színes és áttetsző oldalait láthatja.
Abban szeretnék segítséget kérni hogy össze tudjam hozni úgy a dolgot mintha egy valódi, a kockában elhelyezett kamerán keresztül néznénk az eseményeket.
Őszintén szólva nem értek a grafikához, és nem is nagyon érdekel, de meg kellene csinálnom, szóval minden segítségért nagyon hálás lennék.
- 4665 megtekintés
Hozzászólások
Nem állítottad be a perspektivikus projekciót, lásd gluPerspective függvény.
- A hozzászóláshoz be kell jelentkezni
+1
### ()__))____________)~~~ #################
# "Ha én veletek, ki ellenetek?" # E130/Arch
- A hozzászóláshoz be kell jelentkezni
És valóban ez volt az! Már korábban olvastam a válaszod, és segített is, csak elfelejtettem megköszönni. Köszönöm!
- A hozzászóláshoz be kell jelentkezni
"Őszintén szólva nem értek a grafikához, és nem is nagyon érdekel, de meg kellene csinálnom, szóval minden segítségért nagyon hálás lennék."
3D-t nem lehet úgy programozni, hogy nem érted, és nem érdekel.
- A hozzászóláshoz be kell jelentkezni
Hát nem könnyű, de sajnos az egyetem ahol tanulok minimális flexibilitást enged az órarend összeállítását illetően, így olyan tantárgyakat is abszolválnom kell, amelyek rohadtul nem érdekelnek. Ilyen a Számítógépes grafika nevű is. Vacak rendszer.
- A hozzászóláshoz be kell jelentkezni
Nem tudom mennyire akarsz elmélyedni a dologban, de rengeteg tutorial van a neten, illetve ha kell, segíteni is tudok hogy merre célszerű indulni
// Happy debugging, suckers
#define true (rand() > 10)
- A hozzászóláshoz be kell jelentkezni
Nagyon köszönöm, esetleg erre ránézhetnél ha van pár perced. Őszintén szólva csak annyira akarok elmélyedni a dologban amennyire feltétlenül szükséges ahhoz, hogy valahogy túljussak a tantárgyon. Így mindig csak az éppen aktuális feladattal foglalkozom és a hozzá kapcsolódó problémákra akarok megoldást találni.
- A hozzászóláshoz be kell jelentkezni