Наложить текстуру на сферу - Програмный рендеринг

Загрузить архив с примерами ЗДЕСЬ.

Результат работы программы для данной главы показан на рисунке ниже:

Наложить текстуру на сферу - Програмный рендеринг

В данном примере мы создаем сферу при помощи параметрического описания сферы, в процессе создания сферы создаем текстурные координаты, и отображаем меш сферы. Код примера (использовались BitBlt и SetPixel) можно загрузить /src/02.006-soft_sphere/Sphere_Soft1.

Еще один пример создания сферы (использовалась функция DrawDibDraw), другой подход к созданию буфера вершин и буфера индексов (см.функцию Init_Sphere()), загрузить пример /src/02.006-soft_sphere/Sphere_Soft2.

Еще один пример создания сферы (использовалась функция DrawDibDraw), другой подход к созданию текстурных координат. В этом примере текстурные координаты имеют диапазон от 0 до 1.0. Загрузить пример /src/02.006-soft_sphere/Sphere_Soft3.

В этом примере происходит демонстрация как создается сфера из slice и stacks (использовалась функция DrawDibDraw). Загрузить пример /src/02.006-soft_sphere/Sphere_Soft4.

В каком порядке происходит добавление вершин в буфер индексов - b (по высоте) добавляется сверху вниз от 0 до 180 градусов, l (по горизонтали) добавляется справа- налево от 0 до 360 градусов поэтому в примере текстурные координаты перевернуты по горизонтали. В нормальном виде тестурные координаты идут слева направо по горизонтали. Причем шев сферы идет прямо противоположно с тыльный стороны зрителя (и вершины создаются справа налево если смотреть на сферу сбоку, и по часовой стрелке если смотреть на сферу сверху).