Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2013-07-14 16:51:41 +0400
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2013-07-14 16:51:41 +0400
commitcad3406c812bf2b2c8d2994a68db0e9a68071268 (patch)
treed9efe606514e6def8ef60ae0421b34eaf654147f /intern/cycles/render
parentce6cfeca408213a83e0e4c9bb1d7e00c42ea52d8 (diff)
Fix some unnecessary memory allocation slowness in cycles mesh export.
Diffstat (limited to 'intern/cycles/render')
-rw-r--r--intern/cycles/render/mesh.cpp12
-rw-r--r--intern/cycles/render/mesh.h1
2 files changed, 13 insertions, 0 deletions
diff --git a/intern/cycles/render/mesh.cpp b/intern/cycles/render/mesh.cpp
index 4a2a64bb0f3..77d4a5fe7d2 100644
--- a/intern/cycles/render/mesh.cpp
+++ b/intern/cycles/render/mesh.cpp
@@ -98,6 +98,18 @@ void Mesh::clear()
transform_normal = transform_identity();
}
+void Mesh::set_triangle(int i, int v0, int v1, int v2, int shader_, bool smooth_)
+{
+ Triangle tri;
+ tri.v[0] = v0;
+ tri.v[1] = v1;
+ tri.v[2] = v2;
+
+ triangles[i] = tri;
+ shader[i] = shader_;
+ smooth[i] = smooth_;
+}
+
void Mesh::add_triangle(int v0, int v1, int v2, int shader_, bool smooth_)
{
Triangle tri;
diff --git a/intern/cycles/render/mesh.h b/intern/cycles/render/mesh.h
index b74c41f6453..a7703f7cabc 100644
--- a/intern/cycles/render/mesh.h
+++ b/intern/cycles/render/mesh.h
@@ -110,6 +110,7 @@ public:
void reserve(int numverts, int numfaces, int numcurves, int numcurvekeys);
void clear();
+ void set_triangle(int i, int v0, int v1, int v2, int shader, bool smooth);
void add_triangle(int v0, int v1, int v2, int shader, bool smooth);
void add_curve_key(float3 loc, float radius);
void add_curve(int first_key, int num_keys, int shader);