Запитання з тегом «glsl»

GLSL - це мова затінення OpenGL. Використовуйте цей тег для питань, які стосуються шейдерів, написаних цією мовою. Для загальних питань про шейдери використовуйте замість [шейдер].

6
Як я можу налагоджувати шейдери GLSL?
Під час написання нетривіальних шейдерів (як і під час написання будь-якого іншого фрагмента нетривіального коду) люди роблять помилки. [потрібне цитування] Однак я не можу просто налагодити його як будь-який інший код - ви не можете просто приєднати gdb або налагоджувач Visual Studio. Ви навіть не можете виконати налагодження printf, тому …
45 opengl  glsl  debugging 

4
Код обміну між декількома шейдерами GLSL
Я часто знаходжу собі код копіювання між декількома шейдерами. Сюди входять як певні обчислення або дані, що поділяються між усіма шейдерами в одному конвеєрі, так і загальні обчислення, які потрібні всім моїм вершинним шейдерам (або будь-який інший етап). Звичайно, це жахлива практика: якщо мені потрібно змінити код де завгодно, мені …
30 glsl 

1
Чому мій Perlin Noise виглядає «блокадно»?
Я спробував реалізувати Перлін Шум самостійно, використовуючи лише теорію (слідуючи flafla2.github.io/2014/08/09/perlinnoise.html). На жаль, мені не вдалося досягти вигляду "оригінального" шуму Перліна. У чому причина, що наведений нижче код надає комерційну версію Perlin Noise? Що слід покращити / змінити в коді, щоб він видавав шум Перліна без артефактів? Я підозрюю, що …
21 glsl  noise  artifacts 

1
Плутати з реалізаціями PBR
Я відкриваю чудовий світ математики, і я потрапляю на величезну стіну з PBR і називаю, тому у мене є кілька запитань: Наскільки я розумію, BRDF описує, як матеріал реагує на світло (пряме світло і відбиття). Але в "Cook-Torrance" я нічого не бачу про відбиття, я не розумію, як я його …
14 glsl  pbr 

1
Коли відключити перспективну правильну інтерполяцію (неперспективна)
У GLSL стандартна правильна інтерполяція атрибутів вершин є типовою настройкою - вимкнути її для конкретних атрибутів вершин можна за допомогою неперспективного класифікатора. Окрім випадків, коли в шейдерах після обробки я ніколи не бачив вимкнення правильної інтерполяції в перспективі - чи є інші випадки використання? Крім того, чи це навіть має …

1
Виконання циклу в шейдері
Мені цікаво, який найкращий спосіб інтегрувати функцію динамічного циклу в шейдер? По-перше, здається, що динамічні масиви неможливі. Отже, чи краще створити масив максимального розміру і лише заповнити його частину або визначити масиви із заданими розмірами? Тоді, який найкращий спосіб перебрати цей масив? Чи краще використовувати розкручений цикл або динамічний цикл …

1
Чи потрібно мені перевпорядковувати уніформи або атрибути при зміні шейдерних програм?
Візуалізація сцени зазвичай передбачає більше однієї програми шейдерів, які, в моєму випадку, всі використовують однакові атрибути та діляться принаймні деякою формою одягу. Для того, щоб вони працювали належним чином, я в даний час граю в безпеку, це означає, що я перев’язую атрибути і отримую відповідні однакові місця кожного разу, коли …
11 opengl  glsl  shader 

1
Чому доступ до текстур набагато повільніше при обчисленні координати текстури в шейдері фрагмента?
Використовуючи текстури в GLSL, найкраще обчислити кінцеві координати текстури у вершинній шейдері та здати їх на шейдер фрагмента за допомогою varyings. Приклад з простим перевертанням координати y: // Vertex shader attribute vec2 texture; varying highp vec2 texCoord; // ... void main() { texCoord = vec2(texture.x, 1.0-texture.y); // ... } // …

1
Випуск всенаправленого тіньового картографування WebGL
Перш за все, я хочу сказати, що я читав багато публікацій про тіньове картографування за допомогою карт глибини та кубічних карт, і розумію, як вони працюють, а також, маю досвід роботи з ними за допомогою OpenGL, але, у мене є проблема реалізації Техніка всенаправленого тіньового картографування за допомогою одноточкового джерела …

1
Спроба впровадити Microfacet BRDF, але мої результати невірні
Я намагаюся реалізувати мікронабірний BRDF модель. Я читаю слайди Себастьєна Лагард . Я реалізував формули до свого коду, але я думаю, що результат зображення неправильний. Жовтий - основний колір матеріалу. Колір окулярів - червоний, щоб правильно його бачити. Мій код: // Fragment Shader #version 330 core in vec3 Position; in …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.