From 75402569f455321e5fd078a57c35b2032a3bdbaf Mon Sep 17 00:00:00 2001 From: Andrei Karas Date: Sat, 14 Jun 2014 16:18:42 +0300 Subject: Add OpenGL function glVertexAttribIPointer. --- src/render/mgl.cpp | 1 + src/render/mgl.h | 1 + src/render/mgltypes.h | 2 ++ src/render/modernopenglgraphics.cpp | 4 ++++ 4 files changed, 8 insertions(+) (limited to 'src/render') diff --git a/src/render/mgl.cpp b/src/render/mgl.cpp index 58b60019c..63730fbad 100644 --- a/src/render/mgl.cpp +++ b/src/render/mgl.cpp @@ -94,6 +94,7 @@ defName(glVertexAttribFormat); defName(glBindVertexBuffers); defName(glIsBuffer); defName(glVertexAttribIFormat); +defName(glVertexAttribIPointer); #ifdef WIN32 defName(wglGetExtensionsString); diff --git a/src/render/mgl.h b/src/render/mgl.h index 85545c19d..53c6b714b 100644 --- a/src/render/mgl.h +++ b/src/render/mgl.h @@ -97,6 +97,7 @@ defNameE(glVertexAttribFormat); defNameE(glBindVertexBuffers); defNameE(glIsBuffer); defNameE(glVertexAttribIFormat); +defNameE(glVertexAttribIPointer); #ifdef WIN32 defNameE(wglGetExtensionsString); diff --git a/src/render/mgltypes.h b/src/render/mgltypes.h index df9c16eee..9deefd41f 100644 --- a/src/render/mgltypes.h +++ b/src/render/mgltypes.h @@ -142,6 +142,8 @@ typedef void (APIENTRY *glBindVertexBuffers_t) (GLuint first, GLsizei count, typedef GLboolean (APIENTRY *glIsBuffer_t) (GLuint buffer); typedef void (APIENTRY *glVertexAttribIFormat_t) (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRY *glVertexAttribIPointer_t) (GLuint index, GLint size, + GLenum type, GLsizei stride, const GLvoid * pointer); // callback typedef void (APIENTRY *GLDEBUGPROC_t) (GLenum source, GLenum type, GLuint id, diff --git a/src/render/modernopenglgraphics.cpp b/src/render/modernopenglgraphics.cpp index c0809012d..df14a026e 100644 --- a/src/render/modernopenglgraphics.cpp +++ b/src/render/modernopenglgraphics.cpp @@ -172,6 +172,7 @@ void ModernOpenGLGraphics::postInit() mglBindVertexBuffer(0, mVbo, 0, 4 * sizeof(GLint)); mglVertexAttribBinding(mPosAttrib, 0); +// mglVertexAttribIPointer(mPosAttrib, 4, GL_INT, 4 * sizeof(GLint), 0); mAttributesCached = mVbo; screenResized(); @@ -1203,6 +1204,7 @@ void ModernOpenGLGraphics::bindArrayBufferAndAttributes(const GLuint vbo) mAttributesCached = mVboCached; // logger->log("bind vertex buffer: %u", mVboCached); mglBindVertexBuffer(0, mVboCached, 0, 4 * sizeof(GLint)); +// mglVertexAttribIPointer(mPosAttrib, 4, GL_INT, 4 * sizeof(GLint), 0); // mglVertexAttribBinding(mPosAttrib, 0); } else if (mAttributesCached != mVboCached) @@ -1210,6 +1212,7 @@ void ModernOpenGLGraphics::bindArrayBufferAndAttributes(const GLuint vbo) mAttributesCached = mVboCached; // logger->log("bind vertex buffer: %u", mVboCached); mglBindVertexBuffer(0, mVboCached, 0, 4 * sizeof(GLint)); +// mglVertexAttribIPointer(mPosAttrib, 4, GL_INT, 4 * sizeof(GLint), 0); // mglVertexAttribBinding(mPosAttrib, 0); } } @@ -1220,6 +1223,7 @@ void ModernOpenGLGraphics::bindAttributes() { mAttributesCached = mVboCached; mglBindVertexBuffer(0, mVboCached, 0, 4 * sizeof(GLint)); +// mglVertexAttribIPointer(mPosAttrib, 4, GL_INT, 4 * sizeof(GLint), 0); // mglVertexAttribBinding(mPosAttrib, 0); } } -- cgit v1.2.3-70-g09d2