mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-09-12 06:08:30 +09:00
[Feat] (ShittilyDrawing): Implement more Drawing functions. Make uniform correct.
This commit is contained in:
@@ -584,7 +584,6 @@ namespace MG_GL::GL {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void SyncAllVAOsToGLES(VertexArrayState* vaState) {
|
void SyncAllVAOsToGLES(VertexArrayState* vaState) {
|
||||||
for (auto& [mgid, vao] : vaState->vaos_) {
|
for (auto& [mgid, vao] : vaState->vaos_) {
|
||||||
if (!vao.generated)
|
if (!vao.generated)
|
||||||
@@ -740,12 +739,7 @@ namespace MG_GL::GL {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SyncAllToGLES() {
|
||||||
void DrawArraysSHITTILY(GLenum mode, GLint first, GLsizei count) {
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void DrawElementsSHITTILY(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) {
|
|
||||||
CommonState* commonState = MG_State_T::commonState;
|
CommonState* commonState = MG_State_T::commonState;
|
||||||
TextureState* textureState = MG_State_T::textureState;
|
TextureState* textureState = MG_State_T::textureState;
|
||||||
BufferState* bufferState = MG_State_T::bufferState;
|
BufferState* bufferState = MG_State_T::bufferState;
|
||||||
@@ -929,23 +923,19 @@ namespace MG_GL::GL {
|
|||||||
|
|
||||||
switch (uniform.type) {
|
switch (uniform.type) {
|
||||||
case GL_FLOAT: {
|
case GL_FLOAT: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 1);
|
CallAndCheck(::GLES::glUniform1fv(location, uniform.count, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniform1fv(location, num, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_VEC2: {
|
case GL_FLOAT_VEC2: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 2);
|
CallAndCheck(::GLES::glUniform2fv(location, uniform.count, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniform2fv(location, num, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_VEC3: {
|
case GL_FLOAT_VEC3: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 3);
|
CallAndCheck(::GLES::glUniform3fv(location, uniform.count, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniform3fv(location, num, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_VEC4: {
|
case GL_FLOAT_VEC4: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 4);
|
CallAndCheck(::GLES::glUniform4fv(location, uniform.count, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniform4fv(location, num, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -957,93 +947,76 @@ namespace MG_GL::GL {
|
|||||||
case GL_SAMPLER_CUBE:
|
case GL_SAMPLER_CUBE:
|
||||||
case GL_SAMPLER_1D_SHADOW:
|
case GL_SAMPLER_1D_SHADOW:
|
||||||
case GL_SAMPLER_2D_SHADOW: {
|
case GL_SAMPLER_2D_SHADOW: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 1);
|
CallAndCheck(::GLES::glUniform1iv(location, uniform.count, uniform.intData.data());)
|
||||||
CallAndCheck(::GLES::glUniform1iv(location, num, uniform.intData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_INT_VEC2:
|
case GL_INT_VEC2:
|
||||||
case GL_BOOL_VEC2: {
|
case GL_BOOL_VEC2: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 2);
|
CallAndCheck(::GLES::glUniform2iv(location, uniform.count, uniform.intData.data());)
|
||||||
CallAndCheck(::GLES::glUniform2iv(location, num, uniform.intData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_INT_VEC3:
|
case GL_INT_VEC3:
|
||||||
case GL_BOOL_VEC3: {
|
case GL_BOOL_VEC3: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 3);
|
CallAndCheck(::GLES::glUniform3iv(location, uniform.count, uniform.intData.data());)
|
||||||
CallAndCheck(::GLES::glUniform3iv(location, num, uniform.intData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_INT_VEC4:
|
case GL_INT_VEC4:
|
||||||
case GL_BOOL_VEC4: {
|
case GL_BOOL_VEC4: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 4);
|
CallAndCheck(::GLES::glUniform4iv(location, uniform.count, uniform.intData.data());)
|
||||||
CallAndCheck(::GLES::glUniform4iv(location, num, uniform.intData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GL_UNSIGNED_INT: {
|
case GL_UNSIGNED_INT: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 1);
|
CallAndCheck(::GLES::glUniform1uiv(location, uniform.count, uniform.uintData.data());)
|
||||||
CallAndCheck(::GLES::glUniform1uiv(location, num, uniform.uintData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_UNSIGNED_INT_VEC2: {
|
case GL_UNSIGNED_INT_VEC2: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 2);
|
CallAndCheck(::GLES::glUniform2uiv(location, uniform.count, uniform.uintData.data());)
|
||||||
CallAndCheck(::GLES::glUniform2uiv(location, num, uniform.uintData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_UNSIGNED_INT_VEC3: {
|
case GL_UNSIGNED_INT_VEC3: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 3);
|
CallAndCheck(::GLES::glUniform3uiv(location, uniform.count, uniform.uintData.data());)
|
||||||
CallAndCheck(::GLES::glUniform3uiv(location, num, uniform.uintData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_UNSIGNED_INT_VEC4: {
|
case GL_UNSIGNED_INT_VEC4: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 4);
|
CallAndCheck(::GLES::glUniform4uiv(location, uniform.count, uniform.uintData.data());)
|
||||||
CallAndCheck(::GLES::glUniform4uiv(location, num, uniform.uintData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case GL_FLOAT_MAT2: {
|
case GL_FLOAT_MAT2: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 4);
|
CallAndCheck(::GLES::glUniformMatrix2fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix2fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT3: {
|
case GL_FLOAT_MAT3: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 9);
|
CallAndCheck(::GLES::glUniformMatrix3fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix3fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT4: {
|
case GL_FLOAT_MAT4: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 16);
|
CallAndCheck(::GLES::glUniformMatrix4fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix4fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT2x3: {
|
case GL_FLOAT_MAT2x3: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 6);
|
CallAndCheck(::GLES::glUniformMatrix2x3fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix2x3fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT2x4: {
|
case GL_FLOAT_MAT2x4: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 8);
|
CallAndCheck(::GLES::glUniformMatrix2x4fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix2x4fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT3x2: {
|
case GL_FLOAT_MAT3x2: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 6);
|
CallAndCheck(::GLES::glUniformMatrix3x2fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix3x2fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT3x4: {
|
case GL_FLOAT_MAT3x4: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 12);
|
CallAndCheck(::GLES::glUniformMatrix3x4fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix3x4fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT4x2: {
|
case GL_FLOAT_MAT4x2: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 8);
|
CallAndCheck(::GLES::glUniformMatrix4x2fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix4x2fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case GL_FLOAT_MAT4x3: {
|
case GL_FLOAT_MAT4x3: {
|
||||||
GLsizei num = static_cast<GLsizei>(uniform.count / 12);
|
CallAndCheck(::GLES::glUniformMatrix4x3fv(location, uniform.count, GL_FALSE, uniform.floatData.data());)
|
||||||
CallAndCheck(::GLES::glUniformMatrix4x3fv(location, num, GL_FALSE, uniform.floatData.data());)
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1053,6 +1026,18 @@ namespace MG_GL::GL {
|
|||||||
|
|
||||||
// Framebuffer
|
// Framebuffer
|
||||||
RealizeFBOState(GL_DRAW_FRAMEBUFFER);
|
RealizeFBOState(GL_DRAW_FRAMEBUFFER);
|
||||||
|
}
|
||||||
|
|
||||||
|
void DrawArraysSHITTILY(GLenum mode, GLint first, GLsizei count) {
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
void DrawElementsSHITTILY(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices) {
|
||||||
|
SyncAllToGLES();
|
||||||
|
|
||||||
|
VertexArrayState* vaState = MG_State_T::vertexArrayState;
|
||||||
|
GLuint curVaoId = vaState->currentVao_;
|
||||||
|
VertexArrayObject* curvao = &vaState->vaos_[curVaoId];
|
||||||
|
|
||||||
if (curvao->elementBuffer != 0 || indices != nullptr) {
|
if (curvao->elementBuffer != 0 || indices != nullptr) {
|
||||||
CallAndCheck(::GLES::glDrawElements(
|
CallAndCheck(::GLES::glDrawElements(
|
||||||
@@ -1064,6 +1049,24 @@ namespace MG_GL::GL {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DrawElementsBaseVertexSHITTILY(GLenum mode, GLsizei count, GLenum type, const GLvoid* indices, GLint basevertex) {
|
||||||
|
SyncAllToGLES();
|
||||||
|
|
||||||
|
VertexArrayState* vaState = MG_State_T::vertexArrayState;
|
||||||
|
GLuint curVaoId = vaState->currentVao_;
|
||||||
|
VertexArrayObject* curvao = &vaState->vaos_[curVaoId];
|
||||||
|
|
||||||
|
if (curvao->elementBuffer != 0 || indices != nullptr) {
|
||||||
|
CallAndCheck(::GLES::glDrawElementsBaseVertex(
|
||||||
|
mode,
|
||||||
|
count,
|
||||||
|
type,
|
||||||
|
indices,
|
||||||
|
basevertex
|
||||||
|
);)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void BlitFramebuffer(GLint srcX0,
|
void BlitFramebuffer(GLint srcX0,
|
||||||
GLint srcY0,
|
GLint srcY0,
|
||||||
GLint srcX1,
|
GLint srcX1,
|
||||||
@@ -1187,4 +1190,41 @@ namespace MG_GL::GL {
|
|||||||
void DrawArrays(GLenum mode, GLint first, GLsizei count) {
|
void DrawArrays(GLenum mode, GLint first, GLsizei count) {
|
||||||
DrawArraysSHITTILY(mode, first, count);
|
DrawArraysSHITTILY(mode, first, count);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex) {
|
||||||
|
DrawElementsBaseVertexSHITTILY(mode, count, type, indices, basevertex);
|
||||||
|
}
|
||||||
|
|
||||||
|
void MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid *const *indices, GLsizei drawcount) {
|
||||||
|
SyncAllToGLES();
|
||||||
|
|
||||||
|
VertexArrayState* vaState = MG_State_T::vertexArrayState;
|
||||||
|
GLuint curVaoId = vaState->currentVao_;
|
||||||
|
VertexArrayObject* curvao = &vaState->vaos_[curVaoId];
|
||||||
|
|
||||||
|
if (curvao->elementBuffer != 0 || indices != nullptr) {
|
||||||
|
for (GLsizei i = 0; i < drawcount; ++i) {
|
||||||
|
CallAndCheck(::GLES::glDrawElements(
|
||||||
|
mode,
|
||||||
|
count[i],
|
||||||
|
type,
|
||||||
|
indices[i]
|
||||||
|
);)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void MultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid *const *indices, GLsizei drawcount, const GLint *basevertex) {
|
||||||
|
SyncAllToGLES();
|
||||||
|
|
||||||
|
VertexArrayState* vaState = MG_State_T::vertexArrayState;
|
||||||
|
GLuint curVaoId = vaState->currentVao_;
|
||||||
|
VertexArrayObject* curvao = &vaState->vaos_[curVaoId];
|
||||||
|
|
||||||
|
if (curvao->elementBuffer != 0 || indices != nullptr) {
|
||||||
|
for (GLsizei i = 0; i < drawcount; ++i) {
|
||||||
|
CallAndCheck(::GLES::glDrawElementsBaseVertex(mode, count[i], type, indices[i], basevertex[i]);)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -8,6 +8,9 @@
|
|||||||
namespace MG_GL::GL {
|
namespace MG_GL::GL {
|
||||||
void DrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);
|
void DrawElements(GLenum mode, GLsizei count, GLenum type, const void *indices);
|
||||||
void DrawArrays(GLenum mode, GLint first, GLsizei count);
|
void DrawArrays(GLenum mode, GLint first, GLsizei count);
|
||||||
|
void DrawElementsBaseVertex(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLint basevertex);
|
||||||
|
void MultiDrawElements(GLenum mode, const GLsizei *count, GLenum type, const GLvoid *const *indices, GLsizei drawcount);
|
||||||
|
void MultiDrawElementsBaseVertex(GLenum mode, const GLsizei *count, GLenum type, const GLvoid *const *indices, GLsizei drawcount, const GLint *basevertex);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif //MOBILEGL_GL_DRAWING_H
|
#endif //MOBILEGL_GL_DRAWING_H
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ DECLARE_GL_FUNCTION_STUB_HEAD(void, BlendFunci, GLuint buf, GLenum src, GLenum d
|
|||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, BlendFuncSeparatei, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, BlendFuncSeparatei, buf,srcRGB,dstRGB,srcAlpha,dstAlpha)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, BlendFuncSeparatei, GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, BlendFuncSeparatei, buf,srcRGB,dstRGB,srcAlpha,dstAlpha)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, ColorMaski, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, ColorMaski, index,r,g,b,a)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, ColorMaski, GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, ColorMaski, index,r,g,b,a)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(GLboolean, IsEnabledi, GLenum target, GLuint index) DECLARE_GL_FUNCTION_STUB_END(GLboolean, IsEnabledi, target,index)
|
DECLARE_GL_FUNCTION_STUB_HEAD(GLboolean, IsEnabledi, GLenum target, GLuint index) DECLARE_GL_FUNCTION_STUB_END(GLboolean, IsEnabledi, target,index)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, DrawElementsBaseVertex, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, DrawElementsBaseVertex, mode,count,type,indices,basevertex)
|
DECLARE_GL_FUNCTION_HEAD(void, DrawElementsBaseVertex, GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex) DECLARE_GL_FUNCTION_END_NO_RETURN(void, DrawElementsBaseVertex, mode,count,type,indices,basevertex)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, DrawRangeElementsBaseVertex, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, DrawRangeElementsBaseVertex, mode,start,end,count,type,indices,basevertex)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, DrawRangeElementsBaseVertex, GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, DrawRangeElementsBaseVertex, mode,start,end,count,type,indices,basevertex)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, DrawElementsInstancedBaseVertex, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, DrawElementsInstancedBaseVertex, mode,count,type,indices,instancecount,basevertex)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, DrawElementsInstancedBaseVertex, GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, DrawElementsInstancedBaseVertex, mode,count,type,indices,instancecount,basevertex)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, FramebufferTexture, GLenum target, GLenum attachment, GLuint texture, GLint level) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, FramebufferTexture, target,attachment,texture,level)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, FramebufferTexture, GLenum target, GLenum attachment, GLuint texture, GLint level) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, FramebufferTexture, target,attachment,texture,level)
|
||||||
@@ -739,7 +739,7 @@ DECLARE_GL_FUNCTION_STUB_HEAD(void, LoadTransposeMatrixd,const GLdouble* m) DECL
|
|||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultTransposeMatrixf,const GLfloat* m) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultTransposeMatrixf,m)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultTransposeMatrixf,const GLfloat* m) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultTransposeMatrixf,m)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultTransposeMatrixd,const GLdouble* m) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultTransposeMatrixd,m)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultTransposeMatrixd,const GLdouble* m) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultTransposeMatrixd,m)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultiDrawArrays, GLenum mode, const GLint* first, const GLsizei* count, GLsizei drawcount) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultiDrawArrays,mode,first,count,drawcount)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultiDrawArrays, GLenum mode, const GLint* first, const GLsizei* count, GLsizei drawcount) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultiDrawArrays,mode,first,count,drawcount)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultiDrawElements, GLenum mode, const GLsizei* count, GLenum type, const void* const*indices, GLsizei drawcount) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultiDrawElements,mode,count,type,indices,drawcount)
|
DECLARE_GL_FUNCTION_HEAD(void, MultiDrawElements, GLenum mode, const GLsizei* count, GLenum type, const void* const*indices, GLsizei drawcount) DECLARE_GL_FUNCTION_END_NO_RETURN(void, MultiDrawElements,mode,count,type,indices,drawcount)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, PointParameterf, GLenum pname, GLfloat param) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PointParameterf,pname,param)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, PointParameterf, GLenum pname, GLfloat param) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PointParameterf,pname,param)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, PointParameterfv, GLenum pname, const GLfloat* params) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PointParameterfv,pname,params)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, PointParameterfv, GLenum pname, const GLfloat* params) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PointParameterfv,pname,params)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, PointParameteri, GLenum pname, GLint param) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PointParameteri,pname,param)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, PointParameteri, GLenum pname, GLint param) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PointParameteri,pname,param)
|
||||||
@@ -815,7 +815,7 @@ DECLARE_GL_FUNCTION_STUB_HEAD(void, VertexAttrib4uiv, GLuint index, const GLuint
|
|||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, VertexAttrib4usv, GLuint index, const GLushort* v) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, VertexAttrib4usv,index,v)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, VertexAttrib4usv, GLuint index, const GLushort* v) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, VertexAttrib4usv,index,v)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, PrimitiveRestartIndex, GLuint index) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PrimitiveRestartIndex,index)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, PrimitiveRestartIndex, GLuint index) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, PrimitiveRestartIndex,index)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, GetActiveUniformName, GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, GetActiveUniformName,program,uniformIndex,bufSize,length,uniformName)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, GetActiveUniformName, GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, GetActiveUniformName,program,uniformIndex,bufSize,length,uniformName)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, MultiDrawElementsBaseVertex, GLenum mode, const GLsizei* count, GLenum type, const void* const*indices, GLsizei drawcount, const GLint* basevertex) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, MultiDrawElementsBaseVertex,mode,count,type,indices,drawcount,basevertex)
|
DECLARE_GL_FUNCTION_HEAD(void, MultiDrawElementsBaseVertex, GLenum mode, const GLsizei* count, GLenum type, const void* const*indices, GLsizei drawcount, const GLint* basevertex) DECLARE_GL_FUNCTION_END_NO_RETURN(void, MultiDrawElementsBaseVertex,mode,count,type,indices,drawcount,basevertex)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, ProvokingVertex, GLenum mode) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, ProvokingVertex,mode)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, ProvokingVertex, GLenum mode) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, ProvokingVertex,mode)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, TexImage2DMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, TexImage2DMultisample,target,samples,internalformat,width,height,fixedsamplelocations)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, TexImage2DMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, TexImage2DMultisample,target,samples,internalformat,width,height,fixedsamplelocations)
|
||||||
DECLARE_GL_FUNCTION_STUB_HEAD(void, TexImage3DMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, TexImage3DMultisample,target,samples,internalformat,width,height,depth,fixedsamplelocations)
|
DECLARE_GL_FUNCTION_STUB_HEAD(void, TexImage3DMultisample, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations) DECLARE_GL_FUNCTION_STUB_END_NO_RETURN(void, TexImage3DMultisample,target,samples,internalformat,width,height,depth,fixedsamplelocations)
|
||||||
|
|||||||
Reference in New Issue
Block a user