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

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

2
Физическое рендеринг и трассировка лучей
У меня много путаницы, и мне нужно уточнить некоторые термины и собрать воедино знания. Если я скажу, что движок является трассировщиком лучей (поэтому он использует алгоритм трассировки лучей для рендеринга сцены), автоматически ли это физически движок? Я имею в виду, что трассировка лучей по своему определению физически обоснована, или могут …
11 rendering 

2
Что такое внешнее освещение?
Википедия говорит : Источник окружающего света представляет собой источник света фиксированной интенсивности и фиксированного цвета, который одинаково влияет на все объекты в сцене. Говоря «одинаково влияет на все объекты», они означают, что все объекты получают одинаковое количество света? Итак, если у вас есть три дома на вашей сцене, вам нужно …
11 lighting 


2
Как осуществляется окклюзия окружающего пространства экрана?
Я не понимаю объяснения из Википедии. Для каждого пикселя на экране пиксельный шейдер выбирает значения глубины вокруг текущего пикселя и пытается вычислить величину окклюзии для каждой из точек выборки. Как значения глубины окружающих пикселей могут рассказать вам об окклюзии? Окклюзия , как я понимаю, происходит, когда объект A стоит перед …

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

3
Освещен ли ламбертовский отражатель меньшей частью падающего излучения при наклоне?
Читая о отражении Ламберта в Википедии, я нашел следующую фразу (жирным шрифтом), которая мне не подходит: В компьютерной графике ламбертовское отражение часто используется в качестве модели для диффузного отражения. Этот метод заставляет все замкнутые многоугольники (такие как треугольник в трехмерной сетке) отражать свет одинаково во всех направлениях при визуализации. Фактически, …
11 shading 

1
Быстрое сглаживание линий
Алгоритм линий Брезенхема - это способ рисовать прямые линии, используя только быстрые целочисленные операции (сложение, вычитание и умножение на 2). Тем не менее, он генерирует псевдонимы. Есть ли такой же быстрый способ рисовать сглаженные линии?

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

1
Это правильный способ реализации Закона Бера?
Когда я реализую закон Бера (поглощение цвета на расстоянии через объект), он почему-то никогда не выглядит очень хорошо. Когда у меня есть цвет позади объекта, я вычисляю скорректированный цвет следующим образом: const vec3 c_absorb = vec3(0.2,1.8,1.8); vec3 absorb = exp(-c_absorb * (distanceInObject)); behindColor *= absorb; Это даст мне что-то похожее …

4
Имеет ли значение, изучаю ли я OpenGL или Direct3D?
Являются ли различия между этими двумя API незначительными деталями реализации, которые означают, что как только я изучу один, я могу использовать его для всего? Или есть причины для изучения одного, а не другого, если я хочу иметь возможность использовать его вообще без необходимости переучивать другой API в будущем? Тот или …
11 opengl  api  direct3d 

2
Аппаратно-ускоренное рисование изогнутых фигур
Как быстро нарисовать изогнутую форму? «быстро» я предполагаю, что нужно максимально использовать аппаратные средства под «изогнутыми» я подразумеваю границы, определенные либо квадратичными, либо кубическими кривыми Безье под «формой» я подразумеваю либо «толстый» штрих (т. е. шириной более 1 пикселя), либо четно-нечетный / ненулевой заполненный «2D-изогнутый многоугольник», возможно, с отверстиями (т. …

2
Субпиксельные правила сглаживания
Недавно у меня возникла проблема с субпиксельным сглаживанием текста , который производит очень резкие цвета и заставил меня задуматься, как это должно быть сделано правильно: Я нарисовал несколько случаев черной плитки, покрывающей трети пикселей ниже. Цвета совпадают с теми, которые я вижу, однако, когда я смотрю на правильно сглаженный текст, …

3
Как я могу заставить свои кубики льда выглядеть реальными?
Я могу смоделировать кубики льда как слегка деформированные прозрачные кубики с показателем преломления воды, но они не выглядят убедительно. Они похожи на куски стекла, а не льда. Глядя на настоящие кубики льда, я могу интуитивно описать некоторые различия, но я не знаю, какие физические свойства нужно изменить, чтобы соответствовать им: …

1
Объемное рендеринг фундаментальных понятий и терминологии
Литература по визуализации объемных материалов и эффектов имеет тенденцию использовать много терминов математической физики. Допустим, я хорошо разбираюсь в концепциях рендеринга поверхности. Какие понятия мне нужно понять для объемного рендеринга? (Как в режиме реального времени, так и в автономном режиме.) Что именно подразумевается под рассеянием света в контексте объемного рендеринга? …

3
Как я могу проследить сцену, которая не вписывается в память?
Если трассируемая сцена не может быть сохранена в памяти, то без добавления дополнительной оперативной памяти на компьютер представляется нереалистичным ее рендеринг за практический промежуток времени из-за необходимости загружать различные части сцены с диска потенциально несколько раз на пиксель , Есть ли способ обойти это? Я пытаюсь придумать какой-нибудь способ выполнения …

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