Grafika komputerowa

Pytania i odpowiedzi dla badaczy grafiki komputerowej i programistów

2
Najbardziej wydajny sposób organizowania danych wierzchołków na nowoczesnych GPU
Że mam model składa się z wierzchołków, z których każda position, normal, tangentoraz texcoordatrybutów, gdzie trójkąty są określone przez trójek indeksu. Jeśli skupimy się tylko na atrybutach wierzchołka, mam świadomość dwóch ogólnych strategii: struktury tablic i szeregu struktur. Słyszałem również, że tablica struktur jest preferowana, ponieważ zwiększa lokalizację pamięci (a …


1
Zastosowanie prawidłowej fizyki światła do wzorów rozmycia gaussowskiego dla uzyskania blasku
Próbuję zrobić shadery jarzeniowe, używając rozmywalnego gaussowskiego rozmycia. Niedawno zainspirował mnie krótki film na youtube „Kolor komputera jest zepsuty” i pomieszałem go z interpolacją kolorów, a chłopcze jego sugestia jest piękna! Dużą rzeczą, o której mówi wideo, jest to, że zasadę tę należy zastosować do rozmycia, jednak jestem dość zdezorientowany. …

3
Jaki jest właściwy sposób na ograniczenie szumu?
Podczas zmniejszania głębi kolorów i ditheringu za pomocą 2-bitowego szumu (przy n =] 0,5,1,5 [i wyjściowego = floor (wejście * (2 ^ bity-1) + n)), końce zakresu wartości (wejścia 0,0 i 1,0 ) są głośne. Pożądane byłoby, aby miały jednolity kolor. Przykład: https://www.shadertoy.com/view/llsfz4 (powyżej jest zrzut ekranu shadertoy, przedstawiający gradient …

1
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ć wygładzanie na większości urządzeń. Tematem …

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
Pełne rozproszenie wolumetryczne Monte-Carlo
Chciałbym dodać pełne rozproszenie wolumetryczne Monte-Carlo do mojego znacznika ścieżki, ale mam trudności z badaniem, jak to zrobić. Pozwól mi wyjaśnić, co chciałbym zrobić: promień wchodzi w materiał, a my stosujemy BTDF, a następnie po pewnej odległości następuje zdarzenie rozproszenia objętościowego, po którym (w przypadku izotropowym) promień rozprasza się w …

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
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 dielektryczny z chropowatością 1,0 - 0,0, Górny rząd jest metaliczny z …

1
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 rozpoznać jako część I okręgu Eschera Przepraszamy, zobacz komentarz, …

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 …

3
Zamawianie zestawu niezorganizowanych punktów wzdłuż krzywej
Mam zestaw punktów 3D (które odzyskuję z biblioteki wykonującej teselację bryły), które należą do krzywej (tj. Krawędzi bryły). Oznacza to, że krzywa z pewnością przechodzi przez każdy z tych punktów. Niemniej jednak zestaw punktów jest nieuporządkowany, więc muszę je posortować, aby poprawnie narysować tę krzywą. Czy jest jakieś znane podejście …
9 geometry  mesh  curve 

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.