Как вы знаете, старые STM имеют приличные частоты и объемы оперативной памяти.
Ну а если так, то почему бы не запустить на таких контроллерах 3D-графику? Нет ничего проще!
Демо-изображение
Для отображения 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
Появление
Для рисования 3D-графики я когда-то сделал своеобразный фрагмент первой версии библиотеки OpenGL. Это то, что я подключил к STM32. Эта библиотека требует 6 байт на пиксель (2 для цвета и 4 для Z-буфера).
У STM32F407 в этой версии памяти хватает только на 160х120. Что ж, тогда давайте растянем картинку дважды по вертикали и горизонтали.
Этот продукт может: 1) Текстурирование текстурой с размерами, кратными степени двойки; 2) Z-отсечение; 3) Интерполяция цвета вершин внутри грани; 4) Расчет освещения для восьми источников с ослаблением в зависимости от расстояния.
Порядок работы с библиотекой следующий: Для начала нужно инициализировать библиотеку (она выделит память под экран).
Затем, как и в случае с OpenGL, вам необходимо настроить матрицу проекции и область просмотра.
Теги: #Программирование микроконтроллеров #stm32 #Сделай сам или Сделай сам #Электроника для начинающих #программирование #Работа с 3D графикой #3d графика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;
-
Как Восстановить Забытый Пароль Windows?
19 Oct, 24 -
Алгебраическая Геометрия
19 Oct, 24 -
Ibm Mq И Jmeter: Первый Контакт
19 Oct, 24 -
Успешны Ли Продажи Ipod?
19 Oct, 24 -
Оптический S/Pdif Своими Руками Для Пк
19 Oct, 24 -
Мотивация От Лукавого
19 Oct, 24