-
Notifications
You must be signed in to change notification settings - Fork 5
Expand file tree
/
Copy pathmain.cpp
More file actions
68 lines (52 loc) · 1.69 KB
/
main.cpp
File metadata and controls
68 lines (52 loc) · 1.69 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
#include "Application.hpp"
#include "Page.hpp"
#define DISPLAY_WIDTH 1280
#define DISPLAY_HEIGHT 720
int main()
{
Application app;
app.init(DISPLAY_WIDTH,DISPLAY_HEIGHT);
Page* viewport_page = make_viewport_page(app);
Viewport* viewport = reinterpret_cast<Viewport*>(viewport_page);
Page* overlay_page = make_overlays_page(app);
Overlays* overlays = reinterpret_cast<Overlays*>(overlay_page);
Page* menus_page = make_menus_page(app);
Menus* menus = reinterpret_cast<Menus*>(menus_page);
bool done = false;
while (!done)
{
app.buffers.update();
SDL_Event event;
while (SDL_PollEvent(&event))
{
ImGui_ImplSDL2_ProcessEvent(&event);
if (event.type == SDL_QUIT){
done = true;
}
else if (event.type == SDL_WINDOWEVENT && event.window.event == SDL_WINDOWEVENT_CLOSE && event.window.windowID == SDL_GetWindowID(app.window)){
done = true;
}
}
// ---- start render ---- //
app.beginDraw();
// when new frame ready
if(app.buffers.new_frame())
{
FrameBuffer fb = app.buffers.getBuffer();
app.console->info(fb.framerate);
// execute shaders and run image processing on new frame here
// render the viewport shaders
viewport->process();
}
// show the viewport
viewport->show();
// show the overlays ( crosshairs, thirds, etc.. )
overlays->show();
// show the menus / controls
menus->show();
// ---- end render ----- //
app.endDraw();
}
app.cleanup();
return 0;
}