Számítógépes grafika: OpenGL + GLUT + fejlesztőkörnyezetek
Ez az oldal a korábbi SCH wikiről lett áthozva.
Ha úgy érzed, hogy bármilyen formázási vagy tartalmi probléma van vele, akkor, kérlek, javíts rajta egy rövid szerkesztéssel!
Ha nem tudod, hogyan indulj el, olvasd el a migrálási útmutatót.
<noautolink>
GLUT
Az OpenGL Utilty Toolkit egy library, amely megkönnyíti az OpenGL-es programok írását, azzal, hogy elfedi az operációs rendszerek közötti különbségeket. A GLUT segítségével néhány sor írásával létrehozhatunk egy OpenGL megjelenítésére alkalmas ablakot.
Windows-on ezek a funkciók Visual Studio esetén a glut32.dll fájlban , MinGW esetén a libglut-0.dll fájlban vannak megvalósítva. Ez nem része az operációs rendszernek, külön kell letölteni a hozzá tartozó header fájlokkal együtt (részletesen lejjebb). Egy GLUT-os programnak tehát kell megfelelő GLUT DLL, amit célszerű a =C:\WINDOWS\system32\= mappába másolni, vagy közvetlenül az exe mellé.
Ultimate C&A fejlesztőcsomag
- A legkönnyebb, legkisebb, leggyorsabb megoldás a grafika házi feladatok forgatására by Csöndes Laci & keeroy
- MinGW/g++ alapú megoldás, amellyel a saját kedvenc editorodat használhatod. Semmi fölösleges sallang!
- Az összeállítása nagyon egyszerű, de azért olvasd el a readme.txt-t!
- Update: cp.bat kiegészítés a rejtélyes gordiusos hibák orvoslására. Használatához olvasd el a readme-t.
Letöltés:
http://cg.iit.bme.hu/~zsolnai/gfx/ca.zip - ha nem megy, akkor legalul a csatolmányok között is elérhető.
Kulcsrakész fejlesztőcsomag
Telepített, beállított mingw/msys környezet. gcc, glut és ráadásnak gdb. Nagyon hasonlatos a fenti C&A csomaghoz, de míg az a netről húzza a dolgokat mikor telepíted, ezt csak ki kell csomagolni.
README-t ne felejtsd elolvasni!
Letöltés:
http://dl.dropbox.com/u/841166/bme/grafika.zip (63MB)
Qt Creator (Windows)
(alfa verzió, mert nincs nálam a saját gépem, ergo emlékezetből dolgozok) Marha egyszerű, a lépések:
- letölteni a GLUT-ot
- telepíteni a Qt SDK-t. Telepítéskor elég, ha a Desktop/MinGW-re koncentrálsz, a grafika házihoz csak ez kell.
- bemásolni a header fájlokat a Qt Include\GL könyvtárba, ami ilyesmi helyen lehet pl.: "C:\QtSDK\mingw\include\GL"
- a lib fájlokat is elhelyezni hasonló módon, csak itt a "mingw\lib" könyvtár lesz a célpont
- a dll fájlt bepakolni a Windows\system32, vagy 64 bites rendszer esetén a SYSWOW64 könyvtárba
- Qt Creator megnyit, ezután új cpp projektet kell létrehozni
- A projekt beállításainál (bal oldalon a .pro fájl) nyugodtan ki lehet törölni minden Qt-re vonatkozót, és helyettük a “QT += opengl” és “LIBS += libglut32” bejegyzéseket kell elhelyezni
- main.cpp fájl tartalmát le lehet cserélni a grafika házi keretre
Innentől pedig mehet minden a megszokott mederben
Visual Studio (Windows)
GLUT letöltés (minden verzióhoz)
Innen http://www.xmission.com/~nate/glut.html, ez kell glut-3.7.6-bin.zip (117 KB).
Visual Studio .NET 2003
Telepítés
Másoljuk be a következő fájlokat (feltételezve, hogy a Visual Studio a =C:\Program Files\Microsoft Visual Studio .NET 2003\= könyvtárba lett telepítve):
- glut.h a C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Include\gl\ könyvtárba
- glut.lib a C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\PlatformSDK\Lib könyvtárba
Telepítés más helyre
- Hozzunk létre egy tetszőleges könyvtárat, pl. C:\GLUT
- Ide másoljuk a glut.lib fájlt
- Ebbe hozzunk létre egy gl nevű könyvtárat, és ebbe másoljuk be a glut.h fájlt.
- Visual Studio-ban Tools | Options... || Projects VC++ Directories -ban adjuk hozzá a GLUT könyvtárát az Include Files és Library Files -ok közé.
Hello OpenGL program
- File | New Project
- Visual C++ Projects | Win32 Win32 Console Project
- Application Settings-ben Empty Project pipa
- Solution Explorer -ben jobb klikk a project-re, Add | Existing Item...
- Build | Build Solution, Debug Start Debugging
Visual Studio 2005
Telepítés
Másoljuk be a következő fájlokat (feltételezve, hogy a Visual Studio a C:\Program Files\Microsoft Visual Studio 8\ könyvtárba lett telepítve):
- glut.h a C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Include\gl\ könyvtárba
- glut.lib a C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\Lib\ könyvtárba
Telepítés más helyre
- Hozzunk létre egy tetszőleges könyvtárat, pl. C:\GLUT
- Ide másoljuk a glut.lib fájlt
- Ebbe hozzunk létre egy gl nevű könyvtárat, és ebbe másoljuk be a glut.h fájlt.
- Visual Studio-ban: Tools | Options... || Projects and Sollutions VC++ Directories -ban adjuk hozzá a GLUT könyvtárát az Include Files és Library Files -ok közé.
Hello OpenGL program
- File | New Project...
- Visual C++ | Win32 Win32 Console Application
- Win 32 Application Wizard -ban Next, Empty Project bepipál
- Solution Explorer -ben jobb klikk a project-re, vagy a Source Files-ra, Add | Existing Item...
- F5
Visual Studio 2008
Telepítés
- glut.h a C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\gl könyvtárba
- glut.lib a C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib könyvtárba
Látványos segítség Windows 7 alá
Visual Studio Expressek
Egyetlen apróságban térnek el a nem express változatoktól, hogy külön kell letölteni, és telepíteni hozzájuk a Platform SDK-t: http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/default.aspx. Ezután értelemszerűen a Platform SDK könyvtáraiba kell másolni a glut.h -t, és a glut.lib -et. Bővebben lásd a nem express változatoknál.
Visual Studio 2010 Beta 1 (Windows 7-en)
- glut.h a C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl könyvtárba
- glut32.lib a C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib könyvtárba
- glut32.dll a C:\Windows könyvtárba
- A C:\Windows\Microsoft.NET\Framework\v4.0.20506\133 könyvtárról csinálj egy másolatot ugyanide 1038 néven
- Van egy hiba a VS2010 Beta 1-ben, miszerint Unicode karakterkészlettel dolgozik, s emiatt a program belépési pontja nem a main függvény.
- A main függvényt át kell nevezni wmain -ra.
- VAGY
- A Project/* propertier menüpontban át kell állítani a Character Set -et Use Multi-Byte Character Set-re.
- Beta2-ben javítva lesz. Bővebb infó: http://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=454646
Visual Studio 2010 Beta 2 (Windows 7-en)
- glut.h a C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include\gl könyvtárba
- glut32.lib a C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib könyvtárba
- glut32.dll a C:\Windows\System32 könyvtárba
Visual Studio 2010
- Ugyanúgy kell eljárni, ahogyan a Beta 2-nél.
Visual Studio 2012 (64bit)
- glut.h a C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\gl könyvtárba (a gl könyvtárat Neked kell létrehozni!)
- glut32.lib a C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib könyvtárba
- glut32.dll a C:\Windows\SysWOW64 könyvtárba
Dev-C++ (Windows)
Telepítés
- Tools | Check For Updates/Packages...
- _Select devpack server_: devpaks.org
- Check For Updates
- Valahol lesz egy =glut= package. Mellette pipa. Ha letöltötte Close.
Hello OpenGL program
- File | New Project...
- MultiMedia fülön glut
- Execute | Compile, Execute Run
Xcode (Mac OS X)
Telepítés
- Xcode-ot az Apple oldaláról lehet szedni ingyért, 1 giga körül van
- GLUT nem kell külön, része az Xcode csomagnak.
- step-by-step guide: http://cit.cs.dixie.edu/cs/cs3600/xcode-glut/
Hello OpenGL program
- Az include-oknak így kell kinézniük:
#include <OpenGL/gl.h> #include <OpenGL/glu.h> #include <GLUT/glut.h>
- Hozzá kell adni a =/System/Library/Frameworks/GLUT.framework= -öt és a =/System/Library/Frameworks/OpenGL.framework= -öt a projecthez. (Projecten jobb gomb -> Add -> Existing Frameworks -> ott megkeresed ezeket.)
- Ezek után elvileg minden gond nélkül fordul.
Linux + tetszőleges szövegszerkesztő
- Első körben telepíteni kell a következő csomagokat:
libglu1-mesa-dev
freeglut3-dev
mesa-common-dev
build-essential
- eg: debian alapú disztrókon:
sudo apt-get install libglu1-mesa-dev freeglut3-dev mesa-common-dev build-essential
- eg: debian alapú disztrókon:
- Tetszőleges szövegszerkesztővel szerkesztjük a kódot
- eg: vim, nano, pico, gedit, leafpad, stb.
- Fordítás:
g++ -Wall grafh.cpp -lGL -lGLU -lglut -o grafx
, ahol:-Wall
: összes warning megjelenítése (pl: a nem használt változókról)-o grafx
: kimenet neve-lglut -lGL -lGLU
: glut és GL libek linkelésegrafh.cpp
: ki lehet találni :)
- Futtatás: duplakatt a létrejövő binárisra. Parancssorban:
./grafx
Forrás
- Visual Studio: http://www.inf.u-szeged.hu/~tanacs/oktatas/szggraf06/VisualStudioNETSteps.html, amely már csak Google Cache-ben érhető el.
- Dev-C++: http://www.astahost.com/info.php/installing-glut-dev-c_t14192.html