glGenTextures(1, &idtexture); // tworzy obiekt tekstury a czy jest funkcja kasująca obiekt w OpenGl aby zwolniło pamięć i wycofało obiekt specjalną funkcją OpenGl ? tak pytam tylko bo nigdzie tego nie ma w google , za pewne takie działanie spowoduje defragmentacje buffora pamięci karty graficznej jesli takie cos istnieje , zwalnianie obiektu
zagadka z obiektem tekstury OpenGl
- Rejestracja: dni
- Ostatnio: dni
- Postów: 678
- Rejestracja: dni
- Ostatnio: dni
- Postów: 28
Nie znam OpenGL. Ani aktualnego, ani archaicznego.
Rzut oka na dokumentacje (wersji 2.0) doprowadził mnie do funkcji glDeleteTextures.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 678
w dzisiejszych czasach na czasie jest OpenGl 2.1 , ale dzięki za podpowiedź powinno działać
- Rejestracja: dni
- Ostatnio: dni
wilkwielki napisał(a):
za pewne takie działanie spowoduje defragmentacje buffora pamięci karty graficznej jesli takie cos istnieje , zwalnianie obiektu
Przecież chyba nie robisz tego co chwilę, tylko raz na starcie aplikacji tworzysz tekstury, a przy zamknięciu usuwasz?
Nawet nie trzeba ręcznie usuwać bo przy zamknięciu aplikacji i tak się wszystko zwolni.
- Rejestracja: dni
- Ostatnio: dni
- Postów: 678
tak wiem o tym
- Rejestracja: dni
- Ostatnio: dni
- Postów: 174
Odnośnie niskopoziomowego programowania grafiki komputerowej w OpenGL, to mogę polecić książkę: "OpenGL. Księga eksperta. Wydanie VII"
https://helion.pl/ksiazki/opengl-ksiega-eksperta-wydanie-vii-graham-sellers-richard-s-wright-jr-nicholas-hae,opglk7.htm#format/e
Standardem OpenGl obecnie, z tego co mi wiadomo zajmuje się grupa Khronos.
Na ich stronie dostępne jest całe API OpenGL'a (https://registry.khronos.org/OpenGL-Refpages/gl4/html/glGenTextures.xhtml)
Szukając u nich funkcji glGenTextures od razu mamy referencje do funkcji glDeleteTextures, wystarczyło chwilę poszukać.
Proste pytania odnośnie API OpenGL'a zalecałbym zadawać do ChatGPT lub szukać na khronos.org.
Z dostępnych tutorialów to jest dobra strona: https://www.ogldev.org/index.html lub https://learnopengl.com/.
Obecnie bardziej na czasie jest środowisko 'Vulkan' niż OpenGL.
Ja zatrzymałem się gdzieś w okolicach OpenGL 3.3/4.x programując efekty z użyciem Tesalacji, shadera geometrii. Stwierdzenie, że OpenGL 2.1 jest na czasie jest ... zabawne xD.
Lepiej przerzucić się na nowszy stardard, najnowsza wersja pozwala programować shadery RayTracingu, o ile posiada się wspierający to sprzęt.