Odpowiedzi na wszystkie pytania dotyczące shaderów, czyli programowalnej części potoku GPU. W przypadku pytań dotyczących modułu cieniującego specyficznych dla języka zobacz także tagi [glsl] i [hlsl].
Skonfigurowałem trochę kodu mierzącego FPS w WebGL (w oparciu o tę odpowiedź SO ) i odkryłem pewne dziwactwa w działaniu mojego modułu cieniującego fragmenty. Kod po prostu renderuje pojedynczy quad (a raczej dwa trójkąty) na kanwie 1024x1024, więc cała magia dzieje się w module cieniującym fragmenty. Rozważ ten prosty moduł …
Ogólnie rzecz biorąc, rozgałęzianie w shaderach nie jest dobrym pomysłem. Ale teraz mam moduł cieniujący z warunkiem, który jest stały w odniesieniu do całego zaproszenia do losowania. Wykonywana gałąź jest zawsze taka sama dla jednego wywołania losowania. Czy tego rodzaju rozgałęzienie jest jeszcze bardziej kosztowne niż posiadanie wielu shaderów bez …
Uczę się o normalnym mapowaniu. Zrozumiałem, że wartości RGB są konwertowane na XYZ, ale moje pytanie brzmi: w jaki sposób jest konwertowany i dlaczego normalna mapa jest niebieska i fioletowa?
Odkryłem, że niektóre silniki używają map pochodnych zamiast normalnych map w przestrzeni stycznej . Po krótkiej lekturze wydaje się to naprawdę świetny sposób na zastąpienie stycznych normalnych przestrzeni, ale czy korzystanie z nich jest niekorzystne? Po co nadal używać normalnych przestrzeni stycznej? Czy można porównać zarówno zalety, jak i wady?
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ę …
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. …
Nowoczesne procesory graficzne mają wiele równoległych jednostek cieniujących. Chciałbym wiedzieć, jak w tym scenariuszu zarządzana jest pamięć podręczna tekstur.
Jeśli mam wiele tekstur (powiedzmy ponad 5 map) powiązanych z tą samą jednostką tekstur, czy to działa gorzej dla pamięci podręcznej niż gdybym miał tylko 2 lub 3 tekstury?
Aby wyrenderować scenę z pojedynczym źródłem światła za pomocą cieniowania phong, można obliczyć ostateczny kolor każdego fragmentu przekazanego do modułu cieniującego fragmenty na podstawie elementów otoczenia / rozproszonego / zwierciadlanego zarówno materiału, jak i źródła światła. Można to łatwo rozszerzyć, aby uwzględnić wiele źródeł światła, sumując wyniki zastosowania poszczególnych źródeł …
Wiem, jak działa mapowanie cieni, ale nie dostaję przyczyny trądziku cienia! Czy ktoś może mi w prosty sposób wyjaśnić przyczynę trądziku cieniowego i jaki ma to związek z rozdzielczością mapy głębokości?
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 …
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” …
Jak pamięć podręczna działa z renderowaniem opartym na kafelkach? Czy są jakieś wskazówki, jak poprawić współczynnik trafień w pamięci podręcznej? (na przykład, jeśli płytki są przetwarzane poziomo i mam pionowe segmenty trójkątów o tej samej teksturze, czy działa to gorzej dla pamięci podręcznej niż gdybym miał układ trójkątów w poziomie?)
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.