Pytania otagowane jako opengl

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


1
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 zdefiniowanych rozmiarach? Więc jaki jest najlepszy sposób na iterację …

1
Czy muszę zmieniać wiązania mundurów lub atrybutów podczas zmiany programów modułu cieniującego?
Renderowanie sceny zwykle wymaga więcej niż jednego programu do cieniowania, który w moim przypadku używa tych samych atrybutów i dzieli co najmniej niektóre mundury. Aby działały poprawnie, obecnie gram bezpiecznie, co oznacza, że ​​ponownie wiążę atrybuty i uzyskuję odpowiednie jednolite lokalizacje za każdym razem, gdy przełączam się między programami cieniującymi. …
11 opengl  glsl  shader 

4
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 ponownego uczenia się innego interfejsu …
11 opengl  api  direct3d 

1
Czy modyfikowanie tekstury (malowanie na niej) jest uważane za „zmianę stanu”?
Konwencja w grafice jest taka, że ​​przeprowadzanie mniejszej liczby zmian stanu jest lepsze niż wykonywanie większej liczby zmian stanu (przełączanie shaderów, buforów wiązania, wiązanie tekstur itp.). W przypadku tekstur szybsze jest renderowanie wielu wielokątów za pomocą jednego atlasu (do renderowania duszków / tekstu) niż indywidualne wiązanie nowej tekstury dla każdego …
11 opengl  texture 

2
Czy można dowiedzieć się, ile fragmentów przeszło przez test szablonu?
Mam aplikację OpenGL, która dość szeroko wykorzystuje testy szablonów do renderowania nieregularnych kształtów (trochę jak prosty 2-D CSG ). Gdybym mógł dowiedzieć się, ile fragmentów przeszło test matrycowy i faktycznie zostało zrenderowanych, byłoby to bardzo pomocne w uproszczeniu niektórych obliczeń w dół linii. W szczególności pozwoliłoby mi to określić obszar …

2
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 strata finansowa dla firmy. Rozumiem, że OpenGL …
11 opengl  direct3d 

2
Jak odsunąć czworokąt na prostokąt?
tl; dr: Problem matematyczny w geometrii rzutowej: Jak znaleźć matrycę kamery 4x4, która daje rzut, jak pokazano poniżej, tak, że punkty A, B, C, D znajdują się gdzieś na krawędziach pola jednostki (np. znormalizowane urządzenie OpenGL współrzędne), a rogi pola jednostki opadają gdzieś rozsądnie wzdłuż promieni EA, EB, EC, ED? …

1
Czy kolejność wyrównania i kolejności mundurów ma znaczenie?
W rozdziale 6.4 Stałe bufory książki Practical Rendering & Computation with Direct3D 11 (strony 325, 326) wspomniano: Domyślnie kompilator HLSL będzie próbował wyrównać stałe tak, aby nie obejmowały wielu rejestrów float4. [...] Pakowanie stałego bufora HLSL można również określić ręcznie za pomocą słowa kluczowego packoffset. Zakładam, że podobna zasada będzie …


4
Wiele rzutni z nowoczesnym OpenGL?
Używam SDL2 . Obecnie mój jedyny moduł cieniujący ma matrycę MVP i przekształca za jej pomocą punkty. Obliczam moją macierz widoku i projekcji dla kamery z GLM: glm::lookAt(pos, pos + forward, up); glm::perspective(fov, aspectRatio, zNear, zFar); Przeszukałem go, ale mogę znaleźć tylko starszą implementację wielu rzutni. Jeśli utworzę na przykład …
9 opengl  glm 

1
OpenGL GLSL - Filtr wykrywania krawędzi Sobela
W odniesieniu do tego tematu z powodzeniem zaimplementowałem filtr Sobel Edge Detection w GLSL. Oto kod modułu cieniującego fragmentu filtra: #version 330 core in vec2 TexCoords; out vec4 color; uniform sampler2D screenTexture; mat3 sx = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 ); mat3 sy = mat3( …

1
Jakie są luki w próbkach podczas konwersji skanowania?
W tym tutorialu , Bardzo często renderowane są trójkąty dzielące krawędzie. OpenGL oferuje gwarancję, że tak długo, jak pozycje wierzchołków wspólnej krawędzi są identyczne, nie będzie żadnych przerw w próbkach podczas konwersji skanowania. 1 Czym dokładnie są luki w próbkach podczas konwersji skanowania? 2 W jakich okolicznościach to się stanie? …

1
Tworzenie wspólnych normalnych wierzchołków na GPU
Przeważnie udało mi się przenieść implementację Marching Cubes z CPU do shaderów obliczeniowych OpenGL, ale jeszcze nie poradziłem sobie z normami i zastanawiam się, jak to zrobić. Moja implementacja zajmuje się konkretnie polami o wartości binarnej (próbuję modelować funkcje fraktalne 3D, które nie mają jeszcze estymatora odległości), więc metody różnic …

1
Obliczenia według wierzchołków w tesselacji OpenGL
Próbuję zaimplementować symulację tkaniny w oparciu o pozycję za pomocą teselacji sprzętowej. Oznacza to, że chcę po prostu załadować kontrolny quad na kartę graficzną, a następnie użyć mozaiki i cieniowania geometrii, aby utworzyć węzły w tkaninie. Ten pomysł jest zgodny z dokumentem: Huynh, David, „Symulacja tkaniny za pomocą teselacji sprzętowej” …

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.