Externalized ImGUI compilation and fixed white screen issue

Feature/BasicRenderer
Nigel Barink 2022-06-10 21:06:20 +02:00
parent 82e0f473fb
commit 7b9685c381
8 changed files with 53 additions and 24 deletions

View File

@ -19,10 +19,14 @@ int main(int argc, char* argv[]) {
GUIManager GUISystem = GUIManager(&MainWindow);
glEnable(GL_DEPTH_TEST);
// First call to setup game
Start();
// Runtime loop
while (!MainWindow.WindowShouldClose()) {

View File

@ -54,7 +54,7 @@ std::vector<BarinkEngine::Mesh> ModelImporter::Test() {
//spdlog::info("======= Assimp ======");
Assimp::Importer importer;
const aiScene* scene = importer.ReadFile("build/SandboxApplication/Debug/Cube.obj", aiProcess_Triangulate | aiProcess_FlipUVs);
const aiScene* scene = importer.ReadFile("build/SandboxApplication/Debug/Models/Cube.obj", aiProcess_Triangulate | aiProcess_FlipUVs);
aiNode* currentNode = scene->mRootNode;

View File

@ -30,7 +30,7 @@ Renderable::Renderable()
VAO.AttachAttribute(0, 3, sizeof(BarinkEngine::Vertex));
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(BarinkEngine::Vertex),(void*) offsetof(BarinkEngine::Vertex, vertices));
glVertexAttribPointer(1, 2, GL_FLOAT, GL_FALSE, sizeof(BarinkEngine::Vertex),(void* )offsetof(BarinkEngine::Vertex, vertices));
glEnableVertexAttribArray(1);
vertexBuffer.Unbind(false);

View File

@ -1,5 +1,5 @@
#include "Graphics/Shader.h"
#include "spdlog/spdlog.h"
Shader::Shader(const std::string vertexShaderPath, const std::string fragmentShaderPath)
{
char infoLog[512];
@ -15,7 +15,7 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha
glGetShaderiv(vertId, GL_COMPILE_STATUS, &succes);
if(!succes){
glGetShaderInfoLog(vertId, 512, NULL, infoLog);
//spdlog::error( "Vertex shader has compile error {}", infoLog);
spdlog::error( "Vertex shader has compile error {}", infoLog);
return;
}
@ -33,7 +33,7 @@ Shader::Shader(const std::string vertexShaderPath, const std::string fragmentSha
glGetShaderiv(fragId, GL_COMPILE_STATUS, &succes);
if(!succes){
glGetShaderInfoLog(fragId, 512, NULL, infoLog);
//spdlog::error("Fragment shader has compile error {}", infoLog);
spdlog::error("Fragment shader has compile error {}", infoLog);
return;
}
@ -63,7 +63,7 @@ char* Shader::readFile (const char* filePath){
file.open(filePath);
if(file.is_open() == false){
//spdlog::info("File not found.");
spdlog::info("File not found.");
return nullptr;
}

View File

@ -1,14 +1,11 @@
#version 440 core
out vec4 FragColor;
uniform vec3 Color;
in vec2 TexCoord;
uniform sampler2D Texture;
void main(){
FragColor = mix ( texture(Texture, TexCoord), vec4(Color, 1.0f));
FragColor = mix ( texture(Texture, TexCoord), vec4(Color, 1.0f), 0.5f);
}

View File

@ -13,29 +13,43 @@ project "BarinkEngine"
"../libs/physx/physx/include",
"../libs/steam-audio/include",
"../libs/assimp/include",
"../libs/glad/include",
"../libs/glfw/include",
-- "../libs/tinygltf",
"../libs/glew/include",
"../libs/glm",
"../libs/ImGui",
}
links {
-- This needs to fall under the filter as the names can differ on different platforms
"phonon",
"lua54",
"spdlog",
"assimp-vc143-mtd",
"glfw3",
"ImGUI_Opengl3",
}
libdirs {
"../libs/steam-audio/lib/windows-x64",
"../libs/lua",
"../libs/spdlog/build/Release",
"../libs/assimp/lib/Debug",
"../libs/glfw/build/src/Debug",
"../libs/ImGui"
}
files {
"../libs/ImGui/*.cpp",
"../libs/ImGui/backends/imgui_impl_glfw.cpp",
"../libs/ImGui/backends/imgui_impl_Opengl3.cpp",
"../libs/glad/src/glad.c",
"./*.cpp",
@ -45,6 +59,7 @@ project "BarinkEngine"
}
filter { "system:windows"}
prebuildcommands {
-- Copy shaders
@ -54,14 +69,7 @@ project "BarinkEngine"
"copy graphics\\shaders\\RenderSurfaceVert.shader ..\\build\\SandboxApplication\\Debug\\RenderSurface.vs"
}
links {
-- This needs to fall under the filter as the names can differ on different platforms
"phonon",
"lua54",
"spdlog",
"assimp-vc143-mtd",
"glfw3"
}
filter { "system:linux" }
prebuildcommands {
@ -71,3 +79,5 @@ project "BarinkEngine"
"cp graphics/shaders/RenderSurfaceFrag.shader ../build/SandboxApplication/Debug/RenderSurface.fs",
"cp graphics/shaders/RenderSurfaceVert.shader ../build/SandboxApplication/Debug/RenderSurface.vs"
}
include('../ImGui')

18
ImGui/premake5.lua Normal file
View File

@ -0,0 +1,18 @@
project "ImGUI_Opengl3"
kind "StaticLib"
includedirs {
"../libs/glfw/include",
"../libs/ImGui"
}
files {
"../libs/ImGui/*.cpp",
"../libs/ImGui/backends/imgui_impl_glfw.cpp",
"../libs/ImGui/backends/imgui_impl_Opengl3.cpp",
}
libdirs{
"../libs/ImGui",
"../libs/glad"
}

View File

@ -58,7 +58,7 @@ void Start() {
shader = new Shader(vertexShaderSource, fragmentShaderSource);
textureCube = new Texture("build/SandboxApplication/Debug/die.jpg");
textureCube = new Texture("build/SandboxApplication/Debug/Textures/wall.jpg");
matCube = new Material(*shader);
matCube->Color = glm::vec3(1.0, 0.0, 0.0);