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