„Számítógépes grafika: OpenGL + GLUT + fejlesztőkörnyezetek” változatai közötti eltérés

A VIK Wikiből
Ugrás a navigációhoz Ugrás a kereséshez
(vissza-link, old Wikire linkelés eltüntetése)
186. sor: 186. sor:
 
* '''glut32.lib''' a ''C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\lib'' könyvtárba
 
* '''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
 
* '''glut32.dll''' a ''C:\Windows\SysWOW64'' könyvtárba
 +
 +
Amennyiben a telepítés helye nem a default, akkor a .h és .lib fájlokat az általad megadott ''*\Microsoft Visual Studio 11.0\VC\'' könyvtárba kell tenned!
  
 
==Dev-C++ (Windows)==
 
==Dev-C++ (Windows)==

A lap 2015. március 11., 22:42-kori változata

← Vissza az előző oldalra – Számítógépes grafika és képfeldolgozás#Előkészületek

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:

Fájl:Grafika IDE Ultimate C&A fejlesztőcsomag MinGW g++ (ca.zip).zip

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)

NetBeans (Windows)

Alapvetően ez a német cikk volt a kiindulópontom: http://techchan.blog.de/2012/03/18/einrichten-opengl-netbeans-7-1-1-teil-0-start-13209096/.
Ez azonban tartalmaz egy-két felesleges lépést, vagy épp apróbb hibát, így ezeket korrigálva készítettem el a step-by-step leírást.
Remélem, hasznát veszitek, sok sikert! -- Haraszin Péter (vita) 2014. február 18., 16:01 (UTC)

  1. MinGW-t telepíteni szóközt NEM tartalmazó könyvtárba
    1. a példában ez C:\MinGW lesz
    2. a telepítés után az Installation Managerben a következőket kell bekattintani:
      1. mingw32-base
      2. msys-bash
      3. msys-make
    3. ezután Installation menü > Apply changes, ezzel telepíti a gcc-t, g++-t, gdb-t stb. (A MinGW amúgy is hasznos. :) )
    4. Screenshotok:
      1. 6253557_12411cd7df_l.jpeg
      2. 6253558_4e31936ead_l.jpeg
      3. Grafika tutorial NetBeans C++ OpenGL freeglut MinGW Installation Manager.png
  2. Aztán kelleni fog a freeglut library, ez innen letölthető: http://www.transmissionzero.co.uk/computing/using-glut-with-mingw/
    1. itt lásd a "You can download my freeglut MinGW package" szöveg alatt található linket:
      http://files.transmissionzero.co.uk/software/development/GLUT/freeglut-MinGW.zip
    2. ennek tartalmát bontsd ki mondjuk a MinGW könyvtárába, a freeglut nevű alkönyvtárba.
      így az elérési út pl. C:\MinGW\freeglut lesz.
      Mindez csupán az egyszerűség kedvéért történik, egyébként lehetne máshová is tenni, de akkor erre oda kell figyelni, hogy az elérési útvonalak helyesek legyenek. A példában a C:\MinGW\freeglut elérési utat fogjuk használni.
  3. A következő elérési utakat tedd be a környezeti változók közé, a PATH-ba:
    1. C:\MinGW\bin
    2. C:\MinGW\msys\1.0\bin
    3. C:\MinGW\freeglut\bin (ez tartalmazza a freeglut.dll fájlt)
      Itt megjegyezném, hogy sok helyen javasolják a freeglut.dll fájl rendszerkönyvtárakba pakolását, mint pl. 32 bites rendszeren C:\Windows\System32\, vagy 64 bites rendszeren C:\Windows\SysWOW64\ könyvtár, meg akár a freeglut.dll kerülhetne az alkalmazás könyvtárába is, de én egyiket sem tartom túl jó módszernek, értelmesebbnek tűnik berakni a PATH-ba azt a könyvtárat, amely ezt a fájlt tartalmazza - így több projekt számára is elérhető a dll-fájl, valamint rendszerkönyvtárakba sem dobálunk bele 3rd party dll-fájlokat. Persze ízlések és pofonok különböznek... :) (HP)
    (például .........;C:\MinGW\bin;C:\MinGW\msys\1.0\bin;C:\MinGW\freeglut\bin;......... - szándékosan nem tartalmaz szóközöket a pontosvessző után)
    A környezeti változók hozzáadásának módszere:
    itt látható, hogyan kell, ha valaki még nem csinálta
    1. Win+R, majd control.exe sysdm.cpl,System,3
    2. Environment Variables... gombra klatty
    3. Path-hoz legörgetés (Grafika tutorial NetBeans C++ OpenGL freeglut System environment variables Path.png), aztán a fentebbi könyvtárak hozzáadása pontosvesszővel elválasztva
  4. Telepítsd a NetBeans-t: https://netbeans.org/downloads/index.html
    nyilván a C/C++ plugint tartalmazót töltsd le és telepítsd (a plugineket amúgy utólag is lehet telepíteni, ha másikat raktál fel).
  5. utána a NetBeans-en belül: Tools > Options > C/C++ > Build Tools fül, így kellene kinéznie:
    1. Grafika tutorial NetBeans C++ OpenGL freeglut Tools Options C-C++ Build Tools.png
  6. Ezután hozd létre a C++ projektedet NetBeans-ben, majd a projektre jobb klikk - Properties > Build > C++ Compiler
    1. itt az "Include Directories"-nál megadjuk: C:/MinGW/freeglut/include
    2. így néz ki:
      Grafika tutorial NetBeans C++ OpenGL freeglut Project Properties Build C++ compiler.png
  7. ezután ugyanitt Build > Linker opciónál:
    1. Additional Options: -L"C:/MinGW/freeglut/lib"
    2. Libraries opción belül adjuk hozzá ezeket:
      1. -lfreeglut
      2. -lopengl32
      3. -lglu32
        screenshot: Grafika tutorial NetBeans C++ OpenGL freeglut Project Properties Build Linker Libraries.png
        ha ezek valamelyike nincs hozzáadva, akkor ehhez hasonló hibaüzeneteket kaphatsz: "undefined reference to `gluPerspective@32'", "undefined reference to `gluLookAt@72' ", stb.
      screenshot: Grafika tutorial NetBeans C++ OpenGL freeglut Project Properties Build Linker.png
  8. Készen vagyunk. Ha mindent jól csináltunk, akkor a kódunknak fordulnia kell. Igaz, hogy a lista elég hosszú, de egyszer érdemes végigcsinálni: utána egyszerűbb lesz, mint amilyennek a leírás alapján tűnik.

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...
    File:glTest.cpp
  • 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...
    File:glTest.cpp
  • 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.

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

Amennyiben a telepítés helye nem a default, akkor a .h és .lib fájlokat az általad megadott *\Microsoft Visual Studio 11.0\VC\ könyvtárba kell tenned!

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

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
  • 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ése
    • grafh.cpp: ki lehet találni :)
  • Futtatás: duplakatt a létrejövő binárisra. Parancssorban: ./grafx

Debian/Ubuntu + makefile

sudo apt-get install g++ libglut3-dev

Makefile

nev=elso_hazi

LDFLAGS += -lglut -lGLU -lGL
#LDFLAGS += -m32 # 32 bites bináris
#CXXFLAGS += -m32 # 32 bites bináris

CXXFLAGS += -pedantic -Wall -Wextra
#CXXFLAGS += -DDEBUG -g # debug opciók
CXXFLAGS += -g0 -O3 # release opciók

OBJS = $(nev).o  # linkelendők

$(nev): $(OBJS)
	$(CXX) $(LDFLAGS) $(OBJS) -o $@

clean:
	$(RM) *.o $(nev)

-- maat - 2011.03.27.

Forrás