Pytania otagowane jako glsl

6
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, ponieważ nie ma żadnej formy ...
45 opengl  glsl  debugging 

4
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 dowolny inny etap). Oczywiście, to okropna praktyka: jeśli muszę zmienić kod ...
30 glsl 

1
Dlaczego mój szum Perlin wygląda na „blokowy”?
Próbowałem wdrożyć Perlin Noise , używając tylko teorii (po flafla2.github.io/2014/08/09/perlinnoise.html). Niestety nie udało mi się uzyskać wyglądu „oryginalnego” hałasu Perlin. Jaki jest powód, dla którego poniższy kod renderuje blokową wersję Perlin Noise? Co powinienem ulepszyć / zmienić w kodzie, aby renderował szum Perlina bez artefaktów? Podejrzewam, że może występować problem ...
21 glsl  noise  artifacts 

1
Mylić z implementacjami PBR
Odkrywam cudowny świat matematyki i uderzam w wielką ścianę z PBR i nazwami, więc mam kilka pytań: O ile rozumiem, BRDF opisuje, w jaki sposób materiał reaguje na światło (przychodzące światło bezpośrednie i odbicia). Ale w „Cook-Torrance” nic nie widzę o odbiciach, nie rozumiem, jak je integruję, więc otrzymuję jedynie ...
14 glsl  pbr 

1
Kiedy wyłączyć poprawną interpolację perspektywy (noperspective)
W GLSL domyślna interpolacja atrybutów wierzchołków jest ustawieniem domyślnym - można ją wyłączyć dla określonych atrybutów wierzchołków za pomocą kwalifikatora noperspective . Oprócz shaderów przetwarzających post nigdy nie widziałem wyłączonej perspektywy poprawnej interpolacji - czy są jakieś inne przypadki użycia? Czy to w ogóle robi różnicę pod względem wydajności?

1
Wydajność pętli w module cieniującym
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ę ...

1
Czy muszę zmieniać wiązania mundurów lub atrybutów podczas zmiany programów modułu cieniującego?
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. ...
11 opengl  glsl  shader 

1
Dlaczego dostęp do tekstur jest znacznie wolniejszy podczas obliczania współrzędnych tekstury w module cieniującym fragmenty?
Używając tekstur w GLSL, najlepiej obliczyć ostateczne współrzędne tekstury w module cieniującym wierzchołki i przekazać je do modułu cieniującego fragmenty za pomocą varyings. Przykład z prostym przerzuceniem we współrzędnej y: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main() { texCoord = vec2(texture.x, 1.0-texture.y); // ...

1
WebGL Omnidirectional Shadow Mapping Issue
Przede wszystkim chcę powiedzieć, że przeczytałem wiele postów na temat mapowania cieni za pomocą map głębokości i map sześciennych i rozumiem, jak one działają, a także mam doświadczenie w pracy z nimi przy użyciu OpenGL, ale mam problem z implementacją Technika dookólnego mapowania cieni przy użyciu jednopunktowego źródła światła w ...

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.