.[ ČeskéHry.cz ].
OpenGL - includy
Jdi na stránku 1, 2  Další
 
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy
Zobrazit předchozí téma :: Zobrazit následující téma  
Autor Zpráva
tomkis



Založen: 06. 06. 2011
Příspěvky: 33

PříspěvekZaslal: 25. červen 2012, 19:20:45    Předmět: OpenGL - includy Odpovědět s citátem

Cau, po delsi dobe jsem se vratil k vyvoji pod OpenGL a popravde jsem porad zmateny ze vsech knihoven pro extensiony. Vyvijim pod linuxem a pouzivam GLEW + glut... absolutne mi ale neleze do hlavy jedna vec.
Kdyz mam napr. *.h file pro tridu "Renderer" a chci uvnitr pouzit napr fci glGenBuffers tak mi eclipse haze chybu ze tu fci nezna pritom vse jde zkompilovat a spustit.

Existuje nejaky dobry zdroj kde by byly vsechny tyhle "extensny" vysvetlene?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
nou



Založen: 28. 07. 2007
Příspěvky: 1047

PříspěvekZaslal: 25. červen 2012, 20:10:36    Předmět: Odpovědět s citátem

zisiel by sa presny text chyby. a bude to asi len warning pretoze pri error by to skoncilo.
_________________
Najjednoduchšie chyby sa najtažšie hľadajú.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
tomkis



Založen: 06. 06. 2011
Příspěvky: 33

PříspěvekZaslal: 25. červen 2012, 20:14:13    Předmět: Odpovědět s citátem

no ono to právě žádnou chybu nehází píše to jen "Unresolved" a podržená červeně je funce... Každopádně je potřeba includovat znovu glew i v konkrétním třídě ? Když používám Opengl funce?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Quiark



Založen: 29. 07. 2007
Příspěvky: 816
Bydliště: Chlívek 401

PříspěvekZaslal: 25. červen 2012, 21:57:49    Předmět: Odpovědět s citátem

Pokud ti překlad funguje a program spustíš, ale IDE ti hází chybu, tak bude problém někde v tom IDE (tedy Eclipse). Můžeš to buď ignorovat, zkusit stáhnout novou verzi, googlit, jestli někdo nemá podobný problém nebo hledat, jestli není potřeba někde něco nastavit.
_________________
Mám strach
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 25. červen 2012, 23:26:08    Předmět: Odpovědět s citátem

No, jak vidím slovo Eclipse, musím reagovat. Taková věc se mi ještě nestala a to používám Eclipse skoro 5 let...A pracuji v něm jak na Windows tak v Linuxu.

Rád bych viděl, co to přesně dělá. Můžeš postnout nějaký screen?
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 26. červen 2012, 01:57:52    Předmět: Odpovědět s citátem

Chybové hlášení "Unresolved" řekne asi tolik, jako když napíši "Error: "glGenBuffers"" - tedy nic... (verze a název kompilátoru k tomu jsou nutné informace, stejně jako celý výpis z terminálu/output console).

Možná chyba:

glGenBuffers není součástí OpenGL headeru (gl.h), ale je součástí Extensions library (prototypy v glext.h). I přesto že byla adopted to core (in OpenGL 2.0 pokud mě paměť neklame), musíš si sám definovat prototyp procedury (PFNxxxPROC kde xxx je v caps napsaný název procedury) a poté při zjištění dostatečně vysoké verze/přítomnosti extensionu získat její adresu skrz wglGetProcAddress/glXGetProcAddress/aglGetProcAddress - záleží na systému (Windows/Linux/Apple).

Pro usnadnění můžeš použít nějakou existující knihovnu na zvládání práce s extensiony - např. GLEW.

Pozn. dřív tato procedura byla součástí GL_ARB_vertex_buffer_object extensionu.

EDIT: Jelikož používáš GLUT+GLEW - Informace ke GLEW
kód:
http://glew.sourceforge.net/basic.html
- ručně je získávat nebudeš potřebovat Wink (pokud to vyloženě nebudeš chtít bez GLEW).

A nezapomeň přilinkoval knihovnu GLEW (v linker params "-lGLEW" v makefile, jak na to v Eclipse nevím - nepoužívám jej)
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
tomkis



Založen: 06. 06. 2011
Příspěvky: 33

PříspěvekZaslal: 26. červen 2012, 07:55:29    Předmět: Odpovědět s citátem

