summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/chunk.cpp5
-rw-r--r--src/chunk.hpp6
-rwxr-xr-xsrc/first_app.cpp21
-rw-r--r--src/simple_renderer.cpp7
-rw-r--r--src/simple_renderer.hpp7
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: