Основы программирования трехмерной графики в DirectX. Часть II: Точки, вершины и модели - Станислав Горнаков

Основы программирования трехмерной графики в DirectX. Часть II: Точки, вершины и модели

Очевидно, что для представления любой точки в трехмерной плоскости нужно задать координаты по всем трем осям X, Y и Z. Для представления на экране монитора примитива (треугольник, квадрат, прямоугольник, ромб и так далее) необходимо задать N-количество точек, соединив которые между собой вы получите заданный примитив. То есть с помощью определенного количества точек в пространстве можно нарисовать примитив любой формы.

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

Вершина – эта точка в пространстве заданная по трем осям координат X, Y и Z. Имея три вершины, вы можете построить в пространстве полигон. Иначе говоря, вершины и полигоны – это простые точки и треугольники, которые мы все изучали в геометрии. На базе вершин и полигонов, в компьютерной графике происходит работа с трехмерными объектами или моделями.

Модель

Любую трехмерную модель можно представить в пространстве определенным количеством полигонов. Посмотрите на рисунок в начале статьи, где показана работа утилиты DirectX Viewer входящей в состав DirectX SDK. Эта утилита позволяет открыть модель в формате X-файла или меш и показать количество полигонов участвующих в построении этой самой моделей.

Работа любой видеокарты по рисованию трехмерной графики на экране монитора состоит в том, чтобы собрать из вершин полигоны и затем сформировать из этих полигонов конечную модель. Большое количество полигонов трехмерного объекта дает возможность создавать более детализированную модель. С другой стороны большое количество полигонов одной модели может повлиять на скорость прорисовки графики на экране монитора, но на сегодняшний день модель с несколькими десятками тысяч полигонов будет по зубам большинству средненьких видеоадаптеров.

 
  • Bitcoin
  • Ethereum
  • Xrp
  • Litecoin
  • Tether
Scan to Donate Bitcoin to 37gL6h1eYph975coF8b4PzpU1NWWsrn7H2

Мотивация в написании новостей

Если вы хотите мотивировать автора проекта делать новости каждый день, то можете отправить любое количество Bitcoin на этот адрес. Просто скопируйте адрес или отсканируйте QR-код в свой кошелек, чтобы отправить Bitcoin автору проекта. Спасибо!

Scan to Donate Ethereum to 0x86358dC52dfC689EE6eE6A35c8D8D2405592094D

Мотивация в написании новостей

Если вы хотите мотивировать автора проекта делать новости каждый день, то можете отправить любое количество Ethereum на этот адрес. Просто скопируйте адрес или отсканируйте QR-код в свой кошелек, чтобы отправить Ethereum автору проекта. Спасибо!

Scan to Donate Xrp to rE1Kj7r2fFqqT1JmeHh5miTqNSGi5mDdH9

Мотивация в написании новостей

Если вы хотите мотивировать автора проекта делать новости каждый день, то можете отправить любое количество Xrp на этот адрес. Просто скопируйте адрес или отсканируйте QR-код в свой кошелек, чтобы отправить Xrp автору проекта. Спасибо!

Scan to Donate Litecoin to MGPZR3gNsUEWfnXtVQXX5Cn22mxK9b51uv

Мотивация в написании новостей

Если вы хотите мотивировать автора проекта делать новости каждый день, то можете отправить любое количество Litecoin на этот адрес. Просто скопируйте адрес или отсканируйте QR-код в свой кошелек, чтобы отправить Litecoin автору проекта. Спасибо!

Scan to Donate Tether to 0x86358dC52dfC689EE6eE6A35c8D8D2405592094D

Мотивация в написании новостей

Если вы хотите мотивировать автора проекта делать новости каждый день, то можете отправить любое количество Tether на этот адрес. Просто скопируйте адрес или отсканируйте QR-код в свой кошелек, чтобы отправить Tether автору проекта. Спасибо!

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Пролистать наверх