diff options
author | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-07-14 16:51:41 +0400 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@pandora.be> | 2013-07-14 16:51:41 +0400 |
commit | cad3406c812bf2b2c8d2994a68db0e9a68071268 (patch) | |
tree | d9efe606514e6def8ef60ae0421b34eaf654147f /intern/cycles/render | |
parent | ce6cfeca408213a83e0e4c9bb1d7e00c42ea52d8 (diff) |
Fix some unnecessary memory allocation slowness in cycles mesh export.
Diffstat (limited to 'intern/cycles/render')
-rw-r--r-- | intern/cycles/render/mesh.cpp | 12 | ||||
-rw-r--r-- | intern/cycles/render/mesh.h | 1 |
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); |