63 lines
1.4 KiB
C
63 lines
1.4 KiB
C
// StgShqrpGraphic.cpp : 定义 DLL 的导出函数。
|
|
//
|
|
|
|
|
|
#include "GLenv/include/glad/glad.h"
|
|
#include "GLenv/include/GLFW/glfw3.h"
|
|
#include "framework.h"
|
|
#include "StgSharpGraphic.h"
|
|
#include "SSGinternal.h"
|
|
|
|
glIOpackage pack;
|
|
|
|
STGSHARPGRAPHIC_API glIOpackage loadGLApi(void)
|
|
{
|
|
|
|
pack.createWindow = glfwCreateWindow;
|
|
pack.makeContextCurrent = glfwMakeContextCurrent;
|
|
pack.swapInterval = glfwSwapInterval;
|
|
pack.clearColor = glClearColor;
|
|
pack.windowShouldClose = glfwWindowShouldClose;
|
|
pack.swapBuffer = glfwSwapBuffers;
|
|
|
|
//these are for callback
|
|
pack.SetFramebufferSizeCallback = glfwSetFramebufferSizeCallback;
|
|
|
|
glfwCreateWindow(800,600,"Stg#!", NULL,NULL);
|
|
|
|
|
|
return pack;
|
|
}
|
|
|
|
STGSHARPGRAPHIC_API void initGL(void)
|
|
{
|
|
glfwInit();
|
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
|
|
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
|
|
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
|
|
|
|
#ifdef __APPLE__
|
|
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, GL_TRUE);
|
|
#endif // __APPLE__
|
|
}
|
|
|
|
|
|
STGSHARPGRAPHIC_API int initGLAD(void)
|
|
{
|
|
return gladLoadGLLoader((GLADloadproc)glfwGetProcAddress);
|
|
|
|
}
|
|
|
|
GLFWwindow* (*createWindow)(
|
|
int width,
|
|
int height,
|
|
const char* title,
|
|
GLFWmonitor* monitor,
|
|
GLFWwindow* share);
|
|
|
|
|
|
STGSHARPGRAPHIC_API void* getPtr(void)
|
|
{
|
|
createWindow = glfwCreateWindow;
|
|
return createWindow;
|
|
} |