summaryrefslogtreecommitdiff
path: root/src/first_app.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/first_app.hpp')
-rwxr-xr-xsrc/first_app.hpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/src/first_app.hpp b/src/first_app.hpp
new file mode 100755
index 0000000..bcdf33e
--- /dev/null
+++ b/src/first_app.hpp
@@ -0,0 +1,36 @@
+#pragma once
+
+#include "xe_renderer.hpp"
+#include "xe_window.hpp"
+#include "xe_device.hpp"
+#include "xe_game_object.hpp"
+#include "xe_descriptors.hpp"
+
+#include <memory>
+#include <vector>
+
+namespace xe {
+class FirstApp {
+ public:
+ static constexpr int WIDTH = 800;
+ static constexpr int HEIGHT = 600;
+
+ FirstApp();
+ ~FirstApp();
+
+ FirstApp(const FirstApp &) = delete;
+ FirstApp operator=(const FirstApp &) = delete;
+
+ void run();
+
+ private:
+ void loadGameObjects();
+
+ XeWindow xeWindow{WIDTH, HEIGHT, "Hello Vulkan!"};
+ XeDevice xeDevice{xeWindow};
+ XeRenderer xeRenderer{xeWindow, xeDevice};
+
+ std::unique_ptr<XeDescriptorPool> globalPool{};
+ std::vector<XeGameObject> gameObjects;
+};
+} \ No newline at end of file