Grafika komputerowa

Pytania i odpowiedzi dla badaczy grafiki komputerowej i programistów

2
Transformacja promienia do przestrzeni obiektów dla rozmycia w ruchu
Mój raytracer obsługuje wiele różnych obiektów. Aby je przeciąć, używam standardowej techniki przekształcania promieni w przestrzeń przedmiotową. Działa to fantastycznie, dopóki nie dodam rozmycia ruchu. Modeluję rozmycie ruchu jako sekwencję transformacji (aby uprościć dyskusję, powiedzmy dokładnie dwie) zamiast jednej. Moje podejście polega na pobraniu odwrotnej transformacji promienia w obu klatkach …

2
Jaki byłby właściwy sposób obliczenia nasycenia w tym przypadku?
Próbuję utworzyć reprezentację HSV przestrzeni kolorów xyY. Aby obliczyć odcień na podstawie koloru , używam kąta między tym kolorem a kolorem czerwonym (długość fali 745) na schemacie chromowości xy z białym jako centrum.(x,y)(x,y)(x, y)(13,13)(13,13)(\frac{1}{3}, \frac{1}{3}) Nasycenie to stosunek między odległością między białym a i białym oraz w pełni nasyconą wersją …

2
Po co używać filtra namiotu do śledzenia ścieżki?
99 linii znacznika ścieżki C Smallpt renderuje siatkę subpikseli 2x2 dla każdego piksela, który zamierza renderować, a następnie wykonuje filtr namiotu, aby je połączyć. Jest to interesująca prezentacja wyjaśniając kod tutaj , i wymienia filtr namiot, ale nie wyjaśnia, dlaczego on tam jest. Czy ktoś może wyjaśnić, dlaczego filtr namiotu …

2
Jak obliczyć normalne powierzchnie dla wygenerowanej geometrii
Mam klasę, która generuje kształt 3D na podstawie danych wejściowych z kodu wywołującego. Dane wejściowe to między innymi długość, głębokość, łuk itp. Mój kod doskonale generuje geometrię, jednak mam problemy z obliczaniem normalnych powierzchni. Po zapaleniu mój kształt ma bardzo dziwne zabarwienie / teksturę z niepoprawnych obliczanych normalnych powierzchni. Ze …

1
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 połączone jako program_onei program_two. Załóżmy, że mam …


1
Jak działa 2D transformata Fouriera obrazu?
Rozumiem, w jaki sposób transformata Fouriera 1D dzieli sygnał na częstotliwości składowe, ale mam trudności ze zrozumieniem, w jaki sposób transformata Fouriera 2D wpływa na obraz 2D. Z innym pytaniem , John Calsbeek połączony z ciekawym papierze o pomiaru jakości funkcji hałasu . Pokazało to różne funkcje szumu i transformatę …


1
Radiosity VS Ray tracing
Radia jest po prostu tym, co na to pozwala: W samouczku Cornell University o Radiosity wspomniano, że: Wersja obrazu ze śledzeniem promieni pokazuje tylko światło docierające do widza przez bezpośrednie odbicie - w ten sposób brakuje efektów kolorystycznych. Jednak w Wikipedii : Radiosity to globalny algorytm oświetlenia w tym sensie, …

1
Odbicie i załamanie polaryzacji dla owijania się wokół powierzchni wody
Chcę renderować realistyczne obrazy wody w orbitującym środowisku kosmicznym. Obraz nie musi być generowany w czasie rzeczywistym, chociaż nie chciałbym, aby zajęło to tygodnie. Szukam podejścia, które może generować realistyczne obrazy w ciągu kilku godzin lub dni. Siedlisko jest cylindryczne, a zakrzywiona powierzchnia wewnętrzna jest przestrzenią mieszkalną. Obrót cylindra wokół …

5
Czy istnieje standardowa specyfikacja reprezentacji grafiki 3D?
Czytam książkę o grafice komputerowej iw pewnym momencie pokazuje model 3D utworzony z pliku .dat. Oto kilka zasad tworzenia plików .dat: Wykonany z listy pozycji / powierzchni wierzchołków Napisane w lewo Twarze kończą się kropką (.) Ułamki są również dopuszczalne Chcę wiedzieć, czy jest to standard, a jeśli nie, jaki …
12 3d 

2
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 sprawdzeniu normalnych nieciągłości: Sprawdzanie, czy sąsiedni piksel ma inny normalny …

1
Jaka jest przyjęta metoda zamiany lśnienia na szorstkość i odwrotnie?
Większość współczesnych rendererów używa materiałów opartych na fizyce, a ich modele są często parametryzowane względem szorstkości. Ponieważ nie zawsze tak było w przypadku rendererów, konwencjonalne zasoby często nie mają pojęcia szorstkości. Zamiast tego widzimy „połysk” lub „moc światła” jako wspólny parametr materialny. Rozumiem, że nie ma dokładnej konwersji między tymi …
12 specular  brdf  pbr 

1
Czy próbkowanie półkuli ważonej kosinusiem nadal wymaga NdotL przy obliczaniu udziału światła pośredniego?
Przechodząc z jednolitego próbkowania półkuli na ważone cosinusiem próbkowanie półkuli, jestem zdezorientowany stwierdzeniem w artykule. Mój obecny wkład pośredni jest obliczany jako: Vec3 RayDir = UniformGenerator.Next() Color3 indirectDiffuse = Normal.dot(RayDir) * castRay(Origin, RayDir) Gdzie iloczyn skalarny to cos (θ) Ale w tym artykule na temat lepszego próbkowania ( http://www.rorydriscoll.com/2009/01/07/better-sampling/ ) …

1
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 jeden bieżący kontekst. Ale niewiele mi to …
12 opengl  c++ 

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.