Vilem Otte napsal:
Chybové hlášení "Unresolved" řekne asi tolik, jako když napíši "Error: "glGenBuffers"" - tedy nic... (verze a název kompilátoru k tomu jsou nutné informace, stejně jako celý výpis z terminálu/output console).

Možná chyba:

glGenBuffers není součástí OpenGL headeru (gl.h), ale je součástí Extensions library (prototypy v glext.h). I přesto že byla adopted to core (in OpenGL 2.0 pokud mě paměť neklame), musíš si sám definovat prototyp procedury (PFNxxxPROC kde xxx je v caps napsaný název procedury) a poté při zjištění dostatečně vysoké verze/přítomnosti extensionu získat její adresu skrz wglGetProcAddress/glXGetProcAddress/aglGetProcAddress - záleží na systému (Windows/Linux/Apple).

Pro usnadnění můžeš použít nějakou existující knihovnu na zvládání práce s extensiony - např. GLEW.

Pozn. dřív tato procedura byla součástí GL_ARB_vertex_buffer_object extensionu.

EDIT: Jelikož používáš GLUT+GLEW - Informace ke GLEW
kód:
http://glew.sourceforge.net/basic.html
- ručně je získávat nebudeš potřebovat Wink (pokud to vyloženě nebudeš chtít bez GLEW).

A nezapomeň přilinkoval knihovnu GLEW (v linker params "-lGLEW" v makefile, jak na to v Eclipse nevím - nepoužívám jej)


Používám GLEW... eclipse se chová jako když ta funkce prostě neexistuje tzn Unresolved external symbol. v konkrétním CPP file includuju glew.h ale pořád eclipse tu signaturu funkce nikde nevidí.

Otázka tedy zní. Ve kterém headeru se nachází např. tato funkce glGenBuffers... jestli to správně chápu měl by stačit include glew.h
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 26. červen 2012, 11:33:38    Předmět: Odpovědět s citátem

Vilem Otte napsal:

A nezapomeň přilinkoval knihovnu GLEW (v linker params "-lGLEW" v makefile, jak na to v Eclipse nevím - nepoužívám jej)

Project >> Properties >> C/C++ Build >> Settings >> C++ Linker >> Libraries

Tam pak napíšeš jenom GLEW, Eclipse si tam sám doplní to malé L.

tomkis napsal:
Používám GLEW... eclipse se chová jako když ta funkce prostě neexistuje tzn Unresolved external symbol. v konkrétním CPP file includuju glew.h ale pořád eclipse tu signaturu funkce nikde nevidí.

Možná že to bude tím, že v GLEW funkce glGenBuffers není, je tam pouze glGenBuffersARB. Ale glew nepoužívám, napsal jsem si raději vlastní knihovnu rozšíření, takže jak to tam je přesně nevím...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
pcmaster



Založen: 28. 07. 2007
Příspěvky: 1823

PříspěvekZaslal: 26. červen 2012, 12:18:49    Předmět: Odpovědět s citátem

VODA napsal:
...
Možná že to bude tím, že v GLEW funkce glGenBuffers není, je tam pouze glGenBuffersARB...

To nie je pravda (glew.h:1672, ver. 1.7.0). Nabuduce radsej s citaciou...
_________________
Off-topic flame-war addict since the very beginning. Registered since Oct. 2003!
Interproductum fimi omne est.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
tomkis



Založen: 06. 06. 2011
Příspěvky: 33

PříspěvekZaslal: 26. červen 2012, 12:23:17    Předmět: Odpovědět s citátem

VODA napsal:
Vilem Otte napsal:

A nezapomeň přilinkoval knihovnu GLEW (v linker params "-lGLEW" v makefile, jak na to v Eclipse nevím - nepoužívám jej)

Project >> Properties >> C/C++ Build >> Settings >> C++ Linker >> Libraries

Tam pak napíšeš jenom GLEW, Eclipse si tam sám doplní to malé L.

tomkis napsal:
Používám GLEW... eclipse se chová jako když ta funkce prostě neexistuje tzn Unresolved external symbol. v konkrétním CPP file includuju glew.h ale pořád eclipse tu signaturu funkce nikde nevidí.

Možná že to bude tím, že v GLEW funkce glGenBuffers není, je tam pouze glGenBuffersARB. Ale glew nepoužívám, napsal jsem si raději vlastní knihovnu rozšíření, takže jak to tam je přesně nevím...


