- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- OLED TV topic
- SSD kibeszélő
- Home server / házi szerver építése
- Dell notebook topic
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Házimozi haladó szinten
- CPU léghűtés kibeszélő
- NVIDIA GeForce RTX 3080 / 3090 / Ti (GA102)
- Hamarosan kapható a Helegaly linuxos handheld gépe
Ú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
- Donald Trump azt mondja, hogy megtalálta a TikTok vevőjét
- Így nézz tévét 2025-ben: új ajánlások, régi szabályok
- Red Magic 10 Air - gaming telefon is lehet kecses
- Motoros topic
- OLED TV topic
- Xbox Series X|S
- SSD kibeszélő
- Samsung Galaxy A56 - megbízható középszerűség
- Home server / házi szerver építése
- Mobil flották
- További aktív témák...
- Eladó MSI B650 GAMING PLUS WIFI Alaplap
- Eladó PNY GeForce RTX 4070 Ti SUPER 16GB videokártya
- Bomba ár! Asus Slate EP121 Tablet - Intel Core i5 I 4GB I 64GB SSD I 12" Touch I Cam I W10 I Gari!
- Bomba ár! HP EliteBook 2570P - i5-3GEN I 4GB I 320GB I DVD I 12,5" HD I W10 I Garancia!
- Bomba ár! HP EliteBook 2560P - i5-2GEN I 4GB I 320GB I 12,5" HD I W10 I Garancia!
- ÁRGARANCIA! Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RX 7600 8GB GAMER PC termékbeszámítással
- KIÁRUSÍTÁS - REFURBISHED és ÚJ - Lenovo ThinkPad Ultra Docking Station (40AJ)
- Bomba ár HP Pro X360 11 G1 - Intel N4200 I 4GB I 128GB SSD I 11,6" HD Touch I Cam I W10 I Gari
- HPE Aruba PoE+ L3 switch raktárról azonnal elérhető!
- Samsung Galaxy S25 Plus Navy 12/256 GB Újszerű, karcmentes állapotban!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest