Assignment 1 - Setup/Triangle
ZIP Link
Assignment1.zipWrite-Up
This assignment was labeled as "Setup the project, and have it draw a white triangle on a black background." This statement was true, but I bet you didn't notice the subtlety there. I didn't. The key words not recognize as significant were "Setup the project...". These three words took more work and effort than I had anticipated.
Confirming that you have outputs, command lines, correct values, property sheets ordered correctly, and then reviewing that you were correct in order took about 4 hours. This included reading and re-reading documentation. I learned quite a lot from this task.
I also had a technical issue, slightly unrelated to the assignment. I wasn't initially included on the email list and wasn't receiving the questions that others were having. This issue has now been fixed.
Technical Write-Up
After the initial set-up of all of the projects, we were to re-architect the graphics section of the code, which may require some re-architecture the code that generated windows. I realized after reviewing the graphics code that I had very little understanding of what was going on here.
I reviewed projects in the past that used a simple three-dimensional renderer, and how it was set up with respect to game code. The renderer existed inside of the engine that handled physics, collision, etc. I decided to separate the graphics and windows code into an alternate static library called 'Engine'. Once this was separated, I was able to freely call the static functions within graphics and windows.
For the future, I will be isolating the graphics section of the code further, because it currently relies on calling two functions within the graphics code, and if possible I don't want it to rely on it at all.
Realized Learning Moments
Having a .PDB and .ILK file is okay in your $(BinDir). I would have realized this sooner if the mailing list was available sooner. I have now learned that this can be removed from the build by altering the properties in Linker>Debugging>General>EnableIncremental>Linking>"No", and also the GenerateDebugInfo>"No". If you do remove the incremental linking, you can have warnings indicated through EDITANDCONTINUE, which is a build property allowing you to alter code while debugging, and still have it run. I may be removing this later in the semester.
Using DirectX can also be a hassle. If I didn't include the D3DX9.lib, it wouldn't recognize the d3dx9shader.h, while I thought it would have access by including only the D3D9.lib.
Finally, using Git caused one issue near the end of this assignment. That issue was having it not recognize the SSH Public Key. I am new to Git, and finding the Public Key, as well as the SHA key caused some some time-issues.
Time Used
Reading: 4 hours
Write-Up: 1 hour
Technical Write-Up: 1 hour
Coding: 1 hour
No comments:
Post a Comment