f***ed up and needed to rework packages
This commit is contained in:
parent
b43ab1702f
commit
f7a87d7519
78 changed files with 3713 additions and 0 deletions
14
packages/graphics/glfw/config.c
Normal file
14
packages/graphics/glfw/config.c
Normal file
|
|
@ -0,0 +1,14 @@
|
|||
#ifdef ARC_GLFW_WINDOW
|
||||
|
||||
#include <stdio.h>
|
||||
#include "arc/std/config.h"
|
||||
#include "arc/std/string.h"
|
||||
#include "arc/std/errno.h"
|
||||
|
||||
#include "renderer.h"
|
||||
|
||||
|
||||
void ARC_GraphicsConfig_Init(ARC_Config *config, ARC_Renderer *renderer){
|
||||
}
|
||||
|
||||
#endif // ARC_OPENGL_GRAPHICS
|
||||
52
packages/graphics/glfw/renderer.c
Normal file
52
packages/graphics/glfw/renderer.c
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
#ifdef ARC_GLFW_WINDOW
|
||||
#include "arc/graphics/renderer.h"
|
||||
#include "renderer.h"
|
||||
|
||||
// #ifdef ARC_GLEW
|
||||
#define GLEW_STATIC
|
||||
#include <GL/glew.h>
|
||||
// #endif // ARC_GLEW
|
||||
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
#include "arc/graphics/window.h"
|
||||
#include "arc/std/errno.h"
|
||||
#include <stdlib.h>
|
||||
|
||||
void ARC_Renderer_CreateWithEngineData(ARC_Renderer **renderer, ARC_EngineData *data){
|
||||
if(!info){
|
||||
arc_errno = ARC_ERRNO_NULL;
|
||||
ARC_DEBUG_ERR("ARC_Renderer_Create(**renderer, NULL)");
|
||||
return;
|
||||
}
|
||||
|
||||
// #ifdef ARC_GLEW
|
||||
*renderer = (ARC_Renderer *)malloc(sizeof(ARC_Renderer));
|
||||
(*renderer)->window = (GLFWwindow *)data->window;
|
||||
|
||||
glewExperimental = GL_TRUE;
|
||||
if(glewInit() != GLEW_OK){
|
||||
ARC_DEBUG_ERR("ARC_Renderer_Create(**renderer, info), GLEW failed to init");
|
||||
glfwTerminate();
|
||||
arc_errno = ARC_ERRNO_INIT;
|
||||
}
|
||||
// #endif // ARC_GLEW
|
||||
|
||||
glClearColor(0.23f, 0.38f, 0.47f, 1.0f);
|
||||
}
|
||||
|
||||
void ARC_Renderer_Destroy(ARC_Renderer *renderer){
|
||||
free(renderer);
|
||||
}
|
||||
|
||||
void ARC_Renderer_Clear(ARC_Renderer *renderer){
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
}
|
||||
|
||||
void ARC_Renderer_Render(ARC_Renderer *renderer){
|
||||
// #ifdef ARC_GLEW
|
||||
glfwSwapBuffers(renderer->window);
|
||||
// #endif // ARC_GLEW
|
||||
}
|
||||
|
||||
#endif //ARC_SDL
|
||||
29
packages/graphics/glfw/renderer.h
Normal file
29
packages/graphics/glfw/renderer.h
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#ifndef ARC_OPENGL_RENDERER_H_
|
||||
#define ARC_OPENGL_RENDERER_H_
|
||||
|
||||
#ifdef ARC_GLFW_WINDOW
|
||||
|
||||
#define GLEW_STATIC
|
||||
#include <GL/glew.h>
|
||||
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
#include "arc/graphics/renderer.h"
|
||||
#include "arc/graphics/window.h"
|
||||
|
||||
typedef struct ARC_RendererType {
|
||||
GLFWwindow *window;
|
||||
} ARC_RendererType;
|
||||
|
||||
/**
|
||||
* @brief struct for info needed to create glfw renderer
|
||||
*
|
||||
* @note this is what needs to be passed into the data parameter for ARC_Renderer_Create
|
||||
*/
|
||||
//struct ARC_RenderInfo {
|
||||
// GLFWwindow *window;
|
||||
//};
|
||||
|
||||
#endif // !ARC_GLFW_WINDOW
|
||||
|
||||
#endif // !ARC_OPENGL_RENDERER_H_
|
||||
36
packages/graphics/glfw/window.c
Normal file
36
packages/graphics/glfw/window.c
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
#ifdef ARC_GLFW_WINDOW
|
||||
#include "arc/graphics/window.h"
|
||||
#include "window.h"
|
||||
|
||||
#include "arc/std/errno.h"
|
||||
#include <GLFW/glfw3.h>
|
||||
#include <stdio.h>
|
||||
|
||||
void framebufferSizeCallback(GLFWwindow *window, int width, int height){
|
||||
glViewport(0, 0, width, height);
|
||||
}
|
||||
|
||||
void ARC_Window_Create(ARC_Window **window, ARC_WindowInfo *info){
|
||||
glfwInit();
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
||||
glfwWindowHint(GLFW_FLOATING, GLFW_TRUE);
|
||||
|
||||
*window = (ARC_Window *) glfwCreateWindow(info->w, info->h, info->title, NULL, NULL);
|
||||
if(*window == NULL){
|
||||
printf("Failed to create GLFW window\n");
|
||||
glfwTerminate();
|
||||
arc_errno = ARC_ERRNO_NULL;
|
||||
}
|
||||
|
||||
glfwMakeContextCurrent((GLFWwindow *)*window);
|
||||
glViewport(0, 0, info->w, info->h);
|
||||
glfwSetFramebufferSizeCallback((GLFWwindow *)*window, framebufferSizeCallback);
|
||||
}
|
||||
|
||||
void ARC_Window_Destroy(ARC_Window *window){
|
||||
glfwTerminate();
|
||||
}
|
||||
|
||||
#endif //ARC_GLFW
|
||||
16
packages/graphics/glfw/window.h
Normal file
16
packages/graphics/glfw/window.h
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
#ifndef ARC_OPENGL_WINDOW_H_
|
||||
#define ARC_OPENGL_WINDOW_H_
|
||||
|
||||
#ifdef ARC_GLFW_WINDOW
|
||||
|
||||
#define GLEW_STATIC
|
||||
#include <GL/glew.h>
|
||||
|
||||
#include "arc/graphics/window.h"
|
||||
#include <GLFW/glfw3.h>
|
||||
|
||||
typedef GLFWwindow ARC_WindowType;
|
||||
|
||||
#endif // !ARC_GLFW_WINDOW
|
||||
|
||||
#endif // !ARC_GLFW_WINDOW_H_
|
||||
Loading…
Add table
Add a link
Reference in a new issue