Как сделать квадратные пятна на форме гладкими? - PullRequest
0 голосов
/ 22 июня 2019

Я использую область освещения в моей трассировке лучей. В простой объектной модели сферы (то есть это сфера, состоящая из треугольников) отображаются квадратные патчи. Как мне сделать поверхность сферы гладкой?

Я подозреваю, что расчет нормалей поверхности должен быть фиксированным.

В настоящее время для каждого треугольника вычисляется одна нормаль для всех содержащихся в ней точек.

Вот сфера:
sphere

1 Ответ

0 голосов
/ 09 июля 2019

Квадратные пятна отображаются, потому что вы просто видите треугольники, из которых состоит модель obj. Либо найдите модель obj с большим количеством треугольников, либо используйте наложение текстуры, чтобы сгладить поверхность. Если вы ищете вычислительно эффективный метод для рисования сфер, вы можете создать алгоритм столкновения для сфер. Я не знаю, насколько низкоуровневым был ваш проект трассировки лучей, но если вы определили алгоритм отражения для треугольника, вы можете довольно легко сделать его для сферы. Я создал визуализацию здесь:

https://www.geogebra.org/m/g9rrhttp

Вы можете проверить это, если хотите. Если вы не хотите реализовывать этот новый алгоритм, вы можете найти модель obj с текстурой. текстура - то, что заставит это казаться гладким.

...