Содержание
- 2. Методы удаления невидимых линий и поверхностей При проецировании трехмерных объектов на картинную плоскость (экран) часто оказывается,
- 3. Классификация методов удаления невидимых линий и поверхностей Каркасное (wireframe) Сплошное (solid) В пространстве сцены На картинной
- 4. Лицевые и нелицевые грани Если грани являются границей тела (или нескольких тел), то для каждой из
- 5. Свойства (не)лицевых граней В случае, когда грани являются границей тела (или нескольких тел), то ни одна
- 6. Трассировка лучей При использовании метода трассировки лучей через каждый пиксел картинной плоскости выпускается луч (из положения
- 7. Метод буфера глубины Каждому пикселу картинной плоскости, кроме значения цвета, хранящемуся в буфере кадра, сопоставляется еще
- 8. Алгоритм художника Алгоритм художника (painter’s algorithm) явно сортирует все грани сцены в порядке их приближения к
- 9. Алгоритм художника: проблемы Не всегда грани возможно упорядочить Не всегда грани возможно сравнить по координате z
- 10. ё Упорядочивание граней Проведем через одну из граней плоскость и проверим, лежит ли другая грань целиком
- 11. Пять проверок в алгоритме художника 1. Накладываются ли x-габариты мн-ков? 2. Накладываются ли y-габариты мн-ков? 3.
- 12. Метод двоичного разбиения пространства (1/3) Пусть известно, что плоскость π разбивает все грани (объекты) сцены на
- 13. Метод двоичного разбиения пространства (2/3) A B C D C E1 E2 + - + -
- 14. Метод двоичного разбиения пространства (3/3) class BSPNode { Face *face; // Грань объекта BSPNode *positive; BSPNode
- 15. Лицевые и нелицевые грани в OpenGL void glFrontFace(GLenum type); type = {GL_CW|GL_CCW} void glCullFace(GLenum type); type
- 16. Z-буфер Необходимо создать z-буфер glutDisplayMode(GLUT_DEPTH|/*…*/); Перед рисованием сцены очистить z-буфер glClear(GL_DEPTH_BUFFER_BIT|/*…*/); Включить или выключить сравнение z
- 17. Уменьшение количества вершин 1 0 2 3 4 5 GL_TRIANGLE_FAN: 3n vs. 1+n, n>1 1 0
- 19. Скачать презентацию