glsl

Czy if-statements Spowalnia mój shader?

Chcę wiedzieć, czy "if-statements" wewnątrz shaderów (wierzchołek / fragment / piksel...) naprawdę spowalniają działanie shad ... shadera. Zgadza się? Czy bardziej sensowne jest tworzenie dwóch różnych shaderów, takich jak jeden dla else, a drugi dla if?

Trzy predefiniowane atrybuty shader / Uniform

Zacząłem od renderera Threejs 'a po wykonaniu jakiegoś "zwykłego" Webgla bez dodatkowych bibliotek + shaderów GLSL. Próbuję t ... ie doprowadziły do rozwiązania już z aktualną wersją trzech.js. Dodałem i zaakceptowałem własną odpowiedź, zobacz ją poniżej.

GLSL / C++: Tablice mundurów?

Chciałbym zostawić światełka OpenGL i zrobić własne. Chciałbym, aby moje shadery pozwalały na zmienną liczbę świateł. Czy możemy zadeklarować tablicę mundurów w shaderach GLSL? Jeśli tak, to jak ustalimy wartości tych mundurów?

Organizowanie shaderów GLSL w silniku OpenGL

Który jest lepszy ? Aby mieć JEDEN program shader z dużą ilością uniformów określających lights to use, or mappings to do ... jeśli będzie taka potrzeba. W tym miejscu zakładam, że oczka są odpowiednio dobrane, aby uniknąć nadmiarowych przełączników.

Jak zmienić odcień tekstury za pomocą GLSL?

Czy istnieje sposób na efektywną zmianę odcienia tekstury OpenGL 2D przy użyciu GLSL (fragment shader)? Czy ktoś ma jakiś ko ... et w okolicach 0° Masz jakąś wskazówkę? Jeśli jest to konieczne dla porównania, jest to oryginalny niezmodyfikowany obraz:

W OpenGL ES 2.0 / GLSL, gdzie potrzebujesz precyzyjnych specyfikacji?

Czy zmienna, w którą wpychasz wartości, dyktuje precyzję, z jaką pracujesz, po prawej stronie znaku równości? Na przykład, c ... używane dla wektorów i macierzy. Załóżmy dla celów edukacyjnych, że zdefiniowaliśmy to wcześniej: precision highp float;

Dlaczego korzystne byłoby posiadanie oddzielnej macierzy projekcyjnej, a jednocześnie połączenie Modelu i macierzy widoku?

Kiedy uczysz się programowania 3D, uczysz się, że najłatwiej jest myśleć w kategoriach 3 macierzy transformacji: Macierz M ... acierz widoku modelu wraz z oddzielną macierzą projekcji nad posiadaniem trzech oddzielnych macierzy lub jednej macierzy MVP?

WebGL - czy istnieje alternatywa dla osadzania shaderów w HTML?

Popularnym sposobem używania shaderów GLSL w WebGL wydaje się osadzanie ich w głównym pliku html. Shadery wierzchołków i fra ... nie, ponieważ używany jest http:, a nie file:. Pomyślałem, że postawię to tutaj na wypadek, gdyby ktoś uznał to za przydatne.

GLSL gl FragCoord.z Obliczanie i ustawianie gl FragDepth

Więc mam oszusta (prawdziwa geometria to sześcian, prawdopodobnie obcięty, a geometria oszusta to gąbka Mengera) i muszę obli ... wybrać jeden, aby uzyskać pomoc, w tym momencie, proszę o kompletny kod, który robi to. To powinno być tylko kilka linijek.

Rysowanie obramowania na wielokątu 2d za pomocą shadera fragmentów

Mam kilka prostych wielokątów (mniej niż 20 wierzchołków) renderujących płasko na prostej płaszczyźnie xy, używając GL_TRIANG ... y ustalić odległość między krawędzią, a nie wierzchołkami krawędzi, i proguje Kolor jako obramowanie/wypełnienie odpowiednio?

