diff options
Diffstat (limited to 'servers/visual_server.cpp')
| -rw-r--r-- | servers/visual_server.cpp | 55 |
1 files changed, 10 insertions, 45 deletions
diff --git a/servers/visual_server.cpp b/servers/visual_server.cpp index 65dd4d7661..777feffb06 100644 --- a/servers/visual_server.cpp +++ b/servers/visual_server.cpp @@ -3,7 +3,7 @@ /*************************************************************************/ /* This file is part of: */ /* GODOT ENGINE */ -/* http://www.godotengine.org */ +/* https://godotengine.org */ /*************************************************************************/ /* Copyright (c) 2007-2017 Juan Linietsky, Ariel Manzur. */ /* Copyright (c) 2014-2017 Godot Engine contributors (cf. AUTHORS.md) */ @@ -28,6 +28,7 @@ /* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ /*************************************************************************/ #include "visual_server.h" + #include "method_bind_ext.gen.inc" #include "project_settings.h" @@ -39,25 +40,6 @@ VisualServer *VisualServer::get_singleton() { return singleton; } -PoolVector<String> VisualServer::_shader_get_param_list(RID p_shader) const { - - //remove at some point - - PoolVector<String> pl; - -#if 0 - List<StringName> params; - shader_get_param_list(p_shader,¶ms); - - - for(List<StringName>::Element *E=params.front();E;E=E->next()) { - - pl.push_back(E->get()); - } -#endif - return pl; -} - VisualServer *VisualServer::create() { ERR_FAIL_COND_V(singleton, NULL); @@ -298,6 +280,9 @@ RID VisualServer::get_white_texture() { return white_texture; } +#define SMALL_VEC2 Vector2(0.00001, 0.00001) +#define SMALL_VEC3 Vector3(0.00001, 0.00001, 0.00001) + Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_t *p_offsets, uint32_t p_stride, PoolVector<uint8_t> &r_vertex_array, int p_vertex_array_len, PoolVector<uint8_t> &r_index_array, int p_index_array_len, Rect3 &r_aabb, Vector<Rect3> r_bone_aabb) { PoolVector<uint8_t>::Write vw = r_vertex_array.write(); @@ -339,7 +324,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ if (i == 0) { - aabb = Rect2(src[i], Vector2()); + aabb = Rect2(src[i], SMALL_VEC2); //must have a bit of size } else { aabb.expand_to(src[i]); @@ -355,7 +340,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ if (i == 0) { - aabb = Rect2(src[i], Vector2()); + aabb = Rect2(src[i], SMALL_VEC2); //must have a bit of size } else { aabb.expand_to(src[i]); @@ -385,7 +370,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ if (i == 0) { - aabb = Rect3(src[i], Vector3()); + aabb = Rect3(src[i], SMALL_VEC3); } else { aabb.expand_to(src[i]); @@ -401,7 +386,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ if (i == 0) { - aabb = Rect3(src[i], Vector3()); + aabb = Rect3(src[i], SMALL_VEC3); } else { aabb.expand_to(src[i]); @@ -733,8 +718,7 @@ Error VisualServer::_surface_set_data(Array p_arrays, uint32_t p_format, uint32_ if (bptr->size.x < 0) { //first - bptr[idx] = Rect3(); - bptr[idx].position = v; + bptr[idx] = Rect3(v, SMALL_VEC3); any_valid = true; } else { bptr[idx].expand_to(v); @@ -1464,7 +1448,6 @@ void VisualServer::_camera_set_orthogonal(RID p_camera, float p_size, float p_z_ void VisualServer::mesh_add_surface_from_mesh_data(RID p_mesh, const Geometry::MeshData &p_mesh_data) { -#if 1 PoolVector<Vector3> vertices; PoolVector<Vector3> normals; @@ -1489,24 +1472,6 @@ void VisualServer::mesh_add_surface_from_mesh_data(RID p_mesh, const Geometry::M d[ARRAY_VERTEX] = vertices; d[ARRAY_NORMAL] = normals; mesh_add_surface_from_arrays(p_mesh, PRIMITIVE_TRIANGLES, d); - -#else - - PoolVector<Vector3> vertices; - - for (int i = 0; i < p_mesh_data.edges.size(); i++) { - - const Geometry::MeshData::Edge &f = p_mesh_data.edges[i]; - vertices.push_back(p_mesh_data.vertices[f.a]); - vertices.push_back(p_mesh_data.vertices[f.b]); - } - - Array d; - d.resize(VS::ARRAY_MAX); - d[ARRAY_VERTEX] = vertices; - mesh_add_surface(p_mesh, PRIMITIVE_LINES, d); - -#endif } void VisualServer::mesh_add_surface_from_planes(RID p_mesh, const PoolVector<Plane> &p_planes) { |