summaryrefslogtreecommitdiff
path: root/src/simple_renderer.cpp
diff options
context:
space:
mode:
authortylermurphy534 <tylermurphy534@gmail.com>2022-09-20 22:02:58 -0400
committertylermurphy534 <tylermurphy534@gmail.com>2022-09-20 22:02:58 -0400
commit249f6c9fa384e9e3265cafb1357e502ea7db72f7 (patch)
tree0c80d9a375453e9178dd5d45807302b00f57bd59 /src/simple_renderer.cpp
parentdestroy pipline layout (diff)
downloadminecraftvulkan-249f6c9fa384e9e3265cafb1357e502ea7db72f7.tar.gz
minecraftvulkan-249f6c9fa384e9e3265cafb1357e502ea7db72f7.tar.bz2
minecraftvulkan-249f6c9fa384e9e3265cafb1357e502ea7db72f7.zip
texture loading
Diffstat (limited to 'src/simple_renderer.cpp')
-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);
}