Opengl és c builder
OpenGL és C ++ Builder. 1. rész.
A Borland C ++ Builder 6 konfigurálása az OpenGL-rel való együttműködéshez.
A cikk célja, hogy segítsen a C ++ Builder 6 környezet beállításában, és további könyvtárakat készítsen az OpenGL grafikus rendszerrel való együttműködésre.
Tovább. A BCB környezetben létezik egy $ (BCB) \ lib \ Import32.lib fájl, amely linkeket tartalmaz "mindenre szüksége van", beleértve a fent említett dll-könyvtárakat. Ha egy projektet fordít az IDE-ről vagy egy fordítóval (bcc32 -v -Tpe test.cpp) rendelkező fordítót használ, akkor ez a könyvtár automatikusan csatlakozik. Ha az ilink32.exe-ből linkelünk, akkor ezt a könyvtárat explicit módon kell csatlakoztatnunk.
A fejlécfájlokban (ahol OpenGL támogatás szükséges) 2 sor van beillesztve
Így, ha a projekt módon előírt tartoznak-könyvtár $ (BCB) \ tartoznak lib-directory $ (BCB) \ lib és gl.h fájlok glu.h, import32.lib a helyén, és nem törött (ez az eset áll fenn alapértelmezett), akkor semmi többet nem szükséges elvégezni.
Van még egy kis részlet a koprocesszor matematikai hibáinak feldolgozásával kapcsolatban. Ha a program váratlanul "összeomlik" a lebegőpontos számítások során az MS-könyvtárakban, ajánlott pár parancs beillesztése az egyes keretek rajzolása előtt (Win9x-ben)
_control87 (MCW_EM, MCW_EM); / * a float.h BCB * /)
vagy egy második parancsot (Win2k, WinXP) az inicializálási szakaszban.
Ezek a ritka "távozások" akkor jelentkeznek, amikor a koprocesszor gerjesztése megindul. Az MS figyelmen kívül hagyja ezeket a kivételeket, Borland nem. A _control87 parancs a megadott zászlókkal figyelmen kívül hagyja ezeket a kivételeket a BCB-ben is.
Most a GLAUX és GLUT könyvtárakról, amelyek használata gyakran sok kérdést vet fel.
Az első főként a képek textúrákba való betöltésére és szabványos 3D testek felépítésére szolgál. Másodszor, hogy platformennonezavisimoy, amelynek célja, hogy hozzon létre egy hulladékfeldolgozó ablakok (sokszorosító grafikai) az ablakban és ablak média, üzenet feldolgozása alapján a keret funkciók visszahívás (callback), támogatja a beviteli eszközök, dolgozó tétlen ciklus, programozható időzítő, lépcsőzetes menük, támogatás különböző betűtípusok, valamint a háromdimenziós testek építéséhez.
NEM JAVASOLT, hogy fejlett alkalmazásokban használja őket. azt jelentették, hogy az első memória szivárgást tartalmaz, a második pedig korlátozásokat tartalmaz, és nem működik teljes egészében a VCL-rel. Megoszlásukat nagyszámú példa jelenléte magyarázza a kézikönyvek és tankönyvek használatával.
Ha nincs glaux.h fejlécfájlja, akkor ellenőrizze az archívumot a cikk végén. Ezután tegyük $ (BCB) \ include \ gl-be.
A GLAUX esetében vannak cserék (képek feldolgozásához):
1. Nehe letöltések váltották GLAUX képeket feltölteni (Misc), ugyanúgy, van egy port minden osztály C ++ Builder 6, ami lehet dolgozni a BCB, tanulni OpenGL tiszta Win API-t.
4 cm. Példa $ (BCB) \ Példák \ OpenGL \ Rajz \ GlSkel.cpp (SetupTextures), ami azt mutatja, hogy hogyan kell betölteni a .bmp-fájlokat TBitmap komponens (és még meg átlátszó szín).
Ki kell igazán GLUT:
A gyakorlathoz ajánlott többféle projekt létrehozása a mintafájlok felhasználásával a letöltött glut-3.7.6-src.zip csomagból (a példák mappájából). Vegyük például a triangle.c fájlt. BCB-ben hozza létre a konzolalkalmazást -Fájl / Új / Egyéb és az Új lapon válassza a Konzol varázsló parancsot. Telepítse a Projekt forrás megadása jelölőnégyzetet, és jelölje ki a megadott fájlt (ne felejtsük el, hogy a kiterjesztése .c). Minden készen áll! A konzolalkalmazás tervezetét tiszta C-re hoztuk létre. Figyeljük meg, hogy a GLUT használatakor nincs szükség irányelvek készítésére.
Csak a sztring szükséges
Nehéz egy projektalkalmazás létrehozására C ++-ban. A konzolvarázsló használatával törölje a jelet a jelölőnégyzetből, és állítsa be a kapcsolót a C ++-ban. Mentse el a kapott projektet. Most helyezze a teljes szöveg, kivéve a fő funkciója, ettől triangle.s a Unit1.cpp után azonnal #pragma hrdstop, és a tartalmát a fő funkciója a Unit1.cpp cserélni a tartalmát a fő funkciója triangle.s fájlt. Próbálja össze a projektet. Nem működött? Nem számít. Add hozzá a Project Options \ Könyvtárak / Conditional \ Feltételes a projekt tulajdonságait a ";" GLUT_BUILDING_LIB segítségével.
Ismét megismétlem. Jobb, ha nem használod a GLAUX és GLUT (kivéve a képzést), és csak a BCB eszközökkel dolgozhatsz. Értsd meg két példát: $ (BCB) \ Examples \ OpenGL.
dplakosh / az előző előde (BCB5) (a hatalmas orosz nyelv!).
(lásd a cikk végén található archívumot is).
Ez az információ elég ahhoz, hogy saját maga használja a Borland C ++ Buildert, hogy az OpenGL projektjeit dolgozza ki. Egy "de" - a teljes képernyős módot nem vettük figyelembe. De róla - legközelebb.
Csak a C ++ Builder használható különböző okokból:
Mindent akarok. Már megszoktam.
Valóban a termék grandiózus. Nehéz leállni. De elsõsorban a felület gyors fejlesztése és az adatbázisok kezelése volt. Ha más nem szabványos problémákat kell megoldani, akkor sokkal mélyebben kell tanulmányozni, mint általában. De az erőfeszítés kifizetődik. Ajánlom Charlie Calvert könyveit.
Nem akarom megtanulni ezeket a WM_SYSCOMMAND ...
Bűnös vagyok ezzel, különösen azért, mert a C ++ Builder kecsesen maszkolja ezeket az összetettségeket. De anélkül, hogy jól ismerte volna a Win API programozását a Windows alatt, nem megy túl messzire ...
Nincs Visual Studio.
Ingyenes VS Express Edition-t tölthet le. És egyébként honnan származik a C + + Builder?
De ami a legfontosabb: szeretem a RAD-ot, és elegáns csomagolásban csomagolják.
Igen, ebben a Borlandban már 10 éve elérték az MS-t. És csak a .NET MS megjelenése után húzódott fel. De itt szükség van az új környezet tanulmányozására, kísérő problémákkal jár ... A kör bezáródik.
A C GLScene egy kis nehézség. 714 kiadása alapján Delphi és keményen kell dolgoznunk, amely létrehozta TortouseCVS letölthető CVS GLScene ágak C ++ Builder (lásd. FAQ) és tanulmányozása nagyon jelenetet. De általában ígéretes, még a cross-platform is meg van ígérve! Igen, a jelenet lelassul. De ez a kérdés nagyon finom. És akkor az első stabil kiadás csak hat hónappal ezelőtt jelent meg, bár a fejlesztés már közel öt éve folyik. A közeljövőben új kiadás várható.