S nalinkovanim problém není (to by ani nešlo buildnout) problém je že některé funkce prostě nevidím... ale přivedl jsi mě na zajimavou myšlenku... asi nejspíše tam ta signatura vážně nebude (ale to by přece nešlo buildnout?)
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
VODA



Založen: 29. 07. 2007
Příspěvky: 1721
Bydliště: Plzeň

PříspěvekZaslal: 26. červen 2012, 12:39:52    Předmět: Odpovědět s citátem

pcmaster napsal:
VODA napsal:
...
Možná že to bude tím, že v GLEW funkce glGenBuffers není, je tam pouze glGenBuffersARB...

To nie je pravda (glew.h:1672, ver. 1.7.0). Nabuduce radsej s citaciou...

No já nevím teda, ale v headeru glew.h co mám já, tak není...na řádce 1672 mám tohle: #define GL_DRAW_BUFFER4 0x8829
Možná mám starší verzi, rozhodně to může být tomkisovo případ...
_________________
Opravdovost se pojí s trýzní...
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
Vilem Otte



Založen: 18. 09. 2007
Příspěvky: 462
Bydliště: Znojmo - Sedlesovice, Kravi Hora

PříspěvekZaslal: 26. červen 2012, 13:11:15    Předmět: Odpovědět s citátem

Ještě možná další věc - odkud máš GLEW? A na kterém systému (distru) jsi? ... Některé distra totiž mají v packages opravdu hodně staré knihovny. Zkus nejlépe buildnout ze zdrojáků. Wink
_________________
Should array indices start at 0 or 1? My compromise of 0.5 was rejected without, I thought, proper consideration.
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Odeslat e-mail Zobrazit autorovi WWW stránky
tomkis



Založen: 06. 06. 2011
Příspěvky: 33

PříspěvekZaslal: 26. červen 2012, 13:34:37    Předmět: Odpovědět s citátem

Vilem Otte napsal:
Ještě možná další věc - odkud máš GLEW? A na kterém systému (distru) jsi? ... Některé distra totiž mají v packages opravdu hodně staré knihovny. Zkus nejlépe buildnout ze zdrojáků. Wink

xubuntu 12.01
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
tomkis



Založen: 06. 06. 2011
Příspěvky: 33

PříspěvekZaslal: 26. červen 2012, 13:35:10    Předmět: Odpovědět s citátem

VODA napsal:
pcmaster napsal:
VODA napsal:
...
Možná že to bude tím, že v GLEW funkce glGenBuffers není, je tam pouze glGenBuffersARB...

To nie je pravda (glew.h:1672, ver. 1.7.0). Nabuduce radsej s citaciou...

No já nevím teda, ale v headeru glew.h co mám já, tak není...na řádce 1672 mám tohle: #define GL_DRAW_BUFFER4 0x8829
Možná mám starší verzi, rozhodně to může být tomkisovo případ...

Zaráží mě ovšem jedna věc, jak je možné že aplikace jde vybuildovat a spustit i bez hlavičky funkce ?
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu
OndraSej



Založen: 28. 07. 2007
Příspěvky: 767
Bydliště: Brandýs nad Labem

PříspěvekZaslal: 26. červen 2012, 14:26:55    Předmět: Odpovědět s citátem

tomkis> hlavicky nejsou potreba, C podle standardu nedeklarovane funkce bere jako funkci int funkce(int, ..., int). Coz pak obcas vytvari dost neprijemne bugy v pripade, ze takove funkci predavas float nebo neco, co se da na int konvertovat.
_________________
http://trionteam.net
Návrat nahoru
Zobrazit informace o autorovi Odeslat soukromou zprávu Zobrazit autorovi WWW stránky
Zobrazit příspěvky z předchozích:   
odeslat nové téma   Odpovědět na téma    Obsah fóra České-Hry.cz -> 3D API / 3D Enginy Časy uváděny v GMT + 1 hodina
Jdi na stránku 1, 2  Další
Strana 1 z 2

 
Přejdi na:  
Nemůžete odesílat nové téma do tohoto fóra
Nemůžete odpovídat na témata v tomto fóru
Nemůžete upravovat své příspěvky v tomto fóru
Nemůžete mazat své příspěvky v tomto fóru
Nemůžete hlasovat v tomto fóru


Powered by phpBB © 2001, 2005 phpBB Group


Vzhled udelal powermac
Styl "vykraden" z phpBB stylu MonkiDream - upraveno by rezna