diff options
author | Dalai Felinto <dfelinto@gmail.com> | 2014-07-28 21:29:03 +0400 |
---|---|---|
committer | Dalai Felinto <dfelinto@gmail.com> | 2014-07-31 07:35:17 +0400 |
commit | 5c3c3abb454c7a11709abee5e3648aa23f82408c (patch) | |
tree | 451c9d53e88faa05fdea74f7e521ec8d3b7901f2 | |
parent | 9952699978a132e4866acd26817fb9cfec23419d (diff) |
Cycles Bake: use size_t instead of width, height
(original patch by Sergey Sharybin)
Note: RNA API can't use size_t at the moment. Once it does this patch
can be tweaked a bit to fully benefit from size_t larger dimensions.
(right now num_pixels is passed as int)
Reviewed By: sergey, campbellbarton
Differential Revision: https://developer.blender.org/D688
-rw-r--r-- | intern/cycles/blender/blender_python.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/blender/blender_session.cpp | 2 | ||||
-rw-r--r-- | intern/cycles/blender/blender_session.h | 2 | ||||
-rw-r--r-- | intern/cycles/render/bake.cpp | 6 | ||||
-rw-r--r-- | intern/cycles/render/bake.h | 10 |
5 files changed, 11 insertions, 11 deletions
diff --git a/intern/cycles/blender/blender_python.cpp b/intern/cycles/blender/blender_python.cpp index 1d18f564e32..e82eb67aae5 100644 --- a/intern/cycles/blender/blender_python.cpp +++ b/intern/cycles/blender/blender_python.cpp @@ -179,7 +179,7 @@ static PyObject *bake_func(PyObject *self, PyObject *args) python_thread_state_save(&session->python_thread_state); - session->bake(b_object, pass_type, b_bake_pixel, num_pixels, depth, (float *)b_result); + session->bake(b_object, pass_type, b_bake_pixel, (size_t)num_pixels, depth, (float *)b_result); python_thread_state_restore(&session->python_thread_state); diff --git a/intern/cycles/blender/blender_session.cpp b/intern/cycles/blender/blender_session.cpp index e57a67212f3..37aab76adbc 100644 --- a/intern/cycles/blender/blender_session.cpp +++ b/intern/cycles/blender/blender_session.cpp @@ -492,7 +492,7 @@ static void populate_bake_data(BakeData *data, BL::BakePixel pixel_array, const } } -void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, int num_pixels, int depth, float result[]) +void BlenderSession::bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, const size_t num_pixels, const int depth, float result[]) { ShaderEvalType shader_type = get_shader_type(pass_type); size_t object_index = OBJECT_NONE; diff --git a/intern/cycles/blender/blender_session.h b/intern/cycles/blender/blender_session.h index 5146483f368..ac685118b3d 100644 --- a/intern/cycles/blender/blender_session.h +++ b/intern/cycles/blender/blender_session.h @@ -52,7 +52,7 @@ public: /* offline render */ void render(); - void bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, int num_pixels, int depth, float pixels[]); + void bake(BL::Object b_object, const string& pass_type, BL::BakePixel pixel_array, const size_t num_pixels, const int depth, float pixels[]); void write_render_result(BL::RenderResult b_rr, BL::RenderLayer b_rlay, RenderTile& rtile); void write_render_tile(RenderTile& rtile); diff --git a/intern/cycles/render/bake.cpp b/intern/cycles/render/bake.cpp index bc313a52491..d7da63dea8a 100644 --- a/intern/cycles/render/bake.cpp +++ b/intern/cycles/render/bake.cpp @@ -19,7 +19,7 @@ CCL_NAMESPACE_BEGIN -BakeData::BakeData(const int object, const int tri_offset, const int num_pixels): +BakeData::BakeData(const int object, const size_t tri_offset, const size_t num_pixels): m_object(object), m_tri_offset(tri_offset), m_num_pixels(num_pixels) @@ -60,7 +60,7 @@ int BakeData::object() return m_object; } -int BakeData::size() +size_t BakeData::size() { return m_num_pixels; } @@ -113,7 +113,7 @@ void BakeManager::set_baking(const bool value) m_is_baking = value; } -BakeData *BakeManager::init(const int object, const int tri_offset, const int num_pixels) +BakeData *BakeManager::init(const int object, const size_t tri_offset, const size_t num_pixels) { m_bake_data = new BakeData(object, tri_offset, num_pixels); return m_bake_data; diff --git a/intern/cycles/render/bake.h b/intern/cycles/render/bake.h index bf03a164f8e..652420c2e19 100644 --- a/intern/cycles/render/bake.h +++ b/intern/cycles/render/bake.h @@ -27,20 +27,20 @@ CCL_NAMESPACE_BEGIN class BakeData { public: - BakeData(const int object, const int tri_offset, const int num_pixels); + BakeData(const int object, const size_t tri_offset, const size_t num_pixels); ~BakeData(); void set(int i, int prim, float uv[2], float dudx, float dudy, float dvdx, float dvdy); int object(); - int size(); + size_t size(); uint4 data(int i); uint4 differentials(int i); bool is_valid(int i); private: int m_object; - int m_tri_offset; - int m_num_pixels; + size_t m_tri_offset; + size_t m_num_pixels; vector<int>m_primitive; vector<float>m_u; vector<float>m_v; @@ -58,7 +58,7 @@ public: bool get_baking(); void set_baking(const bool value); - BakeData *init(const int object, const int tri_offset, const int num_pixels); + BakeData *init(const int object, const size_t tri_offset, const size_t num_pixels); bool bake(Device *device, DeviceScene *dscene, Scene *scene, Progress& progress, ShaderEvalType shader_type, BakeData *bake_data, float result[]); |