改量opengl ext,,,但考虑将这部分代码移到GLEWCore工程中去
This commit is contained in:
parent
ad03777a7a
commit
7ee3352524
@ -23,7 +23,9 @@ namespace hgl
|
||||
|
||||
protected:
|
||||
|
||||
friend BufferObject *CreateBuffer(GLenum type,GLenum user_pattern,BufferData *buf);
|
||||
friend BufferObject *CreateBufferObject(GLenum,GLenum,BufferData *buf);
|
||||
friend BufferObject *CreateBufferObject(const GLenum &,const GLenum &,const GLsizeiptr &);
|
||||
friend BufferObject *CreateBufferObject(const GLenum &,const GLenum &,const GLsizeiptr &,void *);
|
||||
|
||||
BufferObject(GLuint index,GLenum type);
|
||||
|
||||
|
@ -5,6 +5,14 @@
|
||||
|
||||
namespace hgl
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
namespace gl
|
||||
{
|
||||
void InitOpenGLExt();
|
||||
}
|
||||
}
|
||||
|
||||
RenderWindow *CreateRenderWindowGLFW(GLFWwindow *,bool is_fullscreen);
|
||||
|
||||
namespace
|
||||
@ -195,6 +203,7 @@ namespace hgl
|
||||
|
||||
glfwMakeContextCurrent(win);
|
||||
InitGLEWCore();
|
||||
graph::gl::InitOpenGLExt();
|
||||
|
||||
return(CreateRenderWindowGLFW(win,false));
|
||||
}
|
||||
@ -218,6 +227,7 @@ namespace hgl
|
||||
|
||||
glfwMakeContextCurrent(win);
|
||||
InitGLEWCore();
|
||||
graph::gl::InitOpenGLExt();
|
||||
|
||||
return(CreateRenderWindowGLFW(win,true));
|
||||
}
|
||||
|
@ -124,8 +124,8 @@ namespace hgl
|
||||
if(!buf_data)return(false);
|
||||
buffer_data=buf_data;
|
||||
|
||||
const void * data=buf_data->GetData();
|
||||
const GLsizeiptr size=buf_data->GetTotalBytes();
|
||||
void * data=buf_data->GetData();
|
||||
GLsizeiptr size=buf_data->GetTotalBytes();
|
||||
|
||||
if(!data||size<=0)return(false);
|
||||
|
||||
|
@ -5,9 +5,9 @@ SET(GRAPH_SRC_FILES OpenGLDebug.cpp
|
||||
Shader.cpp
|
||||
BufferData.cpp
|
||||
BufferObject.cpp
|
||||
VertexArray.cpp
|
||||
VertexBuffer.cpp
|
||||
VertexBufferObject.cpp
|
||||
# VertexArray.cpp
|
||||
# VertexBuffer.cpp
|
||||
# VertexBufferObject.cpp
|
||||
TextureFormat.cpp
|
||||
Texture1D.cpp
|
||||
Texture1DDSA.cpp
|
||||
|
@ -4,63 +4,14 @@ namespace hgl
|
||||
{
|
||||
namespace graph
|
||||
{
|
||||
namespace
|
||||
namespace gl
|
||||
{
|
||||
enum GLAPI_SUPPORT
|
||||
void InitBufferObjectAPI();
|
||||
|
||||
void InitOpenGLExt()
|
||||
{
|
||||
gasNoSupport=-1,
|
||||
gasNoCheck=0,
|
||||
gasSupport=1
|
||||
};
|
||||
|
||||
static GLAPI_SUPPORT support_dsa=gasNoCheck;
|
||||
}
|
||||
|
||||
bool IsSupportDSA()
|
||||
{
|
||||
if(support_dsa==gasSupport)return(true);
|
||||
|
||||
//texture api
|
||||
if(glCreateTextures
|
||||
&&glGenerateTextureMipmap
|
||||
&&glGetTextureLevelParameteriv
|
||||
&&glGetTextureParameteriv
|
||||
&&glGetCompressedTextureImage
|
||||
&&glGetTextureImage
|
||||
&&glBindTextureUnit
|
||||
&&glCompressedTextureSubImage1D
|
||||
&&glCompressedTextureSubImage2D
|
||||
&&glTextureSubImage1D
|
||||
&&glTextureSubImage2D
|
||||
|
||||
//sampler object
|
||||
&&glGenSamplers
|
||||
&&glBindSampler
|
||||
&&glSamplerParameteri
|
||||
&&glSamplerParameterfv
|
||||
|
||||
//vbo
|
||||
&&glCreateBuffers
|
||||
&&glNamedBufferData
|
||||
&&glNamedBufferSubData
|
||||
|
||||
//vao
|
||||
&&glCreateVertexArrays
|
||||
&&glDeleteVertexArrays
|
||||
&&glVertexArrayAttribBinding
|
||||
&&glVertexArrayAttribFormat
|
||||
&&glVertexArrayAttribIFormat
|
||||
&&glVertexArrayAttribLFormat
|
||||
&&glEnableVertexArrayAttrib
|
||||
&&glVertexArrayVertexBuffer
|
||||
)
|
||||
{
|
||||
support_dsa=gasSupport;
|
||||
return(true);
|
||||
InitBufferObjectAPI();
|
||||
}
|
||||
|
||||
support_dsa=gasNoSupport;
|
||||
return(false);
|
||||
}
|
||||
}//namespace gl
|
||||
}
|
||||
}//namespace hgl
|
||||
|
Loading…
x
Reference in New Issue
Block a user