​Chap 3/100: Application Frame Processing
What I will Learn here?
​Our Application ​Frame will interact with the Dx11 engine of last Chap. to generate the first image
Note:
We are generation 11130 FPS because we are doing nothing yet, except paint the screen with the blue color.
(main.h) - CHANGES
- Set for Chapter 3
​
(Applicationclass.*)​​​ - This is our first simple / almost empty version of the future main file.
​- The main functions are:
Initialize(DX11Class* m_DirectX11_): To create all needed objects
Shutdown(): To destroy all objects used
Frame(): Used to update the State of all objects, movements / input / animations, etc...
RenderGraphics() Will be used to render every single Frame
​Note we also have:
Initialize2D and Shutdown2D, this will allow us to resize our window and recreate all 2D objects for new size.
We also have here our first LIB:
Why using Libs? this will reduce the compilation time later on with a big project in a rebuild action.
​
(FPS_LIB/src) Our "bench mark" LIB will have:
​cpuClass.* : This will give us the feedback of CPU used in every frame.
​fpsClass.*: This will give us the feedback of the time used to render a frame and how many FPS we have
timerClass.* This is a tool to measure the time used in a function in microseconds (Note: not in milliseconds)
​
(system/SystemClass.*) - CHANGES​ Our System Class now support:
- Minimize
- Maximize
- Re-scale
- Also Initialize Dx 11 and our Application
- And call it every frame
​​​​​​​​SRC/main.h​​​​​​​
​​​​​​​​​​​SRC/main.cpp​​​​​​
​​SRC/Applicationclass.cpp
​SRC/system/SystemClass.cpp​
​​SRC/system/xml_loader.h​
​SRC/system/xml_loader.cpp​
​​​SRC/system/​dx11Class​.h​​
​SRC/system/dx11Class.cpp​
​
​FPS_LIB​/SRC/cpuClass.h​
FPS_LIB​/SRC/cpuClass.cpp​
FPS_LIB​/SRC/fpsClass.cpp​
FPS_LIB​/SRC/timerClass.h​
​
Project Code:
​
What's next? Great we have an empty image​, now what? Let's render our first 3D Object... hum...