Комп'ютерна графіка

Питання та відповіді для дослідників і програмістів з комп'ютерної графіки

2
Найефективніший спосіб організації даних вершин на сучасних графічних процесорах
Скажімо , у мене є модель , складена з вершин, кожен з яких position, normal, tangentі texcoordатрибутів, де трикутники зазначених індексів трійок. Якщо ми просто зосередимось на атрибутах вершини, я знаю про дві широкі стратегії: структура масивів та масив структур. Я також чув, що масив структур є кращим, оскільки він …

1
Зв'язок між вибіркою синього шуму та синім шумовим текстурами?
Ви можете мати вибірки синього шуму, як ці зразки пуассонових дисків: А у вас може бути така синя текстура шуму: Я розумію, що на першому зображенні є один вхід (індекс вибірки) і два виходи (координата x, y точки) і що друге зображення є в основному зворотним, де є два входи …
9 sampling 

1
Застосування правильної фізики світла до формул розмиття гаусса для світіння
Я намагаюся зробити шейдер для світіння, використовуючи роздільні гауссові розмивання. Нещодавно мене надихнуло коротке відео YouTube "Комп'ютерний колір порушений", і я поспішав з ним кольоровою інтерполяцією, і хлопчик, його пропозиція прекрасна! Велика річ, про яку йдеться у відео, полягає в тому, що цю головну основу слід застосовувати до розмиття, проте …

4
Кілька вікон перегляду із сучасним OpenGL?
Я використовую SDL2 . Наразі мій єдиний шейдер має матрицю MVP і перетворює точки з ним. Я обчислюю матрицю перегляду та проекції для камери з GLM: glm::lookAt(pos, pos + forward, up); glm::perspective(fov, aspectRatio, zNear, zFar); Я шукав його, але можу знайти лише застаріле впровадження декількох вікон перегляду. Якщо я створимо, …
9 opengl  glm 

3
Що є правильним способом затиснути шум від гусениць?
При зменшенні глибини кольору і затуманенні з 2-бітовим шумом (з n =] 0,5,1,5 [і вихід = підлога (вхід * (2 ^ біт-1) + n)), кінці діапазону значень (входи 0,0 і 1,0 ) галасливі. Хочеться, щоб вони були суцільним кольором. Приклад: https://www.shadertoy.com/view/llsfz4 (вище - скріншот шадертої, що зображає градієнт і обидва …

4
Чому не слід виправляти гамма-картки, звичайні та зміщені карти?
Тому я намагаюся обернути голову навколо цього з досить технічної точки зору. Коли ви додаєте карту Bump або Normal або Displacement у свій шейдер, вони не повинні бути виправлені гаммою. Але дифузні текстури повинні бути. Але чому? Коли ви зберігаєте файл у 8-бітовому (або 16-бітовому цілому) у такому форматі, як …
9 gamma 

1
Налаштування шейдера для світіння, щоб він виглядав краще
У мене проста гра, і тематикою цього є ці маленькі рядки. Він орієнтований на iOS та android, тому у нього є ВЕЛИЧЕЗНИЙ діапазон процесорів, який він може працювати зараз. Я намагаюся додати їм світіння в режимі реального часу з двох причин Я намагаюся приховати той факт, що у мене немає …

1
OpenGL GLSL - фільтр виявлення країв Sobel
Що стосується цієї теми, я успішно застосував фільтр Sobel Edge Detekction в GLSL. Ось фрагмент шейдерного коду фільтра: #version 330 core in vec2 TexCoords; out vec4 color; uniform sampler2D screenTexture; mat3 sx = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 ); mat3 sy = mat3( 1.0, 0.0, …

1
Повний об'ємний розсіювання Монте-Карло
Я хотів би додати повне об’ємне розсіяння монте-Карло до мого сліду траєкторії, але мені важко досліджувати, як це зробити. Дозвольте мені пояснити, що я хотів би зробити: Промінь вводить матеріал, і ми застосовуємо BTDF, потім через деяку відстань відбувається об'ємна подія розсіювання, після якої (в ізотропному випадку) промінь розсіюється в …

1
Що таке вибіркові прогалини під час перетворення сканування?
У цьому навчальному посібнику , Дуже часто трапляються трикутники, які ділять краї. OpenGL надає гарантію, що до тих пір, поки позиції вершин спільного ребра однакові, під час перетворення сканування не буде пробілів вибірки. 1 Які саме є пробіли у зразках під час перетворення сканування? 2 За яких обставин це станеться? …

1
Правильна форма терміна геометрії GGX
Я намагаюся реалізувати мікропрограму BRDF у своєму raytracer, але я стикаюся з деякими проблемами. Чимало прочитаних статей та статей визначають термін часткової геометрії як функцію перегляду та піввікторів: G1 (v, h). Однак, реалізуючи це, я отримав такий результат: (Нижній ряд діелектрик із шорсткістю 1,0 - 0,0, верхній ряд - металік …

1
Відображення текстури на гіперболічний трикутник
Я на деякий час застряг, як підійти до цього, тому будь-які пропозиції будуть вдячні вам! Я хочу зіставити текстуру у вигляді правого нижнього евклідового трикутника до гіперболічного трикутника на диску Пуанкаре. Ось текстура (верхній лівий трикутник текстури прозорий і невикористаний). Ви можете визнати це частиною Межі кола Ешера Вибачте, дивіться …

1
Створення загальних норм вершин у GPU
Здебільшого мені вдалося перенести реалізацію Marching Cubes з процесора до обчислювальних шейдерів OpenGL, але я ще не вирішував нормалів і цікавився найкращим способом зробити це. Моя реалізація стосується конкретно полей з двозначними значеннями (я намагаюся моделювати 3D фрактальні функції, у яких ще немає оцінювача відстані), тому методи градієнта та різниці …

3
Впорядкування набору неорганізованих точок по кривій
У мене є набір 3D-точок (які я відновлюю з бібліотеки, яка виконує тесселяцію твердого тіла), що належать кривій (тобто краю твердого тіла). Це означає, що крива, безумовно, проходить повз кожну з цих точок. Тим не менш, набір точок не упорядкований, тому мені потрібно сортувати їх, щоб можна було правильно намалювати …
9 geometry  mesh  curve 

1
Розрахунок за вершиною в тесселяції OpenGL
Я намагаюся реалізувати моделювання полотен на основі положень, використовуючи апаратну tesselation. Це означає, що я хочу просто завантажити контрольний диск на відеокарту, а потім використовувати tesselation та геометрію, щоб створити вузли в тканині. Ця ідея випливає з документа: Huynh, David, "Моделювання тканини за допомогою апаратної tessellation" (2011). Теза. Рочестерський технологічний …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.