Hirdetés
- Októberi bevetésre indul a hardveralakulat
- Továbbfejlesztette az SP szériás, kompakt tápegységeit a Lian Li
- Itt van az ASUS legfrissebb, AMD platformra épülő mini PC-je
- Jegeli pénznyelő projektjét az Apple, az okosszemüvegben látják a jövőt
- Olcsónak ígérkező, madzagos egér jelent meg az ASUS ROG-os portfóliójában
Új hozzászólás Aktív témák
-
mlacimk
csendes tag
Először is kösz a választ!
Azóta már én is eljutottam a glReadPixels-es módszerig, de sajnos ezzel is van egy kis gondom. Méghozzá az, hogy nem minden alkalommal olvassa ki jól a mélységet, vagyis kb. minden 4-5. alkalommal csupa 0-t ad vissza ugyanarra a pozícióra...
A glTranslate-ben pedig azért 0-t adok z-nek, mert a z=0 síkon mozgatok.
Majd próbálkozom, de ha lenne valami ötleted, azt is szívesen fogadom
Üdv:
Laci -
mlacimk
csendes tag
Sziasztok!
Egy olyan problémám lenne, hogy egy "léghoki" játékot írok opengl-ben és az ütő kirajzolásához a koordinátákat az egér helyzetéből veszem gluUnProject-el, azonban nem a jó koordinátákat kapom. A játékban az asztal körül a szobában is lehet "sétálni", amire gluLookAt-et használok. Séta módban az irányítás egérrel és billentyűzettel történik, játék módban pedig, az aktuális helyről, ahová sétáltam a szobában, onnan kell az egérrel mozgatni az asztalon az ütűt.
Íme a kód kicsit leegyszerűsítve://Itt kezdődik a display...
gl.glClearColor(0.0f, 0.0f, 0.0f, 1);
gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
glu.gluLookAt(eyex, eyey, eyez, centerx, centery, centerz, 0.0f, 0.0f, 1.0f);
szobaKirajzol(gl); //Szoba kirajzolás
asztalKirajzol(gl); //Asztal kirajzolása
if(mod == 1) { //a séta/játék mód eldöntése...
gl.glGetDoublev(GL.GL_PROJECTION_MATRIX, projmatrix, 0);
gl.glGetDoublev(GL.GL_MODELVIEW_MATRIX, mvmatrix, 0);
gl.glGetIntegerv(GL.GL_VIEWPORT, viewport, 0);
realy = viewport[3] - (int) y_eger - 1;
glu.gluUnProject((double) x_eger, (double) realy, 0.0f,
mvmatrix, 0,
projmatrix, 0,
viewport, 0,
wcoord, 0);
x_koord = (float)(wcoord[0]);
y_koord = (float)(wcoord[1]);
gl.glPushMatrix();
gl.glTranslatef(x_koord, y_koord, 0); //ütő a megkapott pozícióba rajzolása
utoKirajzol(gl);
gl.glPopMatrix();
}
gl.glFlush(); //vége...A kérdésem az, hogy mit rontottam el, hogy nem a jó koordinátákat kapom, illetve, hogy, ha men ezzel a módszerrel kell megcsinálni, akkor hogyan?
Előre is kösz a válaszokat!
Üdv:
Laci
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! ASUS Z97-K Z97 chipset alaplap garanciával hibátlan működéssel
- Fujitsu LIFEBOOK E449 i3-8130U 8GB 256GB 14" FHD 1 év garancia
- ŐSZI BOMBA AKCIÓK! PSN, STEAM, UBISOFT CONNECT, EA APP, XBOX EREDETI KULCSOK 100% GARANCIA
- ÁRGARANCIA!Épített KomPhone Ryzen 5 4500 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- Vállalom telefonok,tabletek javítását ,(szoftveres hibát is,frp lock-ot is)márkától fügetlenűl
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest