Thanks to visit codestin.com
Credit goes to github.com

Skip to content

FabioRM/dsp3D

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsp3D

The dsp3D is a powerful 3D rendering engine designed for ARM Cortex-M processor based devices. It takes full advantage of the CMSIS DSP library to provide a fast operation. The presence of the floating point unit is necessary, better if it is double precision

The engine supports surface colors (one color per surface) and four rendering methods are available:

- Gouraud rendering

- Flat surface rendering

- Wireframe rendering

- Point rendering

Tests and results

The performance is directly dependent on the memory access speed and the math acceleration. Since the engine is really RAM hungry (consider about 8 bytes per pixel in ARGB rendering), I used boards with external SDRAM.

The STM32F769I-Discovery has a 32 bits bus to the external SDRAM and a double precision floating point unit, so that it performed better than the other platforms.

The engine were successfully tested on:

- ST's STM32F746G-Discovery board (MCU: STM32F746) - Cortex-M7 @ 216MHz - 480x272 display

- ST's STM32F769I-Discovery board (MCU: STM32F769) - Cortex-M7 @ 200MHz - 800x480 display

- ST's STM32F429I-Discovery board (MCU: STM32F429) - Cortex-M4 @ 180MHz - 240x320 display

I made two demos to see on YouTube:

dsp3D - A power 3D rendering engine with hardware acceleration

dsp3D - A power 3D rendering engine with hardware acceleration (multi demo)

About

Powerful 3D rendering engine for ARM Cortex-M

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published