Grafika komputerowa

9
Zasadniczo, w jaki sposób renderowane są bitmapy 2D?

Załóżmy, że mamy 64-bitowy adresowalny komputer i chcemy go zaprogramować, aby wyświetlał znak 5 x 7 zapisany jako bitmapa obrazu binarnego (takiego jak ten poniżej) na wyświetlaczu odwzorowanym w pamięci. Ponieważ mamy 5 x 7 = 35 pikseli na znak, moglibyśmy zapisać znak przy użyciu 35 bitów w...

9
Jaki jest współczesny odpowiednik list wyświetlania?

Listy wyświetlania były funkcją OpenGL, która teoretycznie mogła przyspieszyć dowolną część interfejsu API, przechowując grupę poleceń do późniejszego wykorzystania. W moim rozumieniu ma to duży sens w związku z obecnymi wysiłkami zmierzającymi do zmniejszenia obciążenia kierowcy. Listy...

9
Okluzja przecięcia sfery (do hybrydowego raytracingu)

Myśląc o hybrydowym raytracingu, stąd następujące pytanie: Załóżmy, że mam dwie solidne kule s1s1s_1 i s2s2s_2. Znamy ich centra i promienie oraz wiemy, że mają one pewną nakładającą się objętość w przestrzeni. Mamy typową konfigurację grafiki 3D: zakładamy, że oko jest u źródła, i rzutujemy...

9
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,...

9
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...

9
Zamapuj teksturę na trójkącie hiperbolicznym

Utknąłem na jakiś czas, jak podejść do tego, więc wszelkie sugestie będą mile widziane! Chcę zmapować teksturę w postaci prawego dolnego trójkąta euklidesowego na hiperboliczny trójkąt na dysku Poincare. Oto tekstura (lewy górny trójkąt tekstury jest przezroczysty i nieużywany). Możesz to...

9
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...

9
Prawidłowa forma terminu geometria GGX

Próbuję zaimplementować BRDF mikrofacet w moim raytracer, ale mam problemy. Wiele artykułów i artykułów, które przeczytałem, definiuje pojęcie geometrii częściowej jako funkcję widoku i pół wektorów: G1 (v, h). Jednak podczas wdrażania tego otrzymałem następujący wynik: (Dolny rząd jest...

9
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...

9
Ulepszenie modułu cieniującego, aby wyglądał lepiej

Mam prostą grę, której przedmiotem są te małe linie. Jest ukierunkowany na iOS i Androida, więc ma OGROMNĄ gamę procesorów, na których mógłby teraz działać. Próbuję dodać im blask w czasie rzeczywistym z dwóch powodów Próbuję ukryć fakt, że nie mam czasu renderowania, aby przetworzyć...

9
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ą...