Запитання з тегом «fragment-shader»

Програма, яка працює на графічному процесорі для визначення вихідних кольорів пікселів. Також відомий як фрагментний шейдер.

3
Чому H (blinn) використовується замість R (phong) у затіненні окулярів?
Я ніде не можу знайти вагомих причин для цього. Вектор відбиття, який використовується у фонзі, має просту основу у фізиці. Але половинний вектор, використаний у Блін, начебто, не має раціональної основи і не є належним відображенням. І все ж він використовується у кожній так званій «фізично заснованій» функції затінення. Якщо …

2
Чи втрачаю я / набираю продуктивність для відкидання пікселів, навіть якщо не використовую глибинне тестування?
Коли я вперше шукав інструкцію щодо викидання, я виявив експертів, які стверджують, що використання відкидання призведе до зниження продуктивності. Вони сказали, що відкидання пікселів порушить здатність GPU до належного використання zBuffer, оскільки GPU доведеться спочатку запустити шейдер Fragment для обох об'єктів, щоб перевірити, відкинуто один, хто ближче до камери, чи …

2
GLSL - однопрохідна гаусова розмитість
Можна реалізувати фрагмент шейдера, щоб зробити однопрохідне гауссова розмиття? Я знайшов багато реалізації розмиття з двома проходами (гауссова та кодова розмиття): http://callumhay.blogspot.com/2010/09/gaussian-blur-shader-glsl.html http://www.gamerendering.com/2008/10/11/gaussian-blur-filter-shader/ http://www.geeks3d.com/20100909/shader-library-gaussian-blur-post-processing-filter-in-glsl/ і так далі. Я думав реалізувати гауссова розмитість як згортку (насправді це згортання, наведені вище приклади - це лише апроксимація): http://en.wikipedia.org/wiki/Gaussian_blur

3
Як написати шейдер, який загоряється, коли предмети знаходяться біля поверхні?
У цьому геймплейному відео Overwatch щит персонажа світиться білим кольором у місцях, що знаходяться поблизу геометрії інших об'єктів. Зверніть увагу на білі краї на блакитному щиті біля підлоги, стін та стовпа. Я вважаю, що щит має власну модель, і ефект робиться за допомогою шейдера, але я програю, намагаючись зрозуміти, як …

2
Затінення Toon / Cel із змінною шириною лінії?
Я бачу кілька широких підходів до того, як робити затінення чела: Копіювання та розширення моделі з перевернутими нормалями (для мене не варіант) Фільтр / шейдер фільтра Собеля підходить до виявлення краю Буфер трафарету підходить до виявлення ребер Шейдер для геометрії (або вершини), що обчислює нормали обличчя та ребер Чи правильно …

2
GLSL Shader - зміна відтінку / насиченості / яскравості
Я намагаюся змінити відтінок зображення за допомогою шейдера фрагмента GLSL. Я хочу досягти чогось подібного до шару Photoshop Hue / Saturation Adjustment. На наступному зображенні ви можете побачити, що у мене поки що. Я хочу змінити відтінок зеленого квадрата, щоб він виглядав як червоний квадрат праворуч, але за допомогою цього …

5
Які методи візуалізації я б використав, щоб намалювати тіньовий ефект для карт у картковій грі?
Який тип алгоритму затінення може бути використаний для створення подібних тіней? той, що я роблю, схожий, але все це робиться за допомогою двовимірного API малювання на основі OpenGL, тому немає координати Z. Крім того, для самої руки я дуже хотів би мати затінене відчуття, як бачили тут: Я просто не …

1
Як я реалізую 2D тіні, відлиті між шарами?
Як я міг реалізовувати 2d тіні, відлічені об'єктами в іншому шарі? НЕ подобається динамічне освітлення у відомому підручнику від Каталіна Зіми : Але як тіні труб у цьому відео : І як тінь платформи та персонаж у цьому відео : Мені б хотілося використовувати одне і те ж освітлення в …

1
Як створити "ретро" піксельний шейдер для трансформованих 2D спрайтів, який підтримує вірність пікселів?
На зображенні нижче показано два спрайти, відображені з точковим відбором зверху: Лівий череп не має обертання / масштабування, застосованих до нього, тому кожен піксель ідеально співпадає з фоном. Правий череп обертається / зменшується, і це призводить до отримання більших пікселів , які вже не розташовані по осі . Як я …

1
Оптимізація продуктивності важкого фрагмента шейдера
Мені потрібна допомога в оптимізації наступного набору шейдерів: Вершина: precision mediump float; uniform vec2 rubyTextureSize; attribute vec4 vPosition; attribute vec2 a_TexCoordinate; varying vec2 tc; void main() { gl_Position = vPosition; tc = a_TexCoordinate; } Фрагмент: precision mediump float; /* Uniforms - rubyTexture: texture sampler - rubyTextureSize: size of the texture …

3
Окресліть спрайт
Зараз я працюю над 2D грою, і моє поточне завдання - окреслити вибраний об’єкт. Я в основному використовую шейдер для розмиття, щоб зробити це повністю виконуваним. Спочатку малюю спрайт за допомогою вертикальної шейдера розмиття, потім малюю горизонтальним гауссовим шейдером розмиття, а потім малюю спрайт нормально. Ось мій шейдер розмиття: sampler …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.