Home › Forums › A Demokészítés művészete › Programozás › OpenGL
- This topic has 51 replies, 12 voices, and was last updated 12 years, 8 months ago by
Artlace.
-
AuthorPosts
-
2011-02-27 at 09:43 #1426
Edward
MemberSziaztok!Akkor nyitnék is egy témát az OpenGl-el ismerkedőknek.Egyenlőre csak néhány linket és könyv címet írnék, amik szerintem hasznosak lehetnek kezdéshez.
http://www.inf.u-szeged.hu/oktatas/jegyzetek/KubaAttila/opengl_html/
http://prog.hu/cikkek/katalog/4120/3D+jatek-grafika.html
http://www.lighthouse3d.com
http://fly.cc.fer.hr/~unreal/theredbook/
Háromdimenziós grafika, animáció és játékfejlesztés2011-02-27 at 22:37 #6263hornos
Memberklasszikus: http://nehe.gamedev.net/főleg a python része érdekes, a python a jövő
2011-02-28 at 15:25 #6264Gargaj
KeymasterA Pythont eleg regota igergetik jovonek :P
2011-02-28 at 16:24 #6265hornos
Membermondhattam volna a flasht is
2011-03-01 at 01:12 #6266Geri
Memberszerintem az időgép a jövő
2011-03-01 at 08:20 #6267Travis
ModeratorA jövőben az a jó, hogy nincs határideje. Mikor lesz kész a demód? Majd a jövőben.A témához kapcsolódóan: Ha az újabb API-k is érdekelnek valakit, ez egy elég használható forrás.
2011-03-02 at 00:50 #6268hornos
Memberjövő = mikor lesz a githubon?
2011-03-02 at 10:38 #6269Edward
MemberTravis wrote …
A jövőben az a jó, hogy nincs határideje. Mikor lesz kész a demód? Majd a jövőben.A témához kapcsolódóan: Ha az újabb API-k is érdekelnek valakit, ez egy elég használható forrás.Ezek nagyon jó példaprogramok! Köszi.:)
2012-04-01 at 12:34 #21095murdock
MemberSziasztok! Egy kis segtséget szeretnék kérni remélem jó helyre fordulok. A rról van szó hogy most ismerkedek az OpenGl-el de egyszerűen nem tudok ablakot elővarázsolni. minden függvény meg van hozzá mert máshol működik a kód (ablak létrejön meg jelenik benne a kis árba). Tehát ablakot nem látok de a kód fut (a tálcán meg jelenik). Mivel még most kezdek nem nagyon tudom mit kéne javítanom.Linux ot használok (Ubunut 10.10)
Köszi előre is mindent murdock2012-04-01 at 14:20 #21096rawbits
MemberValószínű, hogy nem fogok tudni segíteni, de talán érdemes lenne hozzácsapni, hogy mivel nyitsz ablakot.
Meg minden utasítás után tesztelni hibára és ha van, kirakni azt a konzolra, mert nem kell ablak egy program működéséhez. Egész tutin elvan mondjuk a rajzoló loopodban miután nem tudott ablakot generálni.
Nekem pl gyakran csinál olyat, hogy egyszer csak nem tud OpenGL ablakot nyitni és ilyenkor csak a jó öreg újraindítás segít…
2012-04-01 at 15:30 #21098murdock
MemberNem teljesen értem minden pontját annak amit írtál (érthetően írtál csak az ismereteim hiányosak) meg mutatom mit akarok elsőre futtatni. Ami itt van az oldal alján azt szeretném futattni (kis át alakítással mert ez nem tökéletes) tehát a kód így néz ki:
#include
#include
/*#include "stdafx.h"*/void init(void) {
glClearColor(0.0, 0.0, 0.0, 0.0); // a háttér legyen fekete
glMatrixMode(GL_PROJECTION); // beállítjuk a vetítési mátrixot
glLoadIdentity(); // betöltjük az egységmátrixot
glOrtho(0.0, 1.0, 0.0, 1.0, -1.0, 1.0); // vágósíkok
}void display(void) {
glClear(GL_COLOR_BUFFER_BIT); // a képernyõ törlése
glColor3f(0.0, 0.0, 1.0); // az érvényes szín kék
glBegin(GL_LINES);
{
glVertex2d(0.2, 0.2);
glVertex2d(0.8, 0.8); // az egyenes specifikálása
}
glEnd();
glFlush();
}void keyboard(unsigned char key, int x, int y) {
switch(key) {
case 27:
exit(0);
break;
}
}int main(int argc, char** argv) {
/* int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
*/
glutInit(&argc, argv);
glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB); // egyszeresen pufferelt, RGB szín módú ablak
glutInitWindowSize(200, 200); // az ablak mérete
glutInitWindowPosition(100, 100); // az ablak pozíciója
glutCreateWindow("firstglut"); // az ablak neve
init();
glutDisplayFunc(display); // a képernyõ kezelése
glutKeyboardFunc(keyboard); // a billentyûzet kezelése
glutMainLoop(); // belépés az esemény hurokba
return 0;
} egy új sor szúrtam be ez az “GlutInit” és a main argumentumait írtam át meg hiányzott 1-2: “}” és ez nem hozza a kívánt eredmény. futattni én úgyszoktam hogy terminálba be írom hogy “gcc -W -Wall -Werror simple -o simple -lglut”
és ezután futtatom a ./simple parancsal vissza nem kapok semmi hibát.
Köszönöm murdock-
This reply was modified 12 years, 10 months ago by
Gargaj.
2012-04-01 at 15:31 #21099murdock
Membervéletlenül az egészet linkbe raktam bocs:s
2012-04-01 at 15:40 #21101Gargaj
KeymasterLegkozelebb tudom javasolni a http://pastebin.com/ hasznalatat ;)
Amugy nemtom, en windozra leforgattam, itt flottul mukodik elsore. Linux alatt sztem Travis tudna neked segiteni.
2012-04-01 at 16:30 #21103Artlace
MemberSzia Murdock!
Kiprobaltam a kodod OSX-en is Linux-on is, de rossz hirem van: mindketton mukodik.
Ennek megfeleloen viszont felmerul par kerdes:
– tudsz futtatni barmilyen OpenGL ablakot nyito programot? glxgears is jo!
– Bar a linket nem sir, de lehet hogy ezt keresed:-lglut -lGLU -lGL -L/usr/X11R6/lib/ -lXmu -lXi -lXext -lX11 -lXt
Ha nem tudsz igazan GL-t hasznalo programot futtatni akkor az aktualis (feltehetoleg 3rd party) GPU drivered a ludas, mert meg az VirtualBox-os Linuxom is (Debian Lenny) vigan megnyitotta az ablakot es belerajzolta a kek atlot.
OSX az jelenleg nem tema ugyhogy csak a teljesseg kedveert (meg mert van) forditottam le azon is.
2012-04-01 at 17:43 #21104murdock
MemberElőször is bocs még egyszer a hülyeségekért amiket az előző hsz-ben műveltem.
Pastebint átnéztem legközelebb oda írom a kódot.
@Artlace: glxgears működik semmi gond nincsen vele minden megy (forog) szépen.
A parancs kiegészítésre amit írtál azt válaszolja hogy, a -lXmu -t nem találja a /usr/bin/ld-ben.Ezer hálám a segítségért murdock
2012-04-01 at 18:10 #21105kt
MemberUbuntu 11.10-en is működik.
2012-04-02 at 11:07 #21107Travis
ModeratorAmennyiben ez nem tréfa, úgy javaslom a NeHe tutorialokat (http://nehe.gamedev.net/tutorial/lessons_01__05/22004/), mert ezek nem széthekkelt példaprogramok, és minden oprendszerre van forrás.
2012-04-02 at 12:43 #21109Artlace
MemberMurdock: en javaslom az strace -f hasznalatat, megmutatja mit probal csinalni a programod.
Valoszinuleg odabent eljut az ablakkezeloig es ker valamit de nem kapja meg. Ha igy van, bar elegge sok syscall lesz ott szanaszet, de talan latszodni fog hogy mit nem talal.2012-04-02 at 14:33 #21110Travis
ModeratorSzerintem nem kell strace, mert Murdoc valamit elhallgat.
2012-04-02 at 16:33 #21111murdock
Member@Artlace: ezt a parancsot mire futtasam a fordításra(gcc stb) vagy a futatásra?
@Travis:hidd el nem hallgatok el semmit hisz, azt szeretném hogy meg oldódjon a probléma.Bármit kérdezel(tek) szivesen válaszolok ha tudom miről van szó. A video kártyám egy RadeonX1200 a gép egy MSI laptop. OpenGL támogatás biztos hogy van rajta mert win alatt egyszer sikerült már belőni egy Free Pascal-os koperációval(itt az sem megy de legalább az ablak meg jelenik, de rajzolni nem rajzol) a Pascalos forrás innen van való.2012-04-02 at 18:33 #21114Artlace
MemberMurdock: oke, en kerdezek: glxinfo kimenete?
Emellett valoban egy NeHe peldat is le kene forditanod hogy az mit csinal. Nekem az mind mukodott.
strace egyebkent futtatashoz jo: strace -f
Csak kapd el az outputjat mert sok lesz.2012-04-02 at 19:19 #21115Travis
ModeratorHa a -Werror opcióval fordítod a programot, akkor nem kapsz binárist, mert van két nem használt változód a keyboard() függvényben, ami normális esetben figyelmeztetés lenne, de ezzel az opcióval hibának számít. Ezért feltételeztem, hogy valami információ még hiányzik.
Azt is meg merem kockáztatni, hogy volt már egy másik bináris ilyen névvel a munkakönyvtáradban, te fordítottál, nem vetted észre a fordítási hibaüzenetet és a régebbi programot futtattad.2012-04-03 at 09:50 #21118murdock
MemberA NeHe példa programok sem jók. A gluPerspective-re a InitGL-re és a ReSizeGLScene-re panaszkodik hogy hiba van benne.
itt van a glxinfo teljes kimenete http://pastebin.com/DhYMwwSM ugyan ilyen nevűek lehet hogy, voltak majd utána járok.2012-04-03 at 12:55 #21124Travis
ModeratorJó, most legyél szíves a fordítási hibaüzeneteket is megmutatni.
2012-04-03 at 14:52 #21125kt
MemberGLU header megvan (glu.h), be is van include-olva?
2012-04-03 at 17:29 #21126Artlace
MemberMost mar en is kivancsi lennek a forditasi hibauzenetekre.
2012-04-03 at 18:31 #21127rawbits
MemberDe nem onnan indult az egész, hogy a program fut, csak nincs ablak? Akkor csak lefordul valahogy nem? Ezért voltam kíváncsi, hogy mik a visszatérési értékei a glut-os cuccoknak. Azt kéne kicsapni a konzolra és akkor látnánk, hogy melyiknél bukik…
Mondom nálam is sz**akszik az OpenGL időnként! Újraindítás után meg újra minden jó.
2012-04-04 at 07:24 #21129murdock
MemberNa ismét leszedtem a Nehe-s forrást kicsomagoltam bele mentem a mappájába (cd stb.stb) ott ezzel a parancsal akartam fordítani:
gcc -W lesson1.c -o lesson01 -lglut -lGLU -lGL -L/usr/X11R6/lib/ -lXmu -lXi -lXext -lX11 -lXt
és erre kaptam ezt a hiba üzenetet:
/usr/bin/ld: cannot find -lXmu
collect2: ld returned 1 exit status
@RawBits: de úgy indult. de csak azokat tudtam fordítani amikebe én bele nyúltam(ez nem bitos hogy túl szerncsés mivel most ismerkedek az egészzel)2012-04-04 at 08:43 #21130Travis
ModeratorEz már valami! Ha ezt akarod fordítani, akkor telepítened kell egy csomó xlib-dev csomagot, ami nem éri meg a belefektetett energiát. A sima Linux forrást szedjed le. Ott a makefile-ban a
LIBRARIES = -lX11 -lXi -lXmu -lglut -lGL -lGLU -lm
sor helyett a
LIBRARIES = -lglut -lGL -lGLU -lm
sort írod be, és tudod fordítani make -f makefile paranccsal. Ha nem, akkor nyomozunk tovább :-)2012-04-04 at 10:53 #21140murdock
MemberNa szóval működik.asszem. A teljes képernyő fekete lesz és ESC-re kilép. Ahogy néztem a forrás nem is kell mást csinálnia. Szóval nagyon kösz mindenkinek a segítséget és a türelmet. De ha valami probléma akkor jelentkezek még:D még egyszer köszi mindenkinek murdock
-
This reply was modified 12 years, 10 months ago by
-
AuthorPosts
- You must be logged in to reply to this topic.