Downloads:
Assignment04 64-Bit (DirectX)
Downloads:
Assignment04 64-Bit (DirectX)
This GIF demonstrates the three different visible demands of this assignment:
The background color is different from default (and is now also animating).
When I hold Spacebar, the buttom right triangle disappears.
When I hold Shift, the top right triangle changes its Effect to match that of the bottom left triangle.
You can do both at once.
My game code in MyGame, called within the implementation of SubmitDataToBeRendered.
My game code in MyGame, called within the implementation of SubmitDataToBeRendered.
We submit this data via the Application Submit thread, which signals to the Render call in Graphics when the data is fully populated. We do this because we need to ensure that we have all the data before we begin rendering, and the data must then be processed in a particular way.
We must ensure that, even if MyGame discards the data immediately after its Submit calls, the Engine still has all the information necessary to draw it. We swap pointers between "data being rendered" and "data being submitted" so that we minimize how much memory is required for rendering overall.
Currently (up to) 48 Bytes.
Currently up to 104 bytes.
My s_dataRequiredToRenderAFrame is 224 bytes - need two of these.
Since the question specified the Graphics project, and not memory in the Game project, I'll not count the data which currently only resides in MyGame.
The struct sFrame, and my custom sColor, do not contain any pointers.
My Effect class points to two cShaders, each requiring 16 bytes = 32 twice = 64.
Counting the stored vertex data:
Two index buffers twice is 6 * 2 * 2 = 24 bytes.
Two of this vertex buffer twice is 60 * 2 * 2 = 240 bytes. - (Would I benefit in a practical scenario from only passing one vertex buffer, from which every index buffer takes?)
240 + 24 + 64 + 224 = 552 bytes,
plus two sets of two meshes (4 * 48) and effects (4 * 104) stored engine-sideĀ = 1160 bytes to ensure that my data to render is always there.