Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Lazarus - konverzia konzolovej OpenGL aplikácie na GUI aplikáciu s formulárom.

Pre OpenGL slúži TOpenGLControl. Pridal som si tento komponent k zoznamu komponentov pre jednoduchú prácu s ním, takže ho mám prístupný.

Aplikácia, ktorú chcem skonvertovať na GUI je konzolová a otvára okno pre kreslenie OpenGL. Túto aplikáciu chcem skonvertovať na GUI aplikáciu, ktorá bude mať formulár, na formulári bude OpenGL komponent, kde sa vykreslí trojuholník ako je to teraz a po stlačení Esc sa aplikácia ukončí. Problém je v podstate len s inicializáciou OpenGL, pretože komponent sa mi nezinicializuje a teda ani grafika sa nevykresľuje. Chcel by som požiadať, keby mi s tým niekto pomohol.

Ide o to, že všetky tutoriály sú robené ako konzolové aplikácie a jediné demo v Lazarovi, ktoré pracuje s formulármi neviem pochopiť. Teda v podstate ho pochopiť viem, ale neviem, že ako sa tam inicializuje OpenGL, pretože nech skúšam čokoľvek, tak je stále aplikácia nefunkčná. OpenGL demo v Lazarovi je v adresári examples/openglcontrol v inštalácii Lazara.

Aplikáia by mala byť multiplatformová, ale z hľadiska použitého systému by sa líšiť nemala, čo sa týka zdrojového kódu. Ja osobne to testujem vo Windows Vista. Pre rozbehnutie aplikácie, ktorú som priložil je nutné použiť glut32.dll, prístupný zo stránky:
glut.html

Za pomoc budem veľmi vďačný, stačí, aby aplikácia správne inicializovala OpenGL vo formulári, takže ak sa niekomu nechce hrať s mojou aplikáciou a vedel by mi poskytnúť inicializačný zdrojový kód, ktorý správne zinicializuje OpenGLControl vo formulári, bude mi stačiť aj to. Ostatné si už spravím sám.

Předmět Autor Datum
Vytvoril som niečo takéto. Už sa mi vymaže grafická plocha, ale trojuholník nevidím aj tak.
msx. 15.02.2014 13:32
msx.
Takže problém bol v tom, že som nevolal Resize, v ktorom bolo nastavenie viewportu. Zaujímavé je ale… poslední
msx. 15.02.2014 13:41
msx.

Takže problém bol v tom, že som nevolal Resize, v ktorom bolo nastavenie viewportu. Zaujímavé je ale, že nemôžem to volať v OnCreate formulára.

OpenGLControl1Resize(Self);

Prečo nie?

Zpět do poradny Odpovědět na původní otázku Nahoru