Thursday, June 29, 2023

Month 4-Week 1 of Gateware: The Beginning of the End

    We are in the final stretch now, and it's all coming to an end. The showcase project for the presentation was completed in time for the presentation on Monday, though there still is a bit of a problem with it, and it definitely leaves more to be desired. We also began looking into setting up the automatic build process so the Windows runners and build and run the UWP implementation. At first, this really seemed to be a huge issue, and we were kind of at a standstill for a bit, but I believe we've made a bit of a breakthrough, and there should really only be one more hurdle to get over.

    For the showcase project, I ended up taking a DX11 texturing example that just had a spinning 2D plane, and I was able to turn it into a cube that you could spin around with either the keyboard or a controller. I was then able to add in some file I/O so that we could save the position of the cube when the application closes and then read it back when the application is opened. The last thing I added was that music now plays when the application opens. It may not be much, but the application does show off DX11 rendering, both controller and keyboard input, file I/O, audio, and it runs on Xbox.


    One of the lab instructors here also creating something to load in GLTF files which would be able to get us much more advanced 3D models and basic materials for the time being. We're hoping that it will also be able to give us more data in the future, like textures and normals. I want to try and implement this in the showcase project, but before I'm able to start working on that, I need to get this build process down. 

    Speaking of which, the build process in presenting a very interesting issue because, of course, UWP has to be that way. For all of the other platforms, we can simply just have the yml run the CMake the create the project, have CMake then build the project to create .exe files, and then we can just run the .exe files. But UWP can't be that simple because that would just be too easy. While this same process does make a .exe file for UWP, we can't actually use it since UWP just doesn't work that way. Instead, we have to do a couple extra steps to get it working. 

    It starts off the same by running the CMake file to create the project in the build folder and then having CMake build the project. But then, from here, we have to find a way to actually deploy the application so that it will create the AppX install folder. Once we have that install folder, we can then use it to create a .appx file, which can then be used to fully side-load the project so it can run separately from Visual Studio. I believe we currently have all of these steps figured out individually, except for the deployment step to actually get the AppX folder created. But once we have that figured out, we can begin to start fitting all the pieces together and get the Windows runner building and running UWP.

    As long as progress is able to keep moving like it has today and yesterday, I believe we can get this more or less wrapped up by the end of next week, and then I'll be able to go in-depth on how we're tackling every step of this build, install, and run process. But until then, we'll just have to keep our fingers crossed and hope that no more major roadblocks appear.

No comments:

Post a Comment