Mam problem z aktualizowaniem nagłówków GL. Zasadniczo chcę uzyskać dostęp do funkcji glCompressedTexImage2D
, ale moje nagłówki gl są naprawdę stare i nie wierzę, że funkcja istnieje w tych nagłówkach. Więc próbowałem zaktualizować mój plik gl.h
, ale dostaję mnóstwo błędów. Próbowałem między innymi aktualizować oprogramowanie karty graficznej. Czy ktoś może być pomocny?opengl, jak najlepiej zaktualizować nagłówki za pomocą Visual Studio?
Odpowiedz
Wygląda na to, że Windows utknął na starej wersji OpenGL (1.2?). Spróbuj użyć GLEW lub Glee, aby załadować potrzebne rozszerzenie (GL_ARB_TEXTURE_COMPRESSION w przypadku glCompressedTexImage2D
). Te biblioteki załadują dostępne rozszerzenia i pozwolą ci sprawdzić kod, jeśli dane rozszerzenie zostanie załadowane.
Przykład z radości:
#include <gl/GLee.h>
if (GLEE_ARB_TEXTURE_COMPRESSION)
{
glCompressedTexImage2D(...);
}
else
{
// the extension is not available, use a different method
}
Zauważ, że Glee nie wymaga jawnie zainicjować (w przeciwieństwie GLEW). Zdecydowanie polecam tę metodę przez ręczne ładowanie wskaźnika funkcji. Nie dlatego, że to moja odpowiedź :), ale dlatego, że to również zajmie się stwierdzeniem, czy sprzęt i jego sterownik obsługują rozszerzenie (które może być bardzo niechlujne), i to jest niezależne od platformy.
Musisz dowiedzieć się, jeśli urządzenie obsługuje tę funkcję, a następnie uzyskać adres funkcji, zanim będzie można nazwać:
PFNGLCOMPRESSEDTEXIMAGE2DPROC p = NULL;
const char* string = glGetString(GL_EXTENSIONS);
if (strstr(string, "GL_ARB_texture_compression") != NULL)
p = (PFNGLCOMPRESSEDTEXIMAGE2DPROC)wglGetProcAddress("glCompressedTexImage2D");
Mam trochę uaktualnienia emisyjnej moje nagłówki GL.
To dlatego, że nie powinno się tego robić. W systemie Windows wszystko poza OpenGL-1.1 jest gromadzone przez mechanizm rozszerzenia. Najprostszym sposobem uzyskania dostępu do tego jest GLEW. Zainstaluj to i użyj GL/glew.h
zamiast zwykłego GL/gl.h
. Następnie po utworzeniu kontekstu OpenGL pierwszą rzeczą, którą należy wywołać, jest glewInit()
.
Przejdź do: http://www.opengl.org/registry/ i pobierz najnowszą wersję glext.h i wglext.h
Teraz będzie można ręcznie uzyskać wskaźnik funkcji do funkcji, które chcesz. W systemie Windows dostępny jest tylko OpenGL 1.1.
Dla początkujących proponuję przy użyciu GLEW (Glee jest również świetne, ale nie został zaktualizowany przez dość długi czas ...)
- 1. Jak zaktualizować macierz modelu OpenGL za pomocą własnej macierzy 4x4?
- 2. Co zawierają prekompilowane nagłówki Visual Studio?
- 3. Jak zamknąć dokowalne okna programu Visual Studio za pomocą klawiatury?
- 4. Publikowanie TeamCity za pomocą Visual Studio 2015
- 5. Jak najlepiej zaktualizować węzeł XML w MSBuild
- 6. Jak ustawić nagłówki za pomocą urllib Pythona?
- 7. Jak odczytać nagłówki odpowiedzi za pomocą $ resource?
- 8. Nie można zaktualizować za pomocą schematu porównaj
- 9. Jak debugować kod jądra CUDA za pomocą Visual Studio 2008?
- 10. Jak mogę zbudować sterownik za pomocą Visual Studio?
- 11. Jak odwoływać się do zespołów za pomocą kodu Visual Studio?
- 12. Jak tworzyć niezależne aplikacje .NET za pomocą Visual Studio?
- 13. Jak mogę sprawdzić aktualizacje Visual Studio za pomocą wiersza poleceń?
- 14. Jak skompilować kod visual studio za pomocą makeFile
- 15. Jak zaktualizować członków obiektu za pomocą dyktatury?
- 16. Jak zaktualizować plik XML za pomocą lxml
- 17. Jak zaktualizować węzeł za pomocą nvm
- 18. Jak zaktualizować zbiorczo za pomocą Django?
- 19. Jak zaktualizować dokument za pomocą elasticsearch-py?
- 20. Jak zaktualizować za pomocą Linq-To-SQL?
- 21. Jak zaktualizować Androida Studio Beta kanał
- 22. Jak otworzyć program Visual Basic 6 za pomocą visual studio.net
- 23. Przeniesienie fokusu do następnej grupy kart w Visual Studio 2008/Visual Studio 2010 za pomocą klawiatury?
- 24. Nagłówki OpenGL dla OS X i Linux
- 25. Wyświetlaj nagłówki HTTP za pomocą Open :: URI?
- 26. Profilowanie za pomocą CMake, C++ i Visual Studio 2012
- 27. Visual Studio 2015 - Włączanie/wyłączanie CodeLens za pomocą skrótu klawiaturowego
- 28. Sprawdzanie poprawności XML za pomocą XSD w Visual Studio IDE
- 29. Ustawianie pozycji kursora za pomocą rozszerzenia Visual Studio
- 30. Dodawanie edytorów w oknie dialogowym Visual Studio "Otwórz za pomocą ..."
Zauważ, że Glee jest zlikwidowany i nie jest już aktualizowany. Zatrzymał się w GL 3.3; od tego czasu opublikowano 6 wersji OpenGL. Więc jakkolwiek bardzo lubisz styl, nie powinieneś go używać. Istnieje [liczba alternatyw dla ładowania funkcji OpenGL] (http://www.opengl.org/wiki/OpenGL_Loading_Library). –
Dzięki za heads-up. –