Externalized ImGUI compilation and fixed white screen issue
This commit is contained in:
		@ -19,11 +19,15 @@ 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()) {
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -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);
 | 
			
		||||
}
 | 
			
		||||
@ -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
									
								
							
							
						
						
									
										18
									
								
								ImGui/premake5.lua
									
									
									
									
									
										Normal 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"
 | 
			
		||||
  }
 | 
			
		||||
@ -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);
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user