summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rwxr-xr-xsrc/first_app.cpp14
-rwxr-xr-xsrc/first_app.hpp4
-rw-r--r--src/keyboard_movement_controller.cpp2
-rw-r--r--src/keyboard_movement_controller.hpp2
-rw-r--r--src/simple_renderer.cpp11
-rw-r--r--src/simple_renderer.hpp13
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;
};