diff options
Diffstat (limited to 'src')
-rwxr-xr-x | src/first_app.cpp | 14 | ||||
-rwxr-xr-x | src/first_app.hpp | 4 | ||||
-rw-r--r-- | src/keyboard_movement_controller.cpp | 2 | ||||
-rw-r--r-- | src/keyboard_movement_controller.hpp | 2 | ||||
-rw-r--r-- | src/simple_renderer.cpp | 11 | ||||
-rw-r--r-- | src/simple_renderer.hpp | 13 |
6 files changed, 29 insertions, 17 deletions
diff --git a/src/first_app.cpp b/src/first_app.cpp index 5d8fcf1..b09134b 100755 --- a/src/first_app.cpp +++ b/src/first_app.cpp @@ -10,16 +10,16 @@ FirstApp::~FirstApp() {} void FirstApp::run() { - std::shared_ptr<xe::XeImage> image = xeEngine.loadImage("res/image/texture.png"); - std::shared_ptr<xe::XeImage> image2 = xeEngine.loadImage("res/image/scaly.png"); + std::shared_ptr<xe::Image> image = xeEngine.loadImageFromFile("res/image/texture.png"); + std::shared_ptr<xe::Image> image2 = xeEngine.loadImageFromFile("res/image/scaly.png"); SimpleRenderer renderer{xeEngine, image.get()}; - xe::XeSound sound{"res/sound/when_the_world_ends.wav"}; + xe::Sound sound{"res/sound/when_the_world_ends.wav"}; sound.setLooping(true); sound.play(); - auto viewerObject = xe::XeGameObject::createGameObject(); + auto viewerObject = xe::GameObject::createGameObject(); viewerObject.transform.translation = {-7.f, 3.f, -7.f}; viewerObject.transform.rotation.y = glm::radians(45.f); KeyboardMovementController cameraController{}; @@ -43,15 +43,15 @@ void FirstApp::run() { } void FirstApp::loadGameObjects() { - std::shared_ptr<xe::XeModel> xeModel = xeEngine.loadModelFromFile("res/models/stanford-dragon.obj"); + std::shared_ptr<xe::Model> xeModel = xeEngine.loadModelFromFile("res/models/stanford-dragon.obj"); - auto dragon = xe::XeGameObject::createGameObject(); + auto dragon = xe::GameObject::createGameObject(); dragon.model = xeModel; dragon.transform.translation = {.0f, .0f, 2.5f}; dragon.transform.scale = {.5f, .5f, .5f}; gameObjects.push_back(std::move(dragon)); - auto dragon2 = xe::XeGameObject::createGameObject(); + auto dragon2 = xe::GameObject::createGameObject(); dragon2.model = xeModel; dragon2.transform.translation = {5.0f, .0f, -1.5f}; dragon2.transform.rotation.y = glm::radians(90.f); diff --git a/src/first_app.hpp b/src/first_app.hpp index a630d47..6fb63e1 100755 --- a/src/first_app.hpp +++ b/src/first_app.hpp @@ -33,8 +33,8 @@ class FirstApp { void loadGameObjects(); - xe::XeEngine xeEngine; + xe::Engine xeEngine; - std::vector<xe::XeGameObject> gameObjects; + std::vector<xe::GameObject> gameObjects; }; }
\ No newline at end of file diff --git a/src/keyboard_movement_controller.cpp b/src/keyboard_movement_controller.cpp index 1f1a0a7..c087ed8 100644 --- a/src/keyboard_movement_controller.cpp +++ b/src/keyboard_movement_controller.cpp @@ -2,7 +2,7 @@ namespace app { -void KeyboardMovementController::update(xe::XeInput &input, xe::XeGameObject& gameObject, float dt) { +void KeyboardMovementController::update(xe::Input &input, xe::GameObject& gameObject, float dt) { glm::vec3 rotate{0}; if(input.isKeyPressed(keys.lookRight)) rotate.y += 1.f; if(input.isKeyPressed(keys.lookLeft)) rotate.y -= 1.f; diff --git a/src/keyboard_movement_controller.hpp b/src/keyboard_movement_controller.hpp index a9ba031..e7fa04b 100644 --- a/src/keyboard_movement_controller.hpp +++ b/src/keyboard_movement_controller.hpp @@ -25,7 +25,7 @@ namespace app { int lookDown = KEY_DOWN; }; - void update(xe::XeInput &input, xe::XeGameObject& gameObject, float dt); + void update(xe::Input &input, xe::GameObject& gameObject, float dt); KeyMappings keys{}; float moveSpeed{3.f}; diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 5a57324..55b52df 100644 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -2,8 +2,13 @@ namespace app { -SimpleRenderer::SimpleRenderer(xe::XeEngine &xeEngine, xe::XeImage *xeImage) { - xeRenderSystem = xe::XeRenderSystem::Builder(xeEngine, "res/shaders/simple_shader.vert.spv", "res/shaders/simple_shader.frag.spv") +SimpleRenderer::SimpleRenderer(xe::Engine &xeEngine, xe::Image *xeImage) { + xeRenderSystem = xe::RenderSystem::Builder(xeEngine, "res/shaders/simple_shader.vert.spv", "res/shaders/simple_shader.frag.spv") + .addVertexBinding(0, 3, 0) + .addVertexBinding(1, 3, 12) + .addVertexBinding(2, 3, 24) + .addVertexBinding(3, 2, 36) + .setVertexSize(sizeof(Vertex)) .addPushConstant(sizeof(PushConstant)) .addUniformBinding(0, sizeof(UniformBuffer)) .addTextureBinding(1, xeImage) @@ -11,7 +16,7 @@ SimpleRenderer::SimpleRenderer(xe::XeEngine &xeEngine, xe::XeImage *xeImage) { .build(); } -void SimpleRenderer::render(std::vector<xe::XeGameObject> &gameObjects, xe::XeCamera &xeCamera, xe::XeImage *xeImage) { +void SimpleRenderer::render(std::vector<xe::GameObject> &gameObjects, xe::Camera &xeCamera, xe::Image *xeImage) { xeRenderSystem->loadTexture(1, xeImage); diff --git a/src/simple_renderer.hpp b/src/simple_renderer.hpp index 9dbfd1c..501bafe 100644 --- a/src/simple_renderer.hpp +++ b/src/simple_renderer.hpp @@ -16,21 +16,28 @@ struct PushConstant { alignas(16) glm::mat4 normalMatrix{1.f}; }; +struct Vertex { + glm::vec3 position; + glm::vec3 color; + glm::vec3 normal; + glm::vec2 uv; +}; + class SimpleRenderer { public: - SimpleRenderer(xe::XeEngine &xeEngine, xe::XeImage *xeImage); + SimpleRenderer(xe::Engine &xeEngine, xe::Image *xeImage); ~SimpleRenderer() {}; SimpleRenderer(const SimpleRenderer&) = delete; SimpleRenderer operator=(const SimpleRenderer&) = delete; - void render(std::vector<xe::XeGameObject> &gameObjects, xe::XeCamera &xeCamera, xe::XeImage *xeImage); + void render(std::vector<xe::GameObject> &gameObjects, xe::Camera &xeCamera, xe::Image *xeImage); private: - std::unique_ptr<xe::XeRenderSystem> xeRenderSystem; + std::unique_ptr<xe::RenderSystem> xeRenderSystem; }; |