summaryrefslogtreecommitdiff
path: root/servers/visual_server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'servers/visual_server.cpp')
-rw-r--r--servers/visual_server.cpp55
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,&params);
-
-
- 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) {