Compare commits
2 Commits
82e0f473fb
...
4df6cfba90
Author | SHA1 | Date | |
---|---|---|---|
4df6cfba90 | |||
7b9685c381 |
@ -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()) {
|
||||
|
@ -12,6 +12,13 @@ namespace BarinkEngine {
|
||||
void PollEvents();
|
||||
void attach(BarinkWindow* window);
|
||||
|
||||
|
||||
// GLFW Handlers
|
||||
static void KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods);
|
||||
static void CursorPositionCallback(GLFWwindow* window, double x, double y);
|
||||
static void CursorEnterCallback(GLFWwindow* window, int entered);
|
||||
static void MouseButtonCallback(GLFWwindow* window, int button, int action, int mods);
|
||||
static void ScrollCallback(GLFWwindow* window, double xoffset, double yoffset);
|
||||
private:
|
||||
std::vector<BarinkWindow*> windows;
|
||||
};
|
||||
|
@ -1,5 +1,7 @@
|
||||
#include "Input/InputManager.h"
|
||||
|
||||
#include "GLFW/glfw3.h"
|
||||
#include "spdlog/spdlog.h"
|
||||
#include <iostream>
|
||||
void BarinkEngine::InputManager::PollEvents()
|
||||
{
|
||||
for (std::vector<BarinkWindow*>::iterator it = windows.begin(); it != windows.end(); ++it) {
|
||||
@ -7,9 +9,61 @@ void BarinkEngine::InputManager::PollEvents()
|
||||
}
|
||||
}
|
||||
|
||||
void BarinkEngine::InputManager::KeyCallback(GLFWwindow* window, int key, int scancode, int action, int mods)
|
||||
{
|
||||
if (key == GLFW_KEY_A && action == GLFW_PRESS)
|
||||
{
|
||||
|
||||
std::cout << "'a' key was pressed" << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BarinkEngine::InputManager::CursorPositionCallback(GLFWwindow* window, double x, double y)
|
||||
{
|
||||
std::cout << "Cursor Position x: " << x << ", y: " << y << std::endl;
|
||||
}
|
||||
|
||||
void BarinkEngine::InputManager::CursorEnterCallback(GLFWwindow* window, int entered)
|
||||
{
|
||||
if (entered) {
|
||||
// Cursor entered the window's screen space
|
||||
std::cout << "Cursor entered!" << std::endl;
|
||||
}
|
||||
else {
|
||||
std::cout << "Cursor left!" << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void BarinkEngine::InputManager::MouseButtonCallback(GLFWwindow* window, int button, int action, int mods)
|
||||
{
|
||||
if (button == GLFW_MOUSE_BUTTON_RIGHT && action == GLFW_PRESS) {
|
||||
std::cout << "Right mouse button was pressed!" << std::endl;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void BarinkEngine::InputManager::ScrollCallback(GLFWwindow* window, double xoffset, double yoffset)
|
||||
{
|
||||
std::cout << "Scroll: x: " << xoffset << ", y: " << yoffset << std::endl;
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
void BarinkEngine::InputManager::attach(BarinkWindow* window)
|
||||
{
|
||||
|
||||
windows.push_back(window);
|
||||
|
||||
// Attach callbacks
|
||||
glfwSetKeyCallback(window->windowptr(), KeyCallback);
|
||||
glfwSetCursorPosCallback(window->windowptr(), CursorPositionCallback);
|
||||
glfwSetCursorEnterCallback(window->windowptr(), CursorEnterCallback);
|
||||
glfwSetMouseButtonCallback(window->windowptr(), MouseButtonCallback);
|
||||
glfwSetScrollCallback(window->windowptr(), ScrollCallback);
|
||||
|
||||
}
|
||||
|
||||
BarinkEngine::InputManager::InputManager()
|
||||
|
@ -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;
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user