|
@@ -332,7 +332,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun
|
|
|
#endif
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
|
|
- glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
|
|
//color
|
|
|
#ifdef DEBUG_ENABLED
|
|
@@ -350,7 +350,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun
|
|
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
|
|
- glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(Color) * p_vertex_count;
|
|
|
}
|
|
|
|
|
@@ -362,7 +362,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun
|
|
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
|
|
- glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
|
|
|
|
|
} else {
|
|
@@ -378,12 +378,12 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(int) * 4 * p_vertex_count, p_bones);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_BONES);
|
|
|
//glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, false, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs);
|
|
|
- glVertexAttribIPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribIPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, sizeof(int) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(int) * 4 * p_vertex_count;
|
|
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_WEIGHTS);
|
|
|
- glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, false, sizeof(float) * 4, ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, false, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(float) * 4 * p_vertex_count;
|
|
|
|
|
|
} else if (state.using_skeleton) {
|
|
@@ -423,7 +423,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count
|
|
|
//vertex
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
|
|
- glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
|
|
//color
|
|
|
|
|
@@ -438,7 +438,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count
|
|
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
|
|
- glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(Color) * p_vertex_count;
|
|
|
}
|
|
|
|
|
@@ -446,7 +446,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count
|
|
|
|
|
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
|
|
- glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
|
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
|
|
|
|
|
} else {
|
|
@@ -888,17 +888,17 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
|
|
|
|
|
int stride = (multi_mesh->xform_floats + multi_mesh->color_floats + multi_mesh->custom_data_floats) * 4;
|
|
|
glEnableVertexAttribArray(8);
|
|
|
- glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0);
|
|
|
+ glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(0));
|
|
|
glVertexAttribDivisor(8, 1);
|
|
|
glEnableVertexAttribArray(9);
|
|
|
- glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 4 * 4);
|
|
|
+ glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(4 * 4));
|
|
|
glVertexAttribDivisor(9, 1);
|
|
|
|
|
|
int color_ofs;
|
|
|
|
|
|
if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) {
|
|
|
glEnableVertexAttribArray(10);
|
|
|
- glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 8 * 4);
|
|
|
+ glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(8 * 4));
|
|
|
glVertexAttribDivisor(10, 1);
|
|
|
color_ofs = 12 * 4;
|
|
|
} else {
|
|
@@ -917,14 +917,14 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
|
|
} break;
|
|
|
case VS::MULTIMESH_COLOR_8BIT: {
|
|
|
glEnableVertexAttribArray(11);
|
|
|
- glVertexAttribPointer(11, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, ((uint8_t *)NULL) + color_ofs);
|
|
|
+ glVertexAttribPointer(11, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs));
|
|
|
glVertexAttribDivisor(11, 1);
|
|
|
custom_data_ofs += 4;
|
|
|
|
|
|
} break;
|
|
|
case VS::MULTIMESH_COLOR_FLOAT: {
|
|
|
glEnableVertexAttribArray(11);
|
|
|
- glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + color_ofs);
|
|
|
+ glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs));
|
|
|
glVertexAttribDivisor(11, 1);
|
|
|
custom_data_ofs += 4 * 4;
|
|
|
} break;
|
|
@@ -938,13 +938,13 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
|
|
} break;
|
|
|
case VS::MULTIMESH_CUSTOM_DATA_8BIT: {
|
|
|
glEnableVertexAttribArray(12);
|
|
|
- glVertexAttribPointer(12, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, ((uint8_t *)NULL) + custom_data_ofs);
|
|
|
+ glVertexAttribPointer(12, 4, GL_UNSIGNED_BYTE, GL_TRUE, stride, CAST_INT_TO_UCHAR_PTR(custom_data_ofs));
|
|
|
glVertexAttribDivisor(12, 1);
|
|
|
|
|
|
} break;
|
|
|
case VS::MULTIMESH_CUSTOM_DATA_FLOAT: {
|
|
|
glEnableVertexAttribArray(12);
|
|
|
- glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + custom_data_ofs);
|
|
|
+ glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(custom_data_ofs));
|
|
|
glVertexAttribDivisor(12, 1);
|
|
|
} break;
|
|
|
}
|
|
@@ -1019,19 +1019,19 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
|
|
if (particles->draw_order != VS::PARTICLES_DRAW_ORDER_LIFETIME) {
|
|
|
|
|
|
glEnableVertexAttribArray(8); //xform x
|
|
|
- glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 3);
|
|
|
+ glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 3));
|
|
|
glVertexAttribDivisor(8, 1);
|
|
|
glEnableVertexAttribArray(9); //xform y
|
|
|
- glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 4);
|
|
|
+ glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 4));
|
|
|
glVertexAttribDivisor(9, 1);
|
|
|
glEnableVertexAttribArray(10); //xform z
|
|
|
- glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 5);
|
|
|
+ glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 5));
|
|
|
glVertexAttribDivisor(10, 1);
|
|
|
glEnableVertexAttribArray(11); //color
|
|
|
- glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0);
|
|
|
+ glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, NULL);
|
|
|
glVertexAttribDivisor(11, 1);
|
|
|
glEnableVertexAttribArray(12); //custom
|
|
|
- glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 2);
|
|
|
+ glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 2));
|
|
|
glVertexAttribDivisor(12, 1);
|
|
|
|
|
|
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, amount);
|
|
@@ -1041,19 +1041,19 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
|
|
|
|
|
if (amount - split > 0) {
|
|
|
glEnableVertexAttribArray(8); //xform x
|
|
|
- glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 3);
|
|
|
+ glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 3));
|
|
|
glVertexAttribDivisor(8, 1);
|
|
|
glEnableVertexAttribArray(9); //xform y
|
|
|
- glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 4);
|
|
|
+ glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 4));
|
|
|
glVertexAttribDivisor(9, 1);
|
|
|
glEnableVertexAttribArray(10); //xform z
|
|
|
- glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 5);
|
|
|
+ glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 5));
|
|
|
glVertexAttribDivisor(10, 1);
|
|
|
glEnableVertexAttribArray(11); //color
|
|
|
- glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + 0);
|
|
|
+ glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + 0));
|
|
|
glVertexAttribDivisor(11, 1);
|
|
|
glEnableVertexAttribArray(12); //custom
|
|
|
- glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + stride * split + sizeof(float) * 4 * 2);
|
|
|
+ glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(stride * split + sizeof(float) * 4 * 2));
|
|
|
glVertexAttribDivisor(12, 1);
|
|
|
|
|
|
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, amount - split);
|
|
@@ -1061,19 +1061,19 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
|
|
|
|
|
if (split > 0) {
|
|
|
glEnableVertexAttribArray(8); //xform x
|
|
|
- glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 3);
|
|
|
+ glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 3));
|
|
|
glVertexAttribDivisor(8, 1);
|
|
|
glEnableVertexAttribArray(9); //xform y
|
|
|
- glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 4);
|
|
|
+ glVertexAttribPointer(9, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 4));
|
|
|
glVertexAttribDivisor(9, 1);
|
|
|
glEnableVertexAttribArray(10); //xform z
|
|
|
- glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 5);
|
|
|
+ glVertexAttribPointer(10, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 5));
|
|
|
glVertexAttribDivisor(10, 1);
|
|
|
glEnableVertexAttribArray(11); //color
|
|
|
- glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0);
|
|
|
+ glVertexAttribPointer(11, 4, GL_FLOAT, GL_FALSE, stride, NULL);
|
|
|
glVertexAttribDivisor(11, 1);
|
|
|
glEnableVertexAttribArray(12); //custom
|
|
|
- glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + sizeof(float) * 4 * 2);
|
|
|
+ glVertexAttribPointer(12, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(sizeof(float) * 4 * 2));
|
|
|
glVertexAttribDivisor(12, 1);
|
|
|
|
|
|
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, split);
|
|
@@ -2043,7 +2043,7 @@ void RasterizerCanvasGLES3::initialize() {
|
|
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
|
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
|
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
|
|
- glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, (float *)0 + 2);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(2));
|
|
|
glBindVertexArray(0);
|
|
|
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
|
|
}
|
|
@@ -2080,16 +2080,16 @@ void RasterizerCanvasGLES3::initialize() {
|
|
|
}
|
|
|
|
|
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
|
|
- glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride, NULL);
|
|
|
|
|
|
if (i & 1) {
|
|
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
|
|
- glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + color_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(color_ofs));
|
|
|
}
|
|
|
|
|
|
if (i & 2) {
|
|
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
|
|
- glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + uv_ofs);
|
|
|
+ glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(uv_ofs));
|
|
|
}
|
|
|
|
|
|
glBindVertexArray(0);
|