OpenGL példakódok, tutorialok

Üdv!
Már egy ideje foglalkozok OpenGl-l, de az az érzésem, hogy egy kicsit le vagyok maradva... :)
Van egy újabb (2008) OpenGL könyvem, ami közli, hogy a glVertex-ek elavultak, és a jövő a tárobjektumokban van. Ezzel nincs is gond, gondoltam majd akkor megtanulom. A gáz az, hogy a könyv nem írja le a használatát pontosan (nálam legalábbis nem működött), tehát a csúcstömbök még működtek a tárobjektumok nem. Mindegy, a lényeg, hogy rákerestem neten, és természetesen minden link kb a NeHe oldalára dobott (ahonnan én is egy ideig tanultam) a gáz az, hogy azok a tutorialok is még a vertex-eket használnak. A többi találat is ugyezeket használja. Szóval ami fontos lenne az vagy egy frissített tutorial, vagy egy újabb, jól kommentelt kód.
Thx:RiseR

Hozzászólások

Mik azok a tárobjektumok? :-) Mármint minek a magyar fordítása ez?

Abban kell gondolkodni, hogy mik lehetnek szűk keresztmetszetek OpenGL programozáskor:
* Egyik az, hogy az OpenGL hívásoknak elég nagy overheadje van, ezért ha minden csúcshoz hívunk egy OpenGL-t, akkor az eléggé CPU igényes lesz
* A másik, hogy a GPU és a CPU közötti adatutaztatás az a PCI-E buszon megy, aminek véges sávszélessége van.

Ezek miatt érdemes minél több dolgot GPU memóriában tárolt objektumokból renderelni.

Viszont ezekre csak akkor van szükséged, ha a kevés objektumot tartalmazó példakódok szintjéről átlépsz a bleeding egde világába, ahol minden mikroszekundum számít. Ekkor is csak a nagyon részletgazdag dolgok esetén érdemes spórolni, nem mindenen.

Konkrét példaprogramot nem tudok adni sajnos :-(.

Igen, arra gondol. Viszont a Red Book tenyleg szar olyan teren, hogy leirja, mi az ami deprecated, de nem irja le, hogy oke, akkor ezt hogyan kell csinalni?

Btw. van olyana shader library, amivel a fixed-function pipeline emulalhato, hogy ha nem compatibility contextet hasznal az ember, hanem core contextet (lasd OS X)?

Core contextben (tehát nem compatibilityben) nincs olyan, hogy a driver altal emulalt. Nincs glVertex hivas, csak Buffer Objectek es shaderek vannak, mast nem csinalhatsz. Minden, ami a compatibility extensionben elerheto, az egy core contextben nem letezik. Es peldaul az OS X lion csak 2.1 vagy 3.2 core profilokat engedelyez. Ott szukseg lehet ra.