Fixed UI not rendering (partially)

This commit is contained in:
2023-05-31 09:30:21 -07:00
parent b6cbd982eb
commit e3d0070e95
24 changed files with 110 additions and 73 deletions

View File

@ -4,7 +4,6 @@
// https://opensource.org/licenses/MIT
#pragma once
#include "display/_RenderManager.hpp"
#include "display/BackBufferRenderTarget.hpp"
#include "display/shader/ShaderManager.hpp"
#include "display/shader/shaders/SimpleTexturedShader.hpp"

View File

@ -9,8 +9,6 @@
#include "display/Color.hpp"
#include "debug/debug.hpp"
#include "ShaderParameterBuffer.hpp"
typedef GLuint shaderparameter_t;
namespace Dawn {

View File

@ -2,13 +2,6 @@
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
// Copyright (c) 2023 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "display/shader/Shader.hpp"

View File

@ -4,8 +4,8 @@
// https://opensource.org/licenses/MIT
#pragma once
#include "display/shader/buffers/RenderPipelineShaderBuffer.hpp"
#include "display/shader/Shader.hpp"
#include "display/shader/buffers/RenderPipelineShaderBuffer.hpp"
namespace Dawn {
class SimpleTexturedShader : public Shader {

View File

@ -4,8 +4,8 @@
// https://opensource.org/licenses/MIT
#pragma once
#include "display/shader/buffers/RenderPipelineShaderBuffer.hpp"
#include "display/shader/Shader.hpp"
#include "display/shader/buffers/RenderPipelineShaderBuffer.hpp"
#define UI_SHADER_PROGRAM_PRIORITY 100

View File

@ -22,7 +22,7 @@ void SimpleBillboardedMaterial::onDispose() {
this->getGame()->renderManager.getShaderManager()->releaseShader<SimpleBillboardedShader>(this->shaderLock);
}
std::vector<struct ShaderPassItem> SimpleBillboardedMaterial::getRenderPasses() {
std::vector<struct ShaderPassItem> SimpleBillboardedMaterial::getRenderPasses(IRenderableContext &context) {
return {
};

View File

@ -26,6 +26,6 @@ namespace Dawn {
void onStart() override;
void onDispose() override;
std::vector<struct ShaderPassItem> getRenderPasses() override;
std::vector<struct ShaderPassItem> getRenderPasses(IRenderableContext &context) override;
};
}

View File

@ -21,27 +21,21 @@ void SimpleTexturedMaterial::onDispose() {
this->getGame()->renderManager.getShaderManager()->releaseShader<SimpleTexturedShader>(this->shaderLock);
}
std::vector<struct ShaderPassItem> SimpleTexturedMaterial::getRenderPasses() {
std::vector<struct ShaderPassItem> SimpleTexturedMaterial::getRenderPasses(IRenderableContext &context) {
auto mesh = this->item->getComponent<MeshRenderer>();
auto shader = this->getGame()->renderManager.getShaderManager()->getShader<SimpleTexturedShader>(this->shaderLock);
auto camera = this->getGame()->renderManager.getRenderPipeline()->camera;
assertNotNull(mesh);
assertNotNull(mesh->mesh);
assertNotNull(shader);
assertNotNull(camera);
struct ShaderPassItem onlyPass;
onlyPass.mesh = mesh->mesh;
onlyPass.shader = shader;
onlyPass.colorValues[shader->paramColor] = this->color;
onlyPass.matrixValues[shader->paramModel] = this->transform->getWorldTransform();
onlyPass.parameterBuffers[shader->bufferRenderPipeline] = &context.renderPipeline->shaderBuffer;
onlyPass.parameterBuffers[shader->bufferRenderPipeline] = &this->getGame()->renderManager.getRenderPipeline()->shaderBuffer;
// onlyPass.matrixValues[shader->paramView] = camera->transform->getWorldTransform();
// onlyPass.matrixValues[shader->paramProjection] = camera->getProjection();
onlyPass.renderFlags = (
RENDER_MANAGER_RENDER_FLAG_BLEND |
RENDER_MANAGER_RENDER_FLAG_DEPTH_TEST
@ -54,8 +48,6 @@ std::vector<struct ShaderPassItem> SimpleTexturedMaterial::getRenderPasses() {
} else {
onlyPass.boolValues[shader->paramHasTexture] = false;
}
std::vector<struct ShaderPassItem> passes;
passes.push_back(onlyPass);
return passes;
return { onlyPass };
}

View File

@ -27,6 +27,6 @@ namespace Dawn {
void onStart() override;
void onDispose() override;
std::vector<struct ShaderPassItem> getRenderPasses() override;
std::vector<struct ShaderPassItem> getRenderPasses(IRenderableContext &context) override;
};
}