Hogyan kaphatok néhány OpenGL ablakok egy formanyomtatványon

OpenGL Delphi: Ahelyett Bevezetés

Technológiai Open Graphics Library (Nyisd grafikus könyvtár - OpenGL) a de facto szabványa professzionális rendszer tervezése, számítógépes játékok és más alkalmazások két- és háromdimenziós grafika. Mivel a cross-platform könyvtár széles körben használják a különböző rendszerek fejlesztése különböző operációs rendszerek - a szerver a mobil. Természetesen, ez nem kivétel, és mint a népszerű rendszer Delphi, amely biztosítja a lehetőséget, hogy a OpenGL OpenGL.pas után egy egyszerű modult kapcsolatot.







Sőt, OpenGL használata Delphi nem egy nehéz feladat, ami jól írja le a népszerű könyvet [1]. Ugyanakkor meg kell jegyezni, hogy az eltérés az alacsony szintű megközelítés dolgozó grafikus OpenGL komponense magas szintű megközelítés alkalmazás fejlesztés megnehezíti, hogy újra egyszer megírt kód különböző projektekben. Ezen túlmenően, hogy fenn kell tartani egy olyan környezetben, minden lejátszó ablakban létrehozott tévhit hiábavalóság, lehetetlen vagy nehézség a rajz egyik formája több ablakot OpenGL grafika.

A cikk leírja, komponens Delphi, egyaránt megvalósítja OpenGL grafikus kimeneti eszközt, és a hagyományos eszközök vizuális komponens könyvtár (Visual komponens könyvtár - VCL) alkalmazásával TCanvas osztályban. tervezet formájában tetszőleges számú példányát ez az összetevő, amely ezáltal pedig több ablakot.







hozzon létre egy komponens

Az [1] és sok más forrásokból az interneten példákkal munka OpenGL + Delphi, vannak példák a grafikus teljesítményt az alkatrész felszínén. Ez a megközelítés azonban illusztrálja a kódot a penész, egyaránt végző a szükséges előkészítő műveleteket, és valóban kimenetre grafikus felületén komponenst. Természetesen ez a megközelítés nem teszi a kódot újrahasználható más projektekben anélkül, hogy jelentős módosításokat.

Tekintsük a lehetséges megoldásokat a probléma, hogy létrehozza a komponens, hogy nem kell semmilyen kódot formájában projekt vagy dolgozó OpenGL grafikus.

Kiválasztása az ős

Ami OpenGL eszköz szükséges az összefüggésben, hogy logikus, mint a szülő számára összetevő, hogy válasszon egy egyszerű ablak osztály TWinControl.

Abban az esetben, hogy végre kell hajtani egy univerzális kimeneti eszközeként OpenGL és VCL mint a szülő akkor veheti TCustomControl már rendelkeznek azzal a tulajdonsággal Vászon és a virtuális függvény sorsolás Paint.

A tapasztaltabbak figyelmét, hogy az osztály egyszerű grafikus TGraphicControl komponens egy Canvas ingatlan egy linket a készülék kontextusban Canvas.Handle tulajdon. Azonban egyrészt ez a módszer nem dokumentált, mint összhangban OpenGL dokumentáció doboz nem tartalmazhat CS_PARENTDC stílust, és ez a stílus a TGraphicControl természetesen tartalmazza. Másodszor, a készítmény a lejátszási összefüggésben alkalmas olyan idején létrehozása az ablak. Harmadszor, az alkalmazás valószínűleg meg kell dolgozni minden képernyőn a billentyűzet, de ez csak akkor lehetséges, egy ablak komponenst.

Azt hiszem, ezek az érvek elég megállítani a választás egy ablak osztály.

Így, az oldatot egy ős feltételezzük, hogy hozzon létre egy összetevőt.

Segítségével Környezet Mester komponens / New VCL komponens, vagy egyszerűen hozzon létre egy új modult, állapítsa meg egy új osztályt: