Grafika komputerowa

Pytania i odpowiedzi dla badaczy grafiki komputerowej i programistów

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

42
Jak wdraża się rozmycie gaussowskie?

Czytałem, że rozmycie odbywa się w grafice w czasie rzeczywistym, robiąc to na jednej osi, a potem na drugiej. W przeszłości przeprowadzałem trochę splotu w 1D, ale nie czuję się z tym zbyt dobrze, ani nie wiem, co dokładnie splotć w tym przypadku. Czy ktoś może wyjaśnić w prosty sposób, w jaki...

38
Albedo vs Diffuse

Za każdym razem, gdy myślę, że rozumiem związek między tymi dwoma terminami, otrzymuję więcej informacji, które mnie dezorientują. Myślałem, że są synonimami, ale teraz nie jestem pewien. Jaka jest różnica między „rozproszonym” a „albedo”? Czy są to terminy wymienne, czy w praktyce oznaczają różne...

33
Co to jest próbkowanie ważności?

Co to jest próbkowanie według ważności? Każdy artykuł, który o nim czytam, wspomina o „PDF”, co to jest? Z tego, co zbieram, ważność próbkowania jest techniką próbkowania tylko obszarów na półkuli, które mają większe znaczenie niż inne. Idealnie więc powinienem próbować promienie w kierunku źródeł...

32
Mapa mapowania pojęć DirectX / OpenGL (Vulkan)

Często podobna funkcja sprzętowa jest udostępniana przez DirectX i OpenGL przy użyciu innej terminologii. Na przykład: Constant Buffer / Uniform Buffer Object RWBuffer / SSBO Szukam wyczerpującego wykresu, który opisuje, która terminologia DirectX jest używana w odniesieniu do której koncepcji...

30
Udostępnianie kodu między wieloma modułami cieniującymi GLSL

Często zdarza mi się kopiować i wklejać kod między kilkoma modułami cieniującymi. Obejmuje to zarówno pewne obliczenia lub dane współdzielone między wszystkimi modułami cieniującymi w jednym potoku, a także wspólne obliczenia, których potrzebują wszystkie moje moduły cieniujące wierzchołki (lub...

27
Ścieżka śledzenia Cook-Torrance BRDF

- Przepraszam za długi post, ale wolę to zrobić, ponieważ „ Diabeł tkwi w szczegółach ” :) Piszę znacznik ścieżki od zera i działa on dobrze na idealnie rozproszone (lambertowskie) powierzchnie ( tj . Test pieca wskazuje - przynajmniej wizualnie - na oszczędność energii, a renderowane obrazy...

26
Co to jest bufor wzornika?

Wikipedia stwierdza, że bufor wzornika jest jakimś dowolnym buforem, którego może używać moduł cieniujący. Wskazuje jednak, że jest używany do obcinania lub do „ścisłego wiązania” buforów głębi i pikseli, co jest nieco sprzeczne. Co tak naprawdę robi bufor wzornika i jak jest on praktycznie...

26
Unikanie walki z z przypadkowymi powierzchniami

Podczas renderowania dwóch nakładających się współpłaskich powierzchni powszechnym problemem jest „walka z”, w której renderer nie może zdecydować, która z dwóch powierzchni znajduje się bliżej kamery, dając wizualne artefakty w obszarze nakładania się. Standardowym rozwiązaniem tego problemu jest...

25
Jaki jest koszt zmiany stanu?

Programiści powinni mieć dość dobry pomysł na koszt niektórych operacji: na przykład koszt instrukcji procesora, koszt braku pamięci podręcznej L1, L2 lub L3, koszt LHS. Jeśli chodzi o grafikę, zdaję sobie sprawę, że nie mam pojęcia, czym one są. Mam na uwadze, że jeśli zamawiamy je według...

24
Czy moja perspektywa matematyki jest poprawna?

Mam zadanie domowe, w którym muszę obliczyć i wykreślić niektóre punkty za pomocą transformacji pespective, ale nie jestem pewien, czy moje wyniki są poprawne, ponieważ wykres 3d z wykorzystaniem współrzędnych kamery wygląda bardzo różnie od wykresu 2d przy użyciu współrzędnych obrazu . Czy możesz...