Enable warnings=extra on clang and GCC testers.
And remove 2 warnings from warnings=extra.
This commit is contained in:
parent
612a109b81
commit
e7f22ebdcd
14 changed files with 135 additions and 124 deletions
|
@ -27,7 +27,7 @@ matrix:
|
||||||
packages:
|
packages:
|
||||||
- clang-format-6.0
|
- clang-format-6.0
|
||||||
|
|
||||||
- env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no werror=yes"
|
- env: PLATFORM=x11 TOOLS=yes TARGET=debug CACHE_NAME=${PLATFORM}-tools-mono-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="module_mono_enabled=yes mono_glue=no warnings=extra werror=yes"
|
||||||
os: linux
|
os: linux
|
||||||
compiler: gcc-8
|
compiler: gcc-8
|
||||||
addons:
|
addons:
|
||||||
|
@ -49,7 +49,7 @@ matrix:
|
||||||
build_command: "scons p=x11 -j2 $OPTIONS"
|
build_command: "scons p=x11 -j2 $OPTIONS"
|
||||||
branch_pattern: coverity_scan
|
branch_pattern: coverity_scan
|
||||||
|
|
||||||
- env: PLATFORM=x11 TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="werror=yes"
|
- env: PLATFORM=x11 TOOLS=no TARGET=release CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes"
|
||||||
os: linux
|
os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
addons:
|
addons:
|
||||||
|
@ -57,7 +57,7 @@ matrix:
|
||||||
packages:
|
packages:
|
||||||
- *linux_deps
|
- *linux_deps
|
||||||
|
|
||||||
- env: PLATFORM=android TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="werror=yes"
|
- env: PLATFORM=android TOOLS=no TARGET=release_debug CACHE_NAME=${PLATFORM}-clang EXTRA_ARGS="warnings=extra werror=yes"
|
||||||
os: linux
|
os: linux
|
||||||
compiler: clang
|
compiler: clang
|
||||||
|
|
||||||
|
@ -69,7 +69,7 @@ matrix:
|
||||||
os: osx
|
os: osx
|
||||||
compiler: clang
|
compiler: clang
|
||||||
|
|
||||||
- env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="werror=yes"
|
- env: PLATFORM=server TOOLS=yes TARGET=release_debug CACHE_NAME=${PLATFORM}-tools-gcc-8 MATRIX_EVAL="CC=gcc-8 && CXX=g++-8" EXTRA_ARGS="warnings=extra werror=yes"
|
||||||
os: linux
|
os: linux
|
||||||
compiler: gcc-8
|
compiler: gcc-8
|
||||||
addons:
|
addons:
|
||||||
|
|
|
@ -347,7 +347,12 @@ if selected_platform in platform_list:
|
||||||
if version != None and version[0] >= '7':
|
if version != None and version[0] >= '7':
|
||||||
shadow_local_warning = ['-Wshadow-local']
|
shadow_local_warning = ['-Wshadow-local']
|
||||||
if (env["warnings"] == 'extra'):
|
if (env["warnings"] == 'extra'):
|
||||||
env.Append(CCFLAGS=['-Wall', '-Wextra'] + all_plus_warnings + shadow_local_warning)
|
# FIXME: enable -Wimplicit-fallthrough once #26135 is fixed
|
||||||
|
# FIXME: enable -Wclobbered once #26351 is fixed
|
||||||
|
env.Append(CCFLAGS=['-Wall', '-Wextra', '-Wno-implicit-fallthrough', '-Wno-unused-parameter'] + all_plus_warnings + shadow_local_warning)
|
||||||
|
if methods.use_gcc(env):
|
||||||
|
env['CCFLAGS'] += ['-Wno-clobbered']
|
||||||
|
|
||||||
elif (env["warnings"] == 'all'):
|
elif (env["warnings"] == 'all'):
|
||||||
env.Append(CCFLAGS=['-Wall'] + shadow_local_warning)
|
env.Append(CCFLAGS=['-Wall'] + shadow_local_warning)
|
||||||
elif (env["warnings"] == 'moderate'):
|
elif (env["warnings"] == 'moderate'):
|
||||||
|
|
|
@ -792,7 +792,7 @@ Dictionary _OS::get_datetime_from_unix_time(int64_t unix_time_val) const {
|
||||||
|
|
||||||
size_t imonth = 0;
|
size_t imonth = 0;
|
||||||
|
|
||||||
while (dayno >= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth]) {
|
while ((unsigned long)dayno >= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth]) {
|
||||||
dayno -= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth];
|
dayno -= MONTH_DAYS_TABLE[LEAPYEAR(year)][imonth];
|
||||||
imonth++;
|
imonth++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -272,7 +272,7 @@ int FileAccessPack::get_buffer(uint8_t *p_dst, int p_length) const {
|
||||||
if (eof)
|
if (eof)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
int64_t to_read = p_length;
|
uint64_t to_read = p_length;
|
||||||
if (to_read + pos > pf.size) {
|
if (to_read + pos > pf.size) {
|
||||||
eof = true;
|
eof = true;
|
||||||
to_read = int64_t(pf.size) - int64_t(pos);
|
to_read = int64_t(pf.size) - int64_t(pos);
|
||||||
|
|
|
@ -328,4 +328,10 @@ struct _GlobalLock {
|
||||||
#define _PRINTF_FORMAT_ATTRIBUTE_2_3
|
#define _PRINTF_FORMAT_ATTRIBUTE_2_3
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/** This is needed due to a strange OpenGL API that expects a pointer
|
||||||
|
* type for an argument that is actually an offset.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define CAST_INT_TO_UCHAR_PTR(ptr) ((uint8_t *)(uintptr_t)(ptr))
|
||||||
|
|
||||||
#endif // TYPEDEFS_H
|
#endif // TYPEDEFS_H
|
||||||
|
|
|
@ -288,14 +288,14 @@ void RasterizerCanvasGLES2::_draw_polygon(const int *p_indices, int p_index_coun
|
||||||
} else {
|
} else {
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
||||||
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), ((uint8_t *)0) + buffer_ofs);
|
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
||||||
buffer_ofs += sizeof(Color) * p_vertex_count;
|
buffer_ofs += sizeof(Color) * p_vertex_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_uvs) {
|
if (p_uvs) {
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
||||||
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glDisableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
|
@ -304,12 +304,12 @@ void RasterizerCanvasGLES2::_draw_polygon(const int *p_indices, int p_index_coun
|
||||||
if (p_weights && p_bones) {
|
if (p_weights && p_bones) {
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_WEIGHTS);
|
glEnableVertexAttribArray(VS::ARRAY_WEIGHTS);
|
||||||
glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4, ((uint8_t *)0) + buffer_ofs);
|
glVertexAttribPointer(VS::ARRAY_WEIGHTS, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
||||||
buffer_ofs += sizeof(float) * 4 * p_vertex_count;
|
buffer_ofs += sizeof(float) * 4 * p_vertex_count;
|
||||||
|
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(int) * 4 * p_vertex_count, p_bones);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(int) * 4 * p_vertex_count, p_bones);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_BONES);
|
glEnableVertexAttribArray(VS::ARRAY_BONES);
|
||||||
glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, GL_FALSE, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs);
|
glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, GL_FALSE, sizeof(int) * 4, CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
||||||
buffer_ofs += sizeof(int) * 4 * p_vertex_count;
|
buffer_ofs += sizeof(int) * 4 * p_vertex_count;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -342,7 +342,7 @@ void RasterizerCanvasGLES2::_draw_generic(GLuint p_primitive, int p_vertex_count
|
||||||
|
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(Vector2) * p_vertex_count, p_vertices);
|
glBufferSubData(GL_ARRAY_BUFFER, 0, sizeof(Vector2) * p_vertex_count, p_vertices);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), (uint8_t *)0);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), NULL);
|
||||||
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
||||||
|
|
||||||
if (p_singlecolor) {
|
if (p_singlecolor) {
|
||||||
|
@ -355,14 +355,14 @@ void RasterizerCanvasGLES2::_draw_generic(GLuint p_primitive, int p_vertex_count
|
||||||
} else {
|
} else {
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
||||||
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), ((uint8_t *)0) + buffer_ofs);
|
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
||||||
buffer_ofs += sizeof(Color) * p_vertex_count;
|
buffer_ofs += sizeof(Color) * p_vertex_count;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_uvs) {
|
if (p_uvs) {
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)0) + buffer_ofs);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buffer_ofs));
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glDisableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
}
|
}
|
||||||
|
@ -419,12 +419,12 @@ void RasterizerCanvasGLES2::_draw_gui_primitive(int p_points, const Vector2 *p_v
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), NULL);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), NULL);
|
||||||
|
|
||||||
if (p_colors) {
|
if (p_colors) {
|
||||||
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride * sizeof(float), (uint8_t *)0 + color_offset * sizeof(float));
|
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(color_offset * sizeof(float)));
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_uvs) {
|
if (p_uvs) {
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), (uint8_t *)0 + uv_offset * sizeof(float));
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, stride * sizeof(float), CAST_INT_TO_UCHAR_PTR(uv_offset * sizeof(float)));
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -840,7 +840,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
|
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), NULL);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), NULL);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), (uint8_t *)0 + (sizeof(float) * 2));
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, 4 * sizeof(float), CAST_INT_TO_UCHAR_PTR((sizeof(float) * 2)));
|
||||||
|
|
||||||
glDrawElements(GL_TRIANGLES, 18 * 3 - (np->draw_center ? 0 : 6), GL_UNSIGNED_BYTE, NULL);
|
glDrawElements(GL_TRIANGLES, 18 * 3 - (np->draw_center ? 0 : 6), GL_UNSIGNED_BYTE, NULL);
|
||||||
|
|
||||||
|
@ -932,7 +932,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
|
||||||
for (int k = 0; k < VS::ARRAY_MAX - 1; k++) {
|
for (int k = 0; k < VS::ARRAY_MAX - 1; k++) {
|
||||||
if (s->attribs[k].enabled) {
|
if (s->attribs[k].enabled) {
|
||||||
glEnableVertexAttribArray(k);
|
glEnableVertexAttribArray(k);
|
||||||
glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, (uint8_t *)0 + s->attribs[k].offset);
|
glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[k].offset));
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(k);
|
glDisableVertexAttribArray(k);
|
||||||
switch (k) {
|
switch (k) {
|
||||||
|
@ -1021,7 +1021,7 @@ void RasterizerCanvasGLES2::_canvas_item_render_commands(Item *p_item, Item *cur
|
||||||
for (int k = 0; k < VS::ARRAY_MAX - 1; k++) {
|
for (int k = 0; k < VS::ARRAY_MAX - 1; k++) {
|
||||||
if (s->attribs[k].enabled) {
|
if (s->attribs[k].enabled) {
|
||||||
glEnableVertexAttribArray(k);
|
glEnableVertexAttribArray(k);
|
||||||
glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, (uint8_t *)0 + s->attribs[k].offset);
|
glVertexAttribPointer(s->attribs[k].index, s->attribs[k].size, s->attribs[k].type, s->attribs[k].normalized, s->attribs[k].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[k].offset));
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(k);
|
glDisableVertexAttribArray(k);
|
||||||
switch (k) {
|
switch (k) {
|
||||||
|
|
|
@ -1358,7 +1358,7 @@ void RasterizerSceneGLES2::_setup_geometry(RenderList::Element *p_element, Raste
|
||||||
for (int i = 0; i < VS::ARRAY_MAX - 1; i++) {
|
for (int i = 0; i < VS::ARRAY_MAX - 1; i++) {
|
||||||
if (s->attribs[i].enabled) {
|
if (s->attribs[i].enabled) {
|
||||||
glEnableVertexAttribArray(i);
|
glEnableVertexAttribArray(i);
|
||||||
glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, (uint8_t *)0 + s->attribs[i].offset);
|
glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[i].offset));
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(i);
|
glDisableVertexAttribArray(i);
|
||||||
switch (i) {
|
switch (i) {
|
||||||
|
@ -1519,7 +1519,7 @@ void RasterizerSceneGLES2::_setup_geometry(RenderList::Element *p_element, Raste
|
||||||
for (int i = 0; i < VS::ARRAY_MAX - 1; i++) {
|
for (int i = 0; i < VS::ARRAY_MAX - 1; i++) {
|
||||||
if (s->attribs[i].enabled) {
|
if (s->attribs[i].enabled) {
|
||||||
glEnableVertexAttribArray(i);
|
glEnableVertexAttribArray(i);
|
||||||
glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, (uint8_t *)0 + s->attribs[i].offset);
|
glVertexAttribPointer(s->attribs[i].index, s->attribs[i].size, s->attribs[i].type, s->attribs[i].normalized, s->attribs[i].stride, CAST_INT_TO_UCHAR_PTR(s->attribs[i].offset));
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(i);
|
glDisableVertexAttribArray(i);
|
||||||
switch (i) {
|
switch (i) {
|
||||||
|
@ -1698,7 +1698,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
|
||||||
if (!c.normals.empty()) {
|
if (!c.normals.empty()) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_NORMAL);
|
glEnableVertexAttribArray(VS::ARRAY_NORMAL);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.normals.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.normals.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Vector3) * vertices;
|
buf_ofs += sizeof(Vector3) * vertices;
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_NORMAL);
|
glDisableVertexAttribArray(VS::ARRAY_NORMAL);
|
||||||
|
@ -1707,7 +1707,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
|
||||||
if (!c.tangents.empty()) {
|
if (!c.tangents.empty()) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TANGENT);
|
glEnableVertexAttribArray(VS::ARRAY_TANGENT);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Plane) * vertices, c.tangents.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Plane) * vertices, c.tangents.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, GL_FALSE, sizeof(Plane), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, GL_FALSE, sizeof(Plane), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Plane) * vertices;
|
buf_ofs += sizeof(Plane) * vertices;
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_TANGENT);
|
glDisableVertexAttribArray(VS::ARRAY_TANGENT);
|
||||||
|
@ -1716,7 +1716,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
|
||||||
if (!c.colors.empty()) {
|
if (!c.colors.empty()) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Color) * vertices, c.colors.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Color) * vertices, c.colors.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, GL_FALSE, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Color) * vertices;
|
buf_ofs += sizeof(Color) * vertices;
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_COLOR);
|
glDisableVertexAttribArray(VS::ARRAY_COLOR);
|
||||||
|
@ -1725,7 +1725,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
|
||||||
if (!c.uvs.empty()) {
|
if (!c.uvs.empty()) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Vector2) * vertices;
|
buf_ofs += sizeof(Vector2) * vertices;
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glDisableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
|
@ -1734,7 +1734,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
|
||||||
if (!c.uv2s.empty()) {
|
if (!c.uv2s.empty()) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV2);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV2);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uv2s.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uv2s.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, GL_FALSE, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Vector2) * vertices;
|
buf_ofs += sizeof(Vector2) * vertices;
|
||||||
} else {
|
} else {
|
||||||
glDisableVertexAttribArray(VS::ARRAY_TEX_UV2);
|
glDisableVertexAttribArray(VS::ARRAY_TEX_UV2);
|
||||||
|
@ -1742,7 +1742,7 @@ void RasterizerSceneGLES2::_render_geometry(RenderList::Element *p_element) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.vertices.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.vertices.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
|
|
||||||
glDrawArrays(gl_primitive[c.primitive], 0, c.vertices.size());
|
glDrawArrays(gl_primitive[c.primitive], 0, c.vertices.size());
|
||||||
}
|
}
|
||||||
|
@ -2598,7 +2598,7 @@ void RasterizerSceneGLES2::_draw_sky(RasterizerStorageGLES2::Sky *p_sky, const C
|
||||||
|
|
||||||
// bind sky vertex array....
|
// bind sky vertex array....
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, 0);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, 0);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, ((uint8_t *)NULL) + sizeof(Vector3));
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, CAST_INT_TO_UCHAR_PTR(sizeof(Vector3)));
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
|
|
||||||
|
|
|
@ -84,7 +84,7 @@ GLuint RasterizerStorageGLES2::system_fbo = 0;
|
||||||
void RasterizerStorageGLES2::bind_quad_array() const {
|
void RasterizerStorageGLES2::bind_quad_array() const {
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, resources.quadie);
|
glBindBuffer(GL_ARRAY_BUFFER, resources.quadie);
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, ((uint8_t *)NULL) + 8);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(8));
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
|
|
|
@ -332,7 +332,7 @@ void RasterizerCanvasGLES3::_draw_polygon(const int *p_indices, int p_index_coun
|
||||||
#endif
|
#endif
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
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;
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
||||||
//color
|
//color
|
||||||
#ifdef DEBUG_ENABLED
|
#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);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
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;
|
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);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
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;
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
||||||
|
|
||||||
} else {
|
} 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);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(int) * 4 * p_vertex_count, p_bones);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_BONES);
|
glEnableVertexAttribArray(VS::ARRAY_BONES);
|
||||||
//glVertexAttribPointer(VS::ARRAY_BONES, 4, GL_UNSIGNED_INT, false, sizeof(int) * 4, ((uint8_t *)0) + buffer_ofs);
|
//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;
|
buffer_ofs += sizeof(int) * 4 * p_vertex_count;
|
||||||
|
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(float) * 4 * p_vertex_count, p_weights);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_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;
|
buffer_ofs += sizeof(float) * 4 * p_vertex_count;
|
||||||
|
|
||||||
} else if (state.using_skeleton) {
|
} else if (state.using_skeleton) {
|
||||||
|
@ -423,7 +423,7 @@ void RasterizerCanvasGLES3::_draw_generic(GLuint p_primitive, int p_vertex_count
|
||||||
//vertex
|
//vertex
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_vertices);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
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;
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
||||||
//color
|
//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);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Color) * p_vertex_count, p_colors);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
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;
|
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);
|
glBufferSubData(GL_ARRAY_BUFFER, buffer_ofs, sizeof(Vector2) * p_vertex_count, p_uvs);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
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;
|
buffer_ofs += sizeof(Vector2) * p_vertex_count;
|
||||||
|
|
||||||
} else {
|
} 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;
|
int stride = (multi_mesh->xform_floats + multi_mesh->color_floats + multi_mesh->custom_data_floats) * 4;
|
||||||
glEnableVertexAttribArray(8);
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9);
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
|
|
||||||
int color_ofs;
|
int color_ofs;
|
||||||
|
|
||||||
if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) {
|
if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) {
|
||||||
glEnableVertexAttribArray(10);
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
color_ofs = 12 * 4;
|
color_ofs = 12 * 4;
|
||||||
} else {
|
} else {
|
||||||
|
@ -917,14 +917,14 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_COLOR_8BIT: {
|
case VS::MULTIMESH_COLOR_8BIT: {
|
||||||
glEnableVertexAttribArray(11);
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
custom_data_ofs += 4;
|
custom_data_ofs += 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_COLOR_FLOAT: {
|
case VS::MULTIMESH_COLOR_FLOAT: {
|
||||||
glEnableVertexAttribArray(11);
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
custom_data_ofs += 4 * 4;
|
custom_data_ofs += 4 * 4;
|
||||||
} break;
|
} break;
|
||||||
|
@ -938,13 +938,13 @@ void RasterizerCanvasGLES3::_canvas_item_render_commands(Item *p_item, Item *cur
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_CUSTOM_DATA_8BIT: {
|
case VS::MULTIMESH_CUSTOM_DATA_8BIT: {
|
||||||
glEnableVertexAttribArray(12);
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_CUSTOM_DATA_FLOAT: {
|
case VS::MULTIMESH_CUSTOM_DATA_FLOAT: {
|
||||||
glEnableVertexAttribArray(12);
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
} break;
|
} 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) {
|
if (particles->draw_order != VS::PARTICLES_DRAW_ORDER_LIFETIME) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(8); //xform x
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9); //xform y
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
glEnableVertexAttribArray(10); //xform z
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
glEnableVertexAttribArray(11); //color
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
glEnableVertexAttribArray(12); //custom
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
|
|
||||||
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, amount);
|
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) {
|
if (amount - split > 0) {
|
||||||
glEnableVertexAttribArray(8); //xform x
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9); //xform y
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
glEnableVertexAttribArray(10); //xform z
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
glEnableVertexAttribArray(11); //color
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
glEnableVertexAttribArray(12); //custom
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
|
|
||||||
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, amount - split);
|
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) {
|
if (split > 0) {
|
||||||
glEnableVertexAttribArray(8); //xform x
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9); //xform y
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
glEnableVertexAttribArray(10); //xform z
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
glEnableVertexAttribArray(11); //color
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
glEnableVertexAttribArray(12); //custom
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
|
|
||||||
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, split);
|
glDrawArraysInstanced(GL_TRIANGLE_FAN, 0, 4, split);
|
||||||
|
@ -2043,7 +2043,7 @@ void RasterizerCanvasGLES3::initialize() {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
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);
|
glBindVertexArray(0);
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
||||||
}
|
}
|
||||||
|
@ -2080,16 +2080,16 @@ void RasterizerCanvasGLES3::initialize() {
|
||||||
}
|
}
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
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) {
|
if (i & 1) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
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) {
|
if (i & 2) {
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
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);
|
glBindVertexArray(0);
|
||||||
|
|
|
@ -1376,17 +1376,17 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo
|
||||||
|
|
||||||
int stride = (multi_mesh->xform_floats + multi_mesh->color_floats + multi_mesh->custom_data_floats) * 4;
|
int stride = (multi_mesh->xform_floats + multi_mesh->color_floats + multi_mesh->custom_data_floats) * 4;
|
||||||
glEnableVertexAttribArray(8);
|
glEnableVertexAttribArray(8);
|
||||||
glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)NULL) + 0);
|
glVertexAttribPointer(8, 4, GL_FLOAT, GL_FALSE, stride, NULL);
|
||||||
glVertexAttribDivisor(8, 1);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9);
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
|
|
||||||
int color_ofs;
|
int color_ofs;
|
||||||
|
|
||||||
if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) {
|
if (multi_mesh->transform_format == VS::MULTIMESH_TRANSFORM_3D) {
|
||||||
glEnableVertexAttribArray(10);
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
color_ofs = 12 * 4;
|
color_ofs = 12 * 4;
|
||||||
} else {
|
} else {
|
||||||
|
@ -1405,14 +1405,14 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_COLOR_8BIT: {
|
case VS::MULTIMESH_COLOR_8BIT: {
|
||||||
glEnableVertexAttribArray(11);
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
custom_data_ofs += 4;
|
custom_data_ofs += 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_COLOR_FLOAT: {
|
case VS::MULTIMESH_COLOR_FLOAT: {
|
||||||
glEnableVertexAttribArray(11);
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
custom_data_ofs += 4 * 4;
|
custom_data_ofs += 4 * 4;
|
||||||
} break;
|
} break;
|
||||||
|
@ -1426,13 +1426,13 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_CUSTOM_DATA_8BIT: {
|
case VS::MULTIMESH_CUSTOM_DATA_8BIT: {
|
||||||
glEnableVertexAttribArray(12);
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::MULTIMESH_CUSTOM_DATA_FLOAT: {
|
case VS::MULTIMESH_CUSTOM_DATA_FLOAT: {
|
||||||
glEnableVertexAttribArray(12);
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
} break;
|
} break;
|
||||||
}
|
}
|
||||||
|
@ -1508,19 +1508,19 @@ void RasterizerSceneGLES3::_setup_geometry(RenderList::Element *e, const Transfo
|
||||||
if (particles->draw_order != VS::PARTICLES_DRAW_ORDER_LIFETIME) {
|
if (particles->draw_order != VS::PARTICLES_DRAW_ORDER_LIFETIME) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(8); //xform x
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9); //xform y
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
glEnableVertexAttribArray(10); //xform z
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
glEnableVertexAttribArray(11); //color
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
glEnableVertexAttribArray(12); //custom
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1659,7 +1659,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_NORMAL);
|
glEnableVertexAttribArray(VS::ARRAY_NORMAL);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.normals.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.normals.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, false, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_NORMAL, 3, GL_FLOAT, false, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Vector3) * vertices;
|
buf_ofs += sizeof(Vector3) * vertices;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1671,7 +1671,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TANGENT);
|
glEnableVertexAttribArray(VS::ARRAY_TANGENT);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Plane) * vertices, c.tangents.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Plane) * vertices, c.tangents.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, false, sizeof(Plane), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_TANGENT, 4, GL_FLOAT, false, sizeof(Plane), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Plane) * vertices;
|
buf_ofs += sizeof(Plane) * vertices;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1683,7 +1683,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
glEnableVertexAttribArray(VS::ARRAY_COLOR);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Color) * vertices, c.colors.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Color) * vertices, c.colors.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_COLOR, 4, GL_FLOAT, false, sizeof(Color), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Color) * vertices;
|
buf_ofs += sizeof(Color) * vertices;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1696,7 +1696,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Vector2) * vertices;
|
buf_ofs += sizeof(Vector2) * vertices;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1708,7 +1708,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV2);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV2);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs2.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector2) * vertices, c.uvs2.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, false, sizeof(Vector2), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV2, 2, GL_FLOAT, false, sizeof(Vector2), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
buf_ofs += sizeof(Vector2) * vertices;
|
buf_ofs += sizeof(Vector2) * vertices;
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
|
@ -1718,7 +1718,7 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.vertices.ptr());
|
glBufferSubData(GL_ARRAY_BUFFER, buf_ofs, sizeof(Vector3) * vertices, c.vertices.ptr());
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, false, sizeof(Vector3), ((uint8_t *)NULL) + buf_ofs);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, false, sizeof(Vector3), CAST_INT_TO_UCHAR_PTR(buf_ofs));
|
||||||
glDrawArrays(gl_primitive[c.primitive], 0, c.vertices.size());
|
glDrawArrays(gl_primitive[c.primitive], 0, c.vertices.size());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1747,19 +1747,19 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
if (amount - split > 0) {
|
if (amount - split > 0) {
|
||||||
glEnableVertexAttribArray(8); //xform x
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9); //xform y
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
glEnableVertexAttribArray(10); //xform z
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
glEnableVertexAttribArray(11); //color
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
glEnableVertexAttribArray(12); //custom
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
#ifdef DEBUG_ENABLED
|
#ifdef DEBUG_ENABLED
|
||||||
|
|
||||||
|
@ -1785,19 +1785,19 @@ void RasterizerSceneGLES3::_render_geometry(RenderList::Element *e) {
|
||||||
|
|
||||||
if (split > 0) {
|
if (split > 0) {
|
||||||
glEnableVertexAttribArray(8); //xform x
|
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);
|
glVertexAttribDivisor(8, 1);
|
||||||
glEnableVertexAttribArray(9); //xform y
|
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);
|
glVertexAttribDivisor(9, 1);
|
||||||
glEnableVertexAttribArray(10); //xform z
|
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);
|
glVertexAttribDivisor(10, 1);
|
||||||
glEnableVertexAttribArray(11); //color
|
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);
|
glVertexAttribDivisor(11, 1);
|
||||||
glEnableVertexAttribArray(12); //custom
|
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);
|
glVertexAttribDivisor(12, 1);
|
||||||
#ifdef DEBUG_ENABLED
|
#ifdef DEBUG_ENABLED
|
||||||
|
|
||||||
|
@ -4990,7 +4990,7 @@ void RasterizerSceneGLES3::initialize() {
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, state.sky_verts);
|
glBindBuffer(GL_ARRAY_BUFFER, state.sky_verts);
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, 0);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, 0);
|
||||||
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
glEnableVertexAttribArray(VS::ARRAY_VERTEX);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, ((uint8_t *)NULL) + sizeof(Vector3));
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 3, GL_FLOAT, GL_FALSE, sizeof(Vector3) * 2, CAST_INT_TO_UCHAR_PTR(sizeof(Vector3)));
|
||||||
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
glEnableVertexAttribArray(VS::ARRAY_TEX_UV);
|
||||||
glBindVertexArray(0);
|
glBindVertexArray(0);
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
||||||
|
|
|
@ -3466,9 +3466,9 @@ void RasterizerStorageGLES3::mesh_add_surface(RID p_mesh, uint32_t p_format, VS:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (attribs[i].integer) {
|
if (attribs[i].integer) {
|
||||||
glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset);
|
glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset));
|
||||||
} else {
|
} else {
|
||||||
glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset);
|
glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset));
|
||||||
}
|
}
|
||||||
glEnableVertexAttribArray(attribs[i].index);
|
glEnableVertexAttribArray(attribs[i].index);
|
||||||
}
|
}
|
||||||
|
@ -3571,9 +3571,9 @@ void RasterizerStorageGLES3::mesh_add_surface(RID p_mesh, uint32_t p_format, VS:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (attribs[i].integer) {
|
if (attribs[i].integer) {
|
||||||
glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset);
|
glVertexAttribIPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset));
|
||||||
} else {
|
} else {
|
||||||
glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, ((uint8_t *)0) + attribs[i].offset);
|
glVertexAttribPointer(attribs[i].index, attribs[i].size, attribs[i].type, attribs[i].normalized, attribs[i].stride, CAST_INT_TO_UCHAR_PTR(attribs[i].offset));
|
||||||
}
|
}
|
||||||
glEnableVertexAttribArray(attribs[i].index);
|
glEnableVertexAttribArray(attribs[i].index);
|
||||||
}
|
}
|
||||||
|
@ -3616,9 +3616,9 @@ void RasterizerStorageGLES3::mesh_add_surface(RID p_mesh, uint32_t p_format, VS:
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if (attribs[j].integer) {
|
if (attribs[j].integer) {
|
||||||
glVertexAttribIPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].stride, ((uint8_t *)0) + attribs[j].offset);
|
glVertexAttribIPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].stride, CAST_INT_TO_UCHAR_PTR(attribs[j].offset));
|
||||||
} else {
|
} else {
|
||||||
glVertexAttribPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].normalized, attribs[j].stride, ((uint8_t *)0) + attribs[j].offset);
|
glVertexAttribPointer(attribs[j].index, attribs[j].size, attribs[j].type, attribs[j].normalized, attribs[j].stride, CAST_INT_TO_UCHAR_PTR(attribs[j].offset));
|
||||||
}
|
}
|
||||||
glEnableVertexAttribArray(attribs[j].index);
|
glEnableVertexAttribArray(attribs[j].index);
|
||||||
}
|
}
|
||||||
|
@ -4149,44 +4149,44 @@ void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, const float *p
|
||||||
|
|
||||||
case VS::ARRAY_VERTEX: {
|
case VS::ARRAY_VERTEX: {
|
||||||
if (s->format & VS::ARRAY_FLAG_USE_2D_VERTICES) {
|
if (s->format & VS::ARRAY_FLAG_USE_2D_VERTICES) {
|
||||||
glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 2 * 4;
|
ofs += 2 * 4;
|
||||||
} else {
|
} else {
|
||||||
glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 3 * 4;
|
ofs += 3 * 4;
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_NORMAL: {
|
case VS::ARRAY_NORMAL: {
|
||||||
glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 3 * 4;
|
ofs += 3 * 4;
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_TANGENT: {
|
case VS::ARRAY_TANGENT: {
|
||||||
glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_COLOR: {
|
case VS::ARRAY_COLOR: {
|
||||||
glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_TEX_UV: {
|
case VS::ARRAY_TEX_UV: {
|
||||||
glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 2 * 4;
|
ofs += 2 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_TEX_UV2: {
|
case VS::ARRAY_TEX_UV2: {
|
||||||
glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 2 * 4;
|
ofs += 2 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_BONES: {
|
case VS::ARRAY_BONES: {
|
||||||
glVertexAttribIPointer(i + 8, 4, GL_UNSIGNED_INT, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribIPointer(i + 8, 4, GL_UNSIGNED_INT, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_WEIGHTS: {
|
case VS::ARRAY_WEIGHTS: {
|
||||||
glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i + 8, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
@ -4219,44 +4219,44 @@ void RasterizerStorageGLES3::mesh_render_blend_shapes(Surface *s, const float *p
|
||||||
|
|
||||||
case VS::ARRAY_VERTEX: {
|
case VS::ARRAY_VERTEX: {
|
||||||
if (s->format & VS::ARRAY_FLAG_USE_2D_VERTICES) {
|
if (s->format & VS::ARRAY_FLAG_USE_2D_VERTICES) {
|
||||||
glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 2 * 4;
|
ofs += 2 * 4;
|
||||||
} else {
|
} else {
|
||||||
glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 3 * 4;
|
ofs += 3 * 4;
|
||||||
}
|
}
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_NORMAL: {
|
case VS::ARRAY_NORMAL: {
|
||||||
glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 3, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 3 * 4;
|
ofs += 3 * 4;
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_TANGENT: {
|
case VS::ARRAY_TANGENT: {
|
||||||
glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_COLOR: {
|
case VS::ARRAY_COLOR: {
|
||||||
glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_TEX_UV: {
|
case VS::ARRAY_TEX_UV: {
|
||||||
glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 2 * 4;
|
ofs += 2 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_TEX_UV2: {
|
case VS::ARRAY_TEX_UV2: {
|
||||||
glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 2, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 2 * 4;
|
ofs += 2 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_BONES: {
|
case VS::ARRAY_BONES: {
|
||||||
glVertexAttribIPointer(i, 4, GL_UNSIGNED_INT, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribIPointer(i, 4, GL_UNSIGNED_INT, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
case VS::ARRAY_WEIGHTS: {
|
case VS::ARRAY_WEIGHTS: {
|
||||||
glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, ((uint8_t *)0) + ofs);
|
glVertexAttribPointer(i, 4, GL_FLOAT, GL_FALSE, stride, CAST_INT_TO_UCHAR_PTR(ofs));
|
||||||
ofs += 4 * 4;
|
ofs += 4 * 4;
|
||||||
|
|
||||||
} break;
|
} break;
|
||||||
|
@ -6080,7 +6080,7 @@ void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount)
|
||||||
|
|
||||||
for (int j = 0; j < 6; j++) {
|
for (int j = 0; j < 6; j++) {
|
||||||
glEnableVertexAttribArray(j);
|
glEnableVertexAttribArray(j);
|
||||||
glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, ((uint8_t *)0) + (j * 16));
|
glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, CAST_INT_TO_UCHAR_PTR((j * 16)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6094,7 +6094,7 @@ void RasterizerStorageGLES3::particles_set_amount(RID p_particles, int p_amount)
|
||||||
|
|
||||||
for (int j = 0; j < 6; j++) {
|
for (int j = 0; j < 6; j++) {
|
||||||
glEnableVertexAttribArray(j);
|
glEnableVertexAttribArray(j);
|
||||||
glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, ((uint8_t *)0) + (j * 16));
|
glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, CAST_INT_TO_UCHAR_PTR(j * 16));
|
||||||
}
|
}
|
||||||
particles->particle_valid_histories[i] = false;
|
particles->particle_valid_histories[i] = false;
|
||||||
}
|
}
|
||||||
|
@ -6172,7 +6172,7 @@ void RasterizerStorageGLES3::_particles_update_histories(Particles *particles) {
|
||||||
|
|
||||||
for (int j = 0; j < 6; j++) {
|
for (int j = 0; j < 6; j++) {
|
||||||
glEnableVertexAttribArray(j);
|
glEnableVertexAttribArray(j);
|
||||||
glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, ((uint8_t *)0) + (j * 16));
|
glVertexAttribPointer(j, 4, GL_FLOAT, GL_FALSE, sizeof(float) * 4 * 6, CAST_INT_TO_UCHAR_PTR(j * 16));
|
||||||
}
|
}
|
||||||
|
|
||||||
particles->particle_valid_histories[i] = false;
|
particles->particle_valid_histories[i] = false;
|
||||||
|
@ -7997,7 +7997,7 @@ void RasterizerStorageGLES3::initialize() {
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, resources.quadie);
|
glBindBuffer(GL_ARRAY_BUFFER, resources.quadie);
|
||||||
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
glVertexAttribPointer(VS::ARRAY_VERTEX, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, 0);
|
||||||
glEnableVertexAttribArray(0);
|
glEnableVertexAttribArray(0);
|
||||||
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, ((uint8_t *)NULL) + 8);
|
glVertexAttribPointer(VS::ARRAY_TEX_UV, 2, GL_FLOAT, GL_FALSE, sizeof(float) * 4, CAST_INT_TO_UCHAR_PTR(8));
|
||||||
glEnableVertexAttribArray(4);
|
glEnableVertexAttribArray(4);
|
||||||
glBindVertexArray(0);
|
glBindVertexArray(0);
|
||||||
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
glBindBuffer(GL_ARRAY_BUFFER, 0); //unbind
|
||||||
|
|
|
@ -59,7 +59,7 @@ public:
|
||||||
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
|
ERR_FAIL_V(ERR_OUT_OF_MEMORY);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
ERR_FAIL_COND_V(p_payload && _payload.space_left() < p_size, ERR_OUT_OF_MEMORY);
|
ERR_FAIL_COND_V(p_payload && (uint32_t)_payload.space_left() < p_size, ERR_OUT_OF_MEMORY);
|
||||||
ERR_FAIL_COND_V(p_info && _packets.space_left() < 1, ERR_OUT_OF_MEMORY);
|
ERR_FAIL_COND_V(p_info && _packets.space_left() < 1, ERR_OUT_OF_MEMORY);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ void AudioDriverOpenSL::_buffer_callback(
|
||||||
} else {
|
} else {
|
||||||
|
|
||||||
int32_t *src_buff = mixdown_buffer;
|
int32_t *src_buff = mixdown_buffer;
|
||||||
for (int i = 0; i < buffer_size * 2; i++) {
|
for (unsigned int i = 0; i < buffer_size * 2; i++) {
|
||||||
src_buff[i] = 0;
|
src_buff[i] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -66,7 +66,7 @@ void AudioDriverOpenSL::_buffer_callback(
|
||||||
int16_t *ptr = (int16_t *)buffers[last_free];
|
int16_t *ptr = (int16_t *)buffers[last_free];
|
||||||
last_free = (last_free + 1) % BUFFER_COUNT;
|
last_free = (last_free + 1) % BUFFER_COUNT;
|
||||||
|
|
||||||
for (int i = 0; i < buffer_size * 2; i++) {
|
for (unsigned int i = 0; i < buffer_size * 2; i++) {
|
||||||
|
|
||||||
ptr[i] = src_buff[i] >> 16;
|
ptr[i] = src_buff[i] >> 16;
|
||||||
}
|
}
|
||||||
|
|
|
@ -505,7 +505,7 @@ void AppxPackager::add_file(String p_file_name, const uint8_t *p_buffer, size_t
|
||||||
|
|
||||||
while (p_len - step > 0) {
|
while (p_len - step > 0) {
|
||||||
|
|
||||||
size_t block_size = (p_len - step) > BLOCK_SIZE ? BLOCK_SIZE : (p_len - step);
|
size_t block_size = (p_len - step) > BLOCK_SIZE ? (size_t)BLOCK_SIZE : (p_len - step);
|
||||||
|
|
||||||
for (uint32_t i = 0; i < block_size; i++) {
|
for (uint32_t i = 0; i < block_size; i++) {
|
||||||
strm_in.write[i] = p_buffer[step + i];
|
strm_in.write[i] = p_buffer[step + i];
|
||||||
|
|
Loading…
Reference in a new issue