Transparent
This commit is contained in:
@@ -1,10 +1,5 @@
|
||||
#shader vertex
|
||||
#version 460 core
|
||||
// Have you ever seen Godot shader. The whole engine has ONE monolithic shader.
|
||||
// Also, how do you want me to split this in multiple shaders lmao.
|
||||
// Click upper right Round thing
|
||||
// DO CODE REVIEW yep
|
||||
// im following u daddy
|
||||
|
||||
|
||||
layout(location = 0) in vec3 VertexPosition;
|
||||
|
||||
@@ -332,6 +332,9 @@ void Scene::EditorDraw()
|
||||
for (auto e : quakeView) {
|
||||
auto [transform, model, parent] = quakeView.get<TransformComponent, BSPBrushComponent, ParentComponent>(e);
|
||||
|
||||
if (model.IsTransparent)
|
||||
continue;
|
||||
|
||||
Renderer::m_Shader->SetUniformMat4f("u_View", m_EditorCamera->GetTransform());
|
||||
Renderer::m_Shader->SetUniformMat4f("u_Projection", m_EditorCamera->GetPerspective());
|
||||
Renderer::m_Shader->SetUniformMat4f("u_Model", transform.GetTransform());
|
||||
@@ -367,6 +370,25 @@ void Scene::EditorDraw()
|
||||
t.Scale = (box.Radius * 2.f) * transform.Scale;
|
||||
Renderer::DrawSphere(t, glm::vec4(0.0f, 0.0f, 0.9f, 0.2f));
|
||||
}
|
||||
|
||||
Renderer::m_DebugShader->Bind();
|
||||
|
||||
auto quakeViewTransparent = m_Registry.view<TransformComponent, BSPBrushComponent, ParentComponent>();
|
||||
for (auto e : quakeViewTransparent)
|
||||
{
|
||||
auto [transform, model, parent] = quakeViewTransparent.get<TransformComponent, BSPBrushComponent, ParentComponent>(e);
|
||||
|
||||
if (!model.IsTransparent)
|
||||
continue;
|
||||
|
||||
Renderer::m_DebugShader->SetUniformMat4f("u_View", m_EditorCamera->GetTransform());
|
||||
Renderer::m_DebugShader->SetUniformMat4f("u_Projection", m_EditorCamera->GetPerspective());
|
||||
Renderer::m_DebugShader->SetUniformMat4f("u_Model", transform.GetTransform());
|
||||
Renderer::m_DebugShader->SetUniform4f("u_Color", 1.f, 0.0f, 0.1f, 0.5f);
|
||||
for (auto& e : model.Meshes) {
|
||||
e->Draw();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user