diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/chunk.cpp | 5 | ||||
-rw-r--r-- | src/chunk.hpp | 6 | ||||
-rwxr-xr-x | src/first_app.cpp | 21 | ||||
-rw-r--r-- | src/simple_renderer.cpp | 7 | ||||
-rw-r--r-- | src/simple_renderer.hpp | 7 |
5 files changed, 10 insertions, 36 deletions
diff --git a/src/chunk.cpp b/src/chunk.cpp index 751b44e..9d646f8 100644 --- a/src/chunk.cpp +++ b/src/chunk.cpp @@ -29,7 +29,7 @@ std::shared_ptr<xe::Model> Chunk::getMesh() { delete chunkMesh.get(); xe::Model::Builder builder{}; builder.vertexData = vertexData; - builder.vertexSize = 44; + builder.vertexSize = 32; chunkMesh = std::make_shared<xe::Model>(xe::Engine::getInstance()->getDevice(), builder); } return chunkMesh; @@ -123,9 +123,6 @@ void Chunk::addVerticies(uint32_t side, uint32_t x, uint32_t y, uint32_t z) { vertexData.push_back(px[side * 6 + i][0] + x); vertexData.push_back(px[side * 6 + i][1] + y); vertexData.push_back(px[side * 6 + i][2] + z); - vertexData.push_back(1.f); - vertexData.push_back(1.f); - vertexData.push_back(1.f); vertexData.push_back(nm[side][0]); vertexData.push_back(nm[side][1]); vertexData.push_back(nm[side][2]); diff --git a/src/chunk.hpp b/src/chunk.hpp index 5a50983..2fe78f0 100644 --- a/src/chunk.hpp +++ b/src/chunk.hpp @@ -108,10 +108,10 @@ const float nm[6][3] = { const float uv[6][2] = { - {0.f,0.f}, - {1.f,0.f}, - {0.f,1.f}, + {1.f,1.f}, {0.f,1.f}, + {0.f,0.f}, + {0.f,0.f}, {1.f,0.f}, {1.f,1.f} }; diff --git a/src/first_app.cpp b/src/first_app.cpp index b4aa3d5..80ee78c 100755 --- a/src/first_app.cpp +++ b/src/first_app.cpp @@ -11,8 +11,7 @@ FirstApp::~FirstApp() {} void FirstApp::run() { - std::shared_ptr<xe::Image> image = xeEngine.loadImageFromFile("res/image/texture.png"); - std::shared_ptr<xe::Image> image2 = xeEngine.loadImageFromFile("res/image/scaly.png"); + std::shared_ptr<xe::Image> image = xeEngine.loadImageFromFile("res/image/dirt.jpg"); SimpleRenderer renderer{xeEngine, image.get()}; @@ -33,7 +32,7 @@ void FirstApp::run() { xeEngine.getCamera().setViewYXZ(viewerObject.transform.translation, viewerObject.transform.rotation); if(xeEngine.beginFrame()) { - renderer.render(gameObjects, xeEngine.getCamera(), image2.get()); + renderer.render(gameObjects, xeEngine.getCamera(), image.get()); xeEngine.endFrame(); } @@ -46,27 +45,13 @@ void FirstApp::run() { } void FirstApp::loadGameObjects() { - std::shared_ptr<xe::Model> xeModel = xeEngine.loadModelFromFile("res/models/stanford-dragon.obj"); - - 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::GameObject::createGameObject(); - dragon2.model = xeModel; - dragon2.transform.translation = {5.0f, .0f, -1.5f}; - dragon2.transform.rotation.y = glm::radians(90.f); - dragon2.transform.scale = {.35f, .35f, .35f}; - gameObjects.push_back(std::move(dragon2)); Chunk* chunk = Chunk::newChunk(0, 0, 123); chunk->createMesh(); auto chunkObject = xe::GameObject::createGameObject(); chunkObject.model = chunk->getMesh(); - chunkObject.transform.translation = {5.f, 5.f, 5.f}; + chunkObject.transform.translation = {0.f, 0.f, 0.f}; gameObjects.push_back(std::move(chunkObject)); } diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp index 89d33b8..3efa9b8 100644 --- a/src/simple_renderer.cpp +++ b/src/simple_renderer.cpp @@ -5,10 +5,9 @@ namespace app { 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) // position - .addVertexBinding(1, 3, 12) // color - .addVertexBinding(2, 3, 24) // normal - .addVertexBinding(3, 2, 36) // uvs - .setVertexSize(sizeof(Vertex)) + .addVertexBinding(1, 3, 12) // normal + .addVertexBinding(2, 2, 24) // uvs + .setVertexSize(32) .addPushConstant(sizeof(PushConstant)) .addUniformBinding(0, sizeof(UniformBuffer)) .addTextureBinding(1, xeImage) diff --git a/src/simple_renderer.hpp b/src/simple_renderer.hpp index 501bafe..7c08001 100644 --- a/src/simple_renderer.hpp +++ b/src/simple_renderer.hpp @@ -16,13 +16,6 @@ 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: |