Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

opengl i rozszerzenia

Ostatnio zmodyfikowano 2011-03-21 18:49
Autor Wiadomość
dmx81
Temat założony przez niniejszego użytkownika
opengl i rozszerzenia
» 2011-03-19 15:21:44
witam.
mam zamiar przejsc do "nastepnego etapu" i wziac sie za VBO.
Jak doczytalem, programujac na windows, moge uzywac bezposrednio tylko tego, co bylo w opengl do wersji 1.1, powyzej tego trzeba juz uzyc "sposobu", czyli uzyskac wskaznik na dana funkcje przez wglGetProcAddress, ktorej chce uzyc. Oczywiscie doszukalem sie, jak tego uzyc (ksiazka OpenGL w Praktyce, czyli tez to, co w kursie na stronce + kurs NeHe tez pokazuje) jednak nie chce poprostu przepisac tego kodu, poprosze o wytlumaczenie tego sposobu, tzn co to jest APIENTRY, czy wgl musze tez zaladowac  itd :) i kolejnosci dzialan, jakie musze wykonac, aby dana funkcje uzyc najlepiej w punktach z objasnieniem, co i dlaczego (o ile to nie problem :) )

moja wersja opengl to 2.0xxx (wiec pewnie w tym wypadku ARB nie musze uzywac, VBO jest od 1.5)

P-29348
DejaVu
» 2011-03-19 18:10:49
Co to jest APIENTRY: http://www.toymaker.info/Games/html/winmain.html
Dodatkowo:
Kursy
DLLRozdział opisuje jak stworzyć najprostszą bibliotekę DLL; jak się linkuje bibliotekę statycznie i dynamicznie; jak się linkuje dynamicznie funkcje oraz jak linkować dynamicznie klasy. (lekcja)

P-29369
dmx81
Temat założony przez niniejszego użytkownika
» 2011-03-19 18:35:36
dzieki za odp, bede mial co czytac :) bo moznaby poprostu wrzucic kod z tutoriala... ale lepiej zrozumiec co i dlaczego
P-29378
dmx81
Temat założony przez niniejszego użytkownika
» 2011-03-21 18:42:53
C/C++
//Begin system-specific stuff.
*/
/* __WIN32__ */
#if !defined(__WIN32__) && (defined(_WIN32) || defined(WIN32) || defined(__CYGWIN__))
#  define __WIN32__
#endif

/* GLAPI, part 1 (use WINGDIAPI, if defined) */
#if defined(__WIN32__) && defined(WINGDIAPI)
#  define GLAPI WINGDIAPI
#endif

/* GLAPI, part 2 */
#if !defined(GLAPI)
#  if defined(_MSC_VER)                        /* Microsoft Visual C++ */
#    define GLAPI __declspec(dllimport)
#  elif defined(__LCC__) && defined(__WIN32__) /* LCC-Win32 */
#    define GLAPI __stdcall
#  else                                        /* Others (e.g. MinGW, Cygwin, non-win32) */
#    define GLAPI extern
#  endif
#endif

/* APIENTRY */
#if !defined(APIENTRY)
#  if defined(__WIN32__)
#    define APIENTRY __stdcall
#  else
#    define APIENTRY
#  endif
#endif
/*
* End system-specific stuff.*/

przez przypadek (bo jakis blad mi wyrzucilo i odwolalo sie do pliku gl.h) znalazlem tam w sumie wyjasnienie, skad sie wzielo APIENTRY i GLAPI (o ile dobrze rozumiem, to GLAPI w zaleznosci od kompilatora zastepuje extern, _stdcall lub __declspec(dllimport)?)
P-29544
DejaVu
» 2011-03-21 18:49:23
W zależności od tego czy linkujesz statycznie czy dynamicznie jest tworzona inna deklaracja funkcji w pliku nagłówkowym. W zależności od użytego kompilatora jest również stosowany inny sposób wywoływania funkcji.
P-29545
« 1 »
  Strona 1 z 1