This is an old revision of the document!


3D Rendering Engine

Introducere

Proiectul va constitui un scanline rasterizer (tip de 3D Renderer) ce va randa o scena 3D simpla pe un ecran LCD.

Utilizatorul se va putea plimba prin aceasta scena folosind cele doua manete de joystick.

Scopul principal al proiectului este de a incorpora cat mai multe functionalitati ale unui 3D renderer in memoria de program de 32K al unui Arduino Uno, si randarea in timp real la un framerate acceptabil.

Descriere generală

Folosind manetele de joystick, utilizatorul se va putea plimba prin scena in directiile sus, jos, stanga, dreapta, inainte si inapoi (in raport cu directia de privire si de orientarea vectorului ce descrie directia verticala a camerei), si va putea privi in jur (schimbarea directiei de privire). Cadrele vor fi randate pe Ecranul LCD

Hardware Design

Lista de componente:

  • Ecran LCD 128×64 pixeli SG12864J4
  • 2 manete (knob-uri) de joystick
  • 1 placa dezvoltare Arduino Uno
  • Fire de legatura
  • Rezistente
  • 1 placa de prototipare (Breadboard)

Software Design

Poligoanele ce alcatuiesc scena vor fi tinute in memoria programului. Calculele vor fi efectuate folosind numere cu virgula fixa, intrucat placa Arduino Uno nu dispune de un (co)procesor matematic dedicat, iar utilizarea calculelor cu virgula mobila ar fi extrem de lenta, ceea ce nu este de dorit intr-un sistem real-time.

Rezultate Obţinute

Concluzii

Download

Jurnal

Bibliografie/Resurse

pm/prj2023/razvans/3d-engine.1683489668.txt.gz · Last modified: 2023/05/07 23:01 by traian.enache
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0