diff --git a/Makefile b/Makefile index 5a1b80b..b9a0a50 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ OBJ_DIR := $(BIN) OBJGL_FLAGS := OBJGL_OBJ := $(OBJ_DIR)/OGL_Instance.o $(OBJ_DIR)/OGL_Window.o $(OBJ_DIR)/OGL_BaseState.o $(OBJ_DIR)/OGL_BindableBase.o $(OBJ_DIR)/OGL_BaseFunctions.o $(OBJ_DIR)/OGL_Shader.o $(OBJ_DIR)/OGL_VertexAttributes.o $(OBJ_DIR)/OGL_UniformBuffer.o $(OBJ_DIR)/OGL_ShaderStorageBuffer.o $(OBJ_DIR)/OGL_IndexBuffer.o $(OBJ_DIR)/OGL_Texture.o $(OBJ_DIR)/OGL_Framebuffer.o -OBJGL_FIL := $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_Instance.cpp $(OBGL_DIR)/OGL_Window.cpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_BaseFunctions.cpp $(OBGL_DIR)/OGL_Shader.cpp $(OBGL_DIR)/OGL_VertexAttributes.cpp $(OBGL_DIR)/OGL_UniformBuffer.cpp $(OBGL_DIR)/OGL_ShaderStorageBuffer.cpp $(OBGL_DIR)/OGL_IndexBuffer.cpp $(OBGL_DIR)/OGL_Texture.cpp $(OBGL_DIR)/OGL_Framebuffer.cpp +OBJGL_FIL := $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_Instance.cpp $(OBGL_DIR)/OGL_Window.cpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_BaseFunctions.cpp $(OBGL_DIR)/OGL_Shader.cpp $(OBGL_DIR)/OGL_VertexAttributes.cpp $(OBGL_DIR)/OGL_UniformBuffer.cpp $(OBGL_DIR)/OGL_ShaderStorageBuffer.cpp $(OBGL_DIR)/OGL_IndexBuffer.cpp $(OBGL_DIR)/OGL_Texture.cpp $(OBGL_DIR)/OGL_Framebuffer.cpp all: $(BIN)/$(EXECUTABLE) @@ -28,40 +28,40 @@ libObjectGL: $(OBJGL_OBJ) $(BIN)/libObjectGL: $(OBJGL_OBJ) -ar rcs $(BIN)/libObjectGL $(OBJGL_OBJ) -$(OBJ_DIR)/OGL_Instance.o: $(OBGL_DIR)/OGL_Instance.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_Window.cpp +$(OBJ_DIR)/OGL_Instance.o: $(OBGL_DIR)/OGL_Instance.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_Window.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_Window.o: $(OBGL_DIR)/OGL_Window.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_Instance.cpp +$(OBJ_DIR)/OGL_Window.o: $(OBGL_DIR)/OGL_Window.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_Instance.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_BaseFunctions.o: $(OBGL_DIR)/OGL_BaseFunctions.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_Window.cpp $(OBGL_DIR)/OGL_Instance.cpp +$(OBJ_DIR)/OGL_BaseFunctions.o: $(OBGL_DIR)/OGL_BaseFunctions.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/OGL_Window.cpp $(OBGL_DIR)/OGL_Instance.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_BindableBase.o: $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_BindableBase.o: $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_BaseState.o: $(OBGL_DIR)/OGL_BaseState.cpp $(OBGL_DIR)/ObjectGLGlobalState.hpp +$(OBJ_DIR)/OGL_BaseState.o: $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_Shader.o: $(OBGL_DIR)/OGL_Shader.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_Shader.o: $(OBGL_DIR)/OGL_Shader.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_VertexAttributes.o: $(OBGL_DIR)/OGL_VertexAttributes.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_VertexAttributes.o: $(OBGL_DIR)/OGL_VertexAttributes.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_UniformBuffer.o: $(OBGL_DIR)/OGL_UniformBuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_UniformBuffer.o: $(OBGL_DIR)/OGL_UniformBuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_ShaderStorageBuffer.o: $(OBGL_DIR)/OGL_ShaderStorageBuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_ShaderStorageBuffer.o: $(OBGL_DIR)/OGL_ShaderStorageBuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_IndexBuffer.o: $(OBGL_DIR)/OGL_IndexBuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_IndexBuffer.o: $(OBGL_DIR)/OGL_IndexBuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_Texture.o: $(OBGL_DIR)/OGL_Texture.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_Texture.o: $(OBGL_DIR)/OGL_Texture.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) -$(OBJ_DIR)/OGL_Framebuffer.o: $(OBGL_DIR)/OGL_Framebuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/ObjectGLGlobalState.hpp $(OBGL_DIR)/OGL_BaseState.cpp +$(OBJ_DIR)/OGL_Framebuffer.o: $(OBGL_DIR)/OGL_Framebuffer.cpp $(OBGL_DIR)/OGL_BindableBase.cpp $(OBGL_DIR)/ObjectGL.hpp $(OBGL_DIR)/OGL_BaseState.cpp $(CXX) -c $< -o $@ $(CXX_FLAGS) $(OBJGL_FLAGS) run: clean all diff --git a/src/ObjectGL/OGL_BaseState.cpp b/src/ObjectGL/OGL_BaseState.cpp index 8c7793b..9cf7bb7 100644 --- a/src/ObjectGL/OGL_BaseState.cpp +++ b/src/ObjectGL/OGL_BaseState.cpp @@ -9,8 +9,10 @@ * */ +//ask for access to the background library +#define OGL_KEEP_BG_ACCESS //include the global state -#include "ObjectGLGlobalState.hpp" +#include "ObjectGL.hpp" //say that an instance class will exist class OGL_Instance; diff --git a/src/ObjectGL/ObjectGL.hpp b/src/ObjectGL/ObjectGL.hpp index 176acae..a935352 100644 --- a/src/ObjectGL/ObjectGL.hpp +++ b/src/ObjectGL/ObjectGL.hpp @@ -27,8 +27,30 @@ //check if the file this is included into should get access to the background dependencys #ifdef OGL_KEEP_BG_ACCESS -//include the global state -#include "ObjectGLGlobalState.hpp" + +//stdlib +#include +#include +#include + +//say that an instance class will exist +class OGL_Instance; +//say that a window class will exist +class OGL_Window; + +/** + * @brief store a pointer to the current instance + */ +extern OGL_Instance* oglCurrentInstance; +/** + * @brief store a pointer to the current window + */ +extern OGL_Window* oglCurrentWindow; +/** + * @brief store a vector of pointers to the instances + */ +extern std::vector oglAllInstances; + #endif /** diff --git a/src/ObjectGL/ObjectGLGlobalState.hpp b/src/ObjectGL/ObjectGLGlobalState.hpp deleted file mode 100644 index 6add4c0..0000000 --- a/src/ObjectGL/ObjectGLGlobalState.hpp +++ /dev/null @@ -1,39 +0,0 @@ -/** - * @file ObjectGLGlobalState.hpp - * @author DM8AT - * @brief store the global state of the ObjectGL library - * @version 0.1 - * @date 2024-08-10 - * - * @copyright Copyright (c) 2024 - * - */ - -//header guard -#ifndef _OBJECT_GL_GLOBAL_STATE_H_ -#define _OBJECT_GL_GLOBAL_STATE_H_ - -//stdlib -#include -#include -#include - -//say that an instance class will exist -class OGL_Instance; -//say that a window class will exist -class OGL_Window; - -/** - * @brief store a pointer to the current instance - */ -extern OGL_Instance* oglCurrentInstance; -/** - * @brief store a pointer to the current window - */ -extern OGL_Window* oglCurrentWindow; -/** - * @brief store a vector of pointers to the instances - */ -extern std::vector oglAllInstances; - -#endif \ No newline at end of file