Stap 16: Grafische Software in C++
De grafische software minimaal moet de volgende functies:
- Mesh (OBJ) importeren
- Dynamische verlichting Model met schaduwen
- Handleiding Per-Vertex posities
- Positionering van de camera (oog)
- Object positionering
- Mogelijkheid om opslaan/laden Camera positie, obj positie en obj hoekpunt instellingen
- Zijn Python bibliotheek voor het gebruik van PyEphem voor zon/maan bijhouden.
- Haak lichte posities in zon en maan posities opgehaald uit het ephem script.
- Omvatten OSC Library voor de mogelijkheid om de interface met een controle-oppervlak.
Dit zijn de naakte functies die nodig zijn voor dit project te werken. Elke andere koele software doel die ik had in mijn concept kan later worden toegevoegd. Ik gecodeerd een oplossing die ondersteuning biedt voor al deze functies op mijn linux vork van Cinder die op de TK1 compileert.
De volledige broncode wordt gehost op mijn GitHub: https://github.com/quilime/hyperterra/
Voor de lichte renderer uiteindelijk heb ik met behulp van een uitgestelde rendering bibliotheek die meerdere lichten, scherm ruimte ambient occlusie en schaduwen ondersteunt.