diff options
Diffstat (limited to 'servers/visual_server.cpp')
-rw-r--r-- | servers/visual_server.cpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 2f53465d11..6c57275b3a 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -338,8 +338,6 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ PoolVector<uint8_t>::Write iw; if (r_index_array.size()) { - print_line("elements: " + itos(r_index_array.size())); - iw = r_index_array.write(); } @@ -465,7 +463,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ for (int i = 0; i < p_vertex_array_len; i++) { - uint8_t vector[4] = { + int8_t vector[4] = { CLAMP(src[i].x * 127, -128, 127), CLAMP(src[i].y * 127, -128, 127), CLAMP(src[i].z * 127, -128, 127), @@ -1233,11 +1231,12 @@ Array VisualServer::_get_array_from_surface(uint32_t p_format, PoolVector<uint8_ if (p_format & ARRAY_COMPRESS_NORMAL) { PoolVector<Vector3>::Write w = arr.write(); + const float multiplier = 1.f / 127.f; for (int j = 0; j < p_vertex_len; j++) { - const uint8_t *v = (const uint8_t *)&r[j * total_elem_size + offsets[i]]; - w[j] = Vector3(float(v[0] / 255.0) * 2.0 - 1.0, float(v[1] / 255.0) * 2.0 - 1.0, float(v[2] / 255.0) * 2.0 - 1.0); + const int8_t *v = (const int8_t *)&r[j * total_elem_size + offsets[i]]; + w[j] = Vector3(float(v[0]) * multiplier, float(v[1]) * multiplier, float(v[2]) * multiplier); } } else { PoolVector<Vector3>::Write w = arr.write(); @@ -1293,7 +1292,7 @@ Array VisualServer::_get_array_from_surface(uint32_t p_format, PoolVector<uint8_ for (int j = 0; j < p_vertex_len; j++) { const uint8_t *v = (const uint8_t *)&r[j * total_elem_size + offsets[i]]; - w[j] = Color(float(v[0] / 255.0) * 2.0 - 1.0, float(v[1] / 255.0) * 2.0 - 1.0, float(v[2] / 255.0) * 2.0 - 1.0, float(v[3] / 255.0) * 2.0 - 1.0); + w[j] = Color(float(v[0] / 255.0), float(v[1] / 255.0), float(v[2] / 255.0), float(v[3] / 255.0)); } } else { PoolVector<Color>::Write w = arr.write(); @@ -1566,6 +1565,10 @@ VisualServer::VisualServer() { //ERR_FAIL_COND(singleton); singleton = this; + GLOBAL_DEF("rendering/vram_formats/use_s3tc", true); + GLOBAL_DEF("rendering/vram_formats/use_etc", false); + GLOBAL_DEF("rendering/vram_formats/use_etc2", true); + GLOBAL_DEF("rendering/vram_formats/use_pvrtc", false); } VisualServer::~VisualServer() { |