Chapter 39. Complex shapes (with GitHub)

Next step is to replace these square models by something more actual. For example, by this:

I picked specifically this model for it's challengingly curved shapes. Just in case, this is 1935 Duesenberg SSJ Speedster, 1:64 scale model.

In order to implement that, we'll need to extend our ModelBuilder and ModelLoader functionality. Also we'll need more XML tags to address new features in model descriptors.

No new concepts here, no new classes. No even new shaders. All involved classes were discussed in previous chapters. However, functionality is extended a lot. Almost all modeler classes/files are involved. Explaining every little change will take forever. Therefore, here is a new Project repository on GitHub:

Just in case, a quick reminder how to download from GitHub:

  • Follow the link.
  • Click green button "Code".
  • Pick "Download ZIP".
  • When downloaded, go to your your Downloads folder and unpack file to your hard drive (usually C:).
  • Since all project's paths are relative, it is safe to rename created _wg39-main folder at your discretion (in my case - "CPP").

  • New model descriptors are in C:\CPP\a996car\dt\models\cars\999_1935_deusenberg_ssj_speedster
  • You can trace involved functionality in VS from xEngine/modeler/ModelLoader.h

  • x86 Windows solution is C:\CPP\a996car\p_windows\p_windows.sln
  • ARM64 Android solution - C:\CPP\a996car\p_android\p_android.sln

Build and run. Result:

Well, looks like we CAN compete with professional 3D artists 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *