Pytania oznaczone «opengl»

W przypadku pytań dotyczących korzystania z biblioteki graficznej OpenGL.

45
Jak mogę debugować shadery GLSL?

Pisząc nietrywialne programy cieniujące (tak jak piszą każdy inny nietrywialny kod), ludzie popełniają błędy. [potrzebne źródło] Nie mogę jednak po prostu debugować go jak każdy inny kod - w końcu nie możesz po prostu dołączyć gdb lub debugera Visual Studio. Nie można nawet debugować printf,...

19
Co oznacza „st” w kontekście OpenGL?

Widziałem ten termin stkilka razy, gdy patrzyłem na inne shadery fragmentów OpenGL. Nie wiem jednak, co to oznacza ani do czego służy. Oto przykład: uniform vec2 u_resolution; vec2 st = gl_FragCoord.xy/u_resolution; Rozumiem, że to przekształca współrzędne pikseli w znormalizowane współrzędne...

18
Co to jest przepustowość i jak działa?

Dokumentacja OpenGL stwierdza, że ​​przepustowość returns the sum of the absolute value of derivatives in x and y. Co to oznacza w kategoriach mniej matematycznych i czy można to sobie wyobrazić? W oparciu o moje rozumienie funkcji, fwidth(p)ma dostęp do wartości pw sąsiednich pikselach. Jak...

15
Jak zaimplementować trackball w OpenGL?

Po tak wielu lekturach dotyczących transformacji nadszedł czas, aby zaimplementować trackball dla mojej aplikacji. Rozumiem, że muszę utworzyć wektor od początku do miejsca kliknięcia myszy, a następnie inny od początku do miejsca zwolnienia myszy. Moje pytanie brzmi: czy muszę przekształcić...

14
Kompatybilność z OpenGL, konwencje nazewnictwa i ARB vs EXT

Myślałem, że zrozumiałem, jak działają konwencje nazewnictwa i rozszerzenia OpenGL, dopóki nie natknąłem się na przypadek, który mnie pomieszał. Oto moje dotychczasowe zrozumienie: Bez przyrostka - np glGenBuffers(). Ta funkcja jest częścią podstawowego profilu. Strona wiki mówi mi, że został...

12
Co dokładnie robi „makeContextCurrent”?

Jestem dość zdezorientowany tą funkcją. Odwołanie do kontekstu GLFW brzmi następująco: Ta funkcja sprawia, że ​​kontekst OpenGL lub OpenGL ES określonego okna jest aktualny w wątku wywołującym. Kontekst może być aktualny tylko w jednym wątku naraz, a każdy wątek może mieć jednocześnie tylko...

12
OpenGL - Wykrywanie krawędzi

Chciałbym załadować dowolne siatki i narysować grube czarne linie wzdłuż krawędzi, aby uzyskać efekt cieniowania. Udało mi się narysować czarną sylwetkę wokół obiektów za pomocą bufora szablonów. Możesz zobaczyć wynik tutaj: Brakuje jednak czarnych linii w samym obiekcie. Pomyślałem o...

12
Synchronizacja kolejnych wywołań OpenGL Compute Shader

Mam kilka shaderów obliczeniowych, które należy wykonać w określonej kolejności i których wyniki zależą od poprzednich danych wejściowych. Idealnie, nigdy nie będę musiał kopiować bufora po stronie klienta i wykonywać całej mojej pracy na GPU. Rozważ, że mam dwa shadery obliczeniowe skompilowane i...

11
Czy to ważne, czy uczę się OpenGL czy Direct3D?

Czy różnice między tymi dwoma interfejsami API są drobnymi szczegółami dotyczącymi implementacji, co oznacza, że ​​gdy się tego nauczę, będę mógł używać go do wszystkiego? A może istnieją powody, aby uczyć się jednego, a nie drugiego, jeśli chcę mieć możliwość korzystania z niego bez konieczności...

11
Wydajność pętli w module cieniującym

Zastanawiam się, jaki jest najlepszy sposób zintegrowania funkcji pętli dynamicznej w module cieniującym? Po pierwsze, wydaje się, że tablice dynamiczne nie są możliwe. Czy zatem lepiej jest utworzyć tablicę o maksymalnym rozmiarze i wypełnić tylko jej część lub zdefiniować tablice o...

11
Czy jest jakiś powód, aby preferować Direct3D zamiast OpenGL?

Czytałem to , więc mam pewien powód, dla którego w Microsoft Windows jest o wiele więcej gier niż w jakimkolwiek innym systemie operacyjnym. Głównym przedstawionym zagadnieniem było to, że Direct3D jest lepszy od OpenGL. Nie rozumiem, dlaczego deweloper poświęciłby kompatybilność? To po prostu...