Отображение 3D-Графики На Stm32F407

Как вы знаете, старые STM имеют приличные частоты и объемы оперативной памяти.

Ну а если так, то почему бы не запустить на таких контроллерах 3D-графику? Нет ничего проще!

Отображение 3D-графики на STM32F407

Демо-изображение Для отображения 3D графики я подключил дисплей с разрешением 320х240 к плате STM32F4Discovery на базе STM32F407. Нет, не по FSMC - на этой плате нужные контакты заняты.

Впрочем, для наших экспериментов вполне хватит и штатных портов.

Дисплей подключается так:

  • CS -> E12
  • РСТ -> Е2
  • РС -> Е15
  • ВР -> E14
  • РД -> E13
  • Д0 -> Е4
  • Д1 -> Е5
  • Д2 -> Е6
  • Д3 -> Е7
  • Д4 -> Е8
  • Д5 -> Е9
  • Д6 -> Е10
  • Д7 -> Е11
В репозитории есть классы для трех разных вариантов отображения (IL9325, SPFD5408, HX8347D).



Отображение 3D-графики на STM32F407

Появление Для рисования 3D-графики я когда-то сделал своеобразный фрагмент первой версии библиотеки OpenGL. Это то, что я подключил к STM32. Эта библиотека требует 6 байт на пиксель (2 для цвета и 4 для Z-буфера).

У STM32F407 в этой версии памяти хватает только на 160х120. Что ж, тогда давайте растянем картинку дважды по вертикали и горизонтали.

Этот продукт может: 1) Текстурирование текстурой с размерами, кратными степени двойки; 2) Z-отсечение; 3) Интерполяция цвета вершин внутри грани; 4) Расчет освещения для восьми источников с ослаблением в зависимости от расстояния.

Порядок работы с библиотекой следующий: Для начала нужно инициализировать библиотеку (она выделит память под экран).

Затем, как и в случае с OpenGL, вам необходимо настроить матрицу проекции и область просмотра.

   

const int32_t WIDTH=160; const int32_t HEIGHT=120; const float VISIBLE_ANGLE=60; const float NEAR_PLANE=1; const float FAR_PLANE=1000;

Теги: #Программирование микроконтроллеров #stm32 #Сделай сам или Сделай сам #Электроника для начинающих #программирование #Работа с 3D графикой #3d графика
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.