summaryrefslogtreecommitdiff
path: root/src/simple_renderer.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/simple_renderer.cpp13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/simple_renderer.cpp b/src/simple_renderer.cpp
index b4c115a..548b77d 100644
--- a/src/simple_renderer.cpp
+++ b/src/simple_renderer.cpp
@@ -2,20 +2,23 @@
namespace app {
-SimpleRenderer::SimpleRenderer(xe::XeEngine &xeEngine)
- : xeRenderSystem{xeEngine, "res/shaders/simple_shader.vert.spv", "res/shaders/simple_shader.frag.spv", sizeof(PushConstant), sizeof(UniformBuffer)} {};
+SimpleRenderer::SimpleRenderer(xe::XeEngine &xeEngine, xe::XeImage *xeImage)
+ : xeRenderSystem{xeEngine, "res/shaders/simple_shader.vert.spv", "res/shaders/simple_shader.frag.spv", sizeof(PushConstant), sizeof(UniformBuffer), xeImage} {};
-void SimpleRenderer::render(std::vector<xe::XeGameObject> &gameObjects, xe::XeCamera &xeCamera) {
+void SimpleRenderer::render(std::vector<xe::XeGameObject> &gameObjects, xe::XeCamera &xeCamera, xe::XeImage *xeImage) {
+
+ xeRenderSystem.start();
UniformBuffer ubo{};
ubo.projectionView = xeCamera.getProjection() * xeCamera.getView();
- xeRenderSystem.loadUniformObject(&ubo, sizeof(ubo));
+ xeRenderSystem.loadUniformObject(&ubo);
+ xeRenderSystem.loadTexture(xeImage);
for(auto &obj : gameObjects) {
PushConstant pc{};
pc.modelMatrix = obj.transform.mat4();
pc.normalMatrix = obj.transform.normalMatrix();
- xeRenderSystem.loadPushConstant(&pc, sizeof(pc));
+ xeRenderSystem.loadPushConstant(&pc);
xeRenderSystem.render(obj);
}