Jak użyć shadera GLSL, aby zastosować promieniste rozmycie do całej sceny?

Mam radial blur shader w GLSL, który pobiera teksturę, stosuje radial blur do niego i renderuje wynik na ekranie. To działa b ... *= 1.0/11.0; float t = dist * sampleStrength; t = clamp( t ,0.0,1.0); gl_FragColor = mix( color, sum, t ); }

Jak uzyskać modelview i matryce projekcyjne w OpenGL?

Próbuję użyć języka cieniowania OpenGL (GLSL) w wersji 1.5 do tworzenia shaderów wierzchołków i geometrii. Dowiedziałem się ... ementacji, której używam (dostaję błąd kompilacji unknown identifier: glGetMatrix Kiedy próbuję ją skompilować z tą funkcją).

Jak najlepiej narysować pełnoekranowy quad w OpenGL 3.2?

Robię Ray casting W fragment shader. Mogę wymyślić kilka sposobów na narysowanie w tym celu pełnoekranowego quada. Albo narys ... wego, przestarzałego w OpenGL 3.2. Ten ostatni używam z nowości, ale nadal używa trybu natychmiastowego, aby narysować punkt.

Wyjaśnienie dFdx

Próbuję zrozumieć funkcje DFDX i dfdy w GLSL. Rozumiem co następuje: pochodną jest szybkość zmiany pochodna cząstkowa f ... on for fragment next to fragment 1 along the x axis. float x = 2.0; float d = dFdx(x); Czy d będzie odpowiednio -1,0 i 1,0?

Jak obliczyć macierz normalną?

Mam problemy z moją normalną matrycą. Vs. glsl #version 440 in vec3 vPosition; in vec3 vNormal; out vec4 eyeCordFs; out ... * vec4(vNormal, 0.0)); I wyjście wygląda teraz tak Który wygląda poprawnie. Czy obliczam moje normalMatrix zła droga?

Jak zaprojektować prosty wrapper GLSL do użycia w shader

Aktualizacja: ponieważ potrzebowałem czegoś od razu, stworzyłem prosty wrapper shaderów, który robi to, czego potrzebuję. Moż ... ramów cieniujących, Shader nie może być używany w programach cieniujących i nie może być używany w programach cieniujących.]}

renderowanie woluminów (przy użyciu glsl) z algorytmem Ray castingu

Uczę się renderowania woluminów za pomocą algorytmu odlewania promieni. Znalazłem dobre demo i tuturial w tutaj . ale proble ... er? Edit: jeśli interesuje Cię nowoczesna implementacja API OpenGL (kod źródłowy C++) z glsl: Volume_Rendering_Using_GLSL

GLSL shader do błyszczących odbić lustrzanych na powierzchni kubaturowej

Napisałem shader do environmental cubemapping *Vertex shader * varying vec3 Normal; varying vec3 EyeDir; uniform sampler ... ent + 0*diffuse + spec; I pomnożyć do {[3] } ale efekt jaki uzyskuję nie jest przekonujący. Ktoś ma pomysł jak to zrobić?

Jak spakować jeden 32-bitowy int do 4, 8-bitowych intów w glsl / webgl?

Szukam paraleli do jakiejś skomplikowanej matematyki, a webgl wygląda na idealny sposób, aby to zrobić. Problem w tym, że z t ... bitowych): Jak przechowywać 64-bitową liczbę całkowitą w dwóch 32-bitowych liczbach całkowitych i konwertować z powrotem

Wydajny Kod filtrujący Bicubic w GLSL?

Zastanawiam się, czy ktoś ma kompletny, działający i wydajny kod do filtrowania tekstur bicubic w glsl. Jest to: Http://www ... enieść wersję Nvidii na glsl, ale pomyślałem, że najpierw zapytam, Czy ktoś ma już kompletny, działający shader GLSL bicubic.