Компьютерная графика

Q & A для исследователей компьютерной графики и программистов

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

1
Связь между выборкой синего шума и текстурой синего шума?
Вы можете иметь сэмплирование синего шума, как эти сэмплы пуассоновского диска И вы можете получить текстуру синего шума, как это: Я получаю, что на первом изображении есть один вход (индекс образца) и два выхода (координата x, y точки), и что второе изображение в основном наоборот, где есть два входа (x, …
9 sampling 

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 [и output = floor (input * (2 ^ bits-1) + n)), заканчивается диапазон значений (входные значения 0,0 и 1,0 ) шумные. Было бы желательно, чтобы они были однотонными. Пример: https://www.shadertoy.com/view/llsfz4 (выше скриншот с шейдертой, изображающий градиент …

1
Применение правильной физики света к гауссовым формулам размытия для свечения
Я пытаюсь сделать светящийся шейдер, используя раздельное размытие по Гауссу. Недавно я был вдохновлен коротким видео на YouTube "Компьютерный цвет нарушен", и я перепутал его с интерполяцией цвета, и мальчик его предложение прекрасен! В видео говорится о том, что этот принцип должен применяться для размытия, однако я довольно растерялся. Я …

4
Почему карты Bump, Normal и Displacement не должны быть гамма-скорректированы?
Поэтому я пытаюсь обернуть это вокруг с довольно технической точки зрения. Когда вы добавляете карту Bump, Normal или Displacement в свой шейдер, они не должны корректироваться гаммой. Но диффузные текстуры должны быть. Но почему? Когда вы сохраняете файл в 8-битном (или 16-битном целом) формате в формате JPEG, PNG или TIFF, …
9 gamma 

1
Настройка шейдера свечения, чтобы он выглядел лучше
У меня есть простая игра, и ее предметами являются эти маленькие строчки. Он предназначен для iOS и Android, поэтому он имеет ОГРОМНЫЙ ряд процессоров, на которых он может работать, прямо сейчас. Я пытаюсь добавить им свечение в реальном времени по двум причинам. Я пытаюсь скрыть тот факт, что у меня …

1
Полное объемное рассеяние Монте-Карло
Я хотел бы добавить полное объемное рассеяние Монте-Карло к моему трассировщику пути, но мне трудно исследовать, как это сделать. Позвольте мне объяснить, что я хотел бы сделать: луч входит в материал, и мы применяем BTDF, затем через некоторое расстояние происходит событие объемного рассеяния, после которого (в изотропном случае) луч рассеивается …

1
OpenGL GLSL - фильтр обнаружения краев Собеля
Что касается этой темы, я успешно внедрил фильтр Sobel Edge Detection в 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
Правильная форма термина геометрии GGX
Я пытаюсь внедрить микроразмер BRDF в мой raytracer, но у меня возникают некоторые проблемы. Многие статьи и статьи, которые я прочитал, определяют термин частичной геометрии как функцию вида и половинных векторов: G1 (v, h). Однако при реализации этого я получил следующий результат: (Нижний ряд - диэлектрический с шероховатостью 1,0 - …

1
Каковы пробелы образца во время преобразования сканирования?
В этом учебном пособии , Очень часто бывает так, что отображаются треугольники с общими ребрами. OpenGL предлагает гарантию того, что, пока позиции вершин общего ребра идентичны, при преобразовании сканирования не будет пробельных пробелов. 1 Что такое пробелы в выборке при конвертации? 2 При каких обстоятельствах это произойдет? 3 Это происходит, …

1
Нанести текстуру на гиперболический треугольник
Я застрял на том, как подойти к этому некоторое время, поэтому любые предложения будут с благодарностью! Я хочу отобразить текстуру в форме нижнего правого евклидова треугольника на гиперболический треугольник на диске Пуанкаре. Вот текстура (верхний левый треугольник текстуры прозрачен и не используется). Вы можете узнать это как часть ограничения круга …

1
Создание общих вершинных нормалей на GPU
Я в основном преуспел в переносе реализации Marching Cubes с CPU на вычислительные шейдеры OpenGL, но я еще не справился с нормой и задаюсь вопросом, как лучше это сделать. Моя реализация имеет дело именно с бинарными полями (я пытаюсь смоделировать трехмерные фрактальные функции, у которых пока нет оценки расстояния), поэтому …

3
Упорядочение набора неорганизованных точек вдоль кривой
У меня есть набор трехмерных точек (которые я восстанавливаю из библиотеки, которая выполняет тесселяцию твердого тела), которые принадлежат кривой (то есть краю твердого тела). Это означает, что кривая обязательно проходит по каждой из этих точек. Тем не менее, набор точек неупорядочен, поэтому мне нужно отсортировать их, чтобы правильно нарисовать эту …
9 geometry  mesh  curve 

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.