支持非CORE模式初始化
This commit is contained in:
parent
8abbf0117d
commit
52fb2eed7e
@ -1,6 +1,7 @@
|
||||
#include<hgl/render/RenderDevice.h>
|
||||
#include<hgl/render/RenderWindow.h>
|
||||
#include<iostream>
|
||||
#include<string.h>
|
||||
#include<GLFW/glfw3.h>
|
||||
#include<GL/glext.h>
|
||||
|
||||
@ -33,7 +34,7 @@ void output_ogl_info()
|
||||
std::cout<<" "<<i<<" : "<<glGetStringi(GL_EXTENSIONS,i)<<std::endl;
|
||||
}
|
||||
|
||||
int main(void)
|
||||
int main(int argc,char **argv)
|
||||
{
|
||||
RenderDevice *device=CreateRenderDeviceGLFW();
|
||||
|
||||
@ -55,6 +56,16 @@ int main(void)
|
||||
|
||||
RenderSetup rs;
|
||||
|
||||
if(argc>1)
|
||||
{
|
||||
if(stricmp(argv[1],"core")==0)
|
||||
rs.opengl.core=true;
|
||||
else
|
||||
rs.opengl.core=false;
|
||||
}
|
||||
else
|
||||
rs.opengl.core=false;
|
||||
|
||||
RenderWindow *win=device->CreateWindow(1280,720,&ws,&rs);
|
||||
|
||||
win->MakeToCurrent(); //切换当前窗口到前台
|
||||
|
@ -95,6 +95,7 @@ namespace hgl
|
||||
{
|
||||
bool debug=true;
|
||||
|
||||
bool core=true;
|
||||
bool es=false;
|
||||
bool egl=false;
|
||||
|
||||
|
@ -86,16 +86,23 @@ namespace hgl
|
||||
|
||||
if(gs->opengl.es)
|
||||
{
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, gs->opengl.major);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, gs->opengl.minor);
|
||||
}
|
||||
else
|
||||
else if(gs->opengl.core)
|
||||
{
|
||||
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE); //核心模式
|
||||
glfwWindowHint(GLFW_OPENGL_FORWARD_COMPAT, true); //向前兼容模式(无旧特性)
|
||||
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, gs->opengl.major);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, gs->opengl.minor);
|
||||
}
|
||||
else
|
||||
{
|
||||
//glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_COMPAT_PROFILE); //兼容模式
|
||||
}
|
||||
|
||||
glfwWindowHint(GLFW_OPENGL_DEBUG_CONTEXT, gs->opengl.debug); //调试模式
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, gs->opengl.major);
|
||||
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, gs->opengl.minor);
|
||||
|
||||
glfwWindowHint(GLFW_VISIBLE, true); //是否显示
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user