blender/intern/cycles
Stefan Werner ec25060a05 Unlimited number of textures for Cycles
This patch allows for an unlimited number of textures in Cycles where the hardware allows. It replaces a number static arrays with dynamic arrays and changes the way the flat_slot indices are calculated. Eventually, I'd like to get to a point where there are only flat slots left and textures off all kinds are stored in a single array.

Note that the arrays in DeviceScene are changed from containing device_vector<T> objects to device_vector<T>* pointers. Ideally, I'd like to store objects, but dynamic resizing of a std:vector in pre-C++11 calls the copy constructor, which for a good reason is not implemented for device_vector. Once we require C++11 for Cycles builds, we can implement a move constructor for device_vector and store objects again.

The limits for CUDA Fermi hardware still apply.

Reviewers: tod_baudais, InsigMathK, dingto, #cycles

Reviewed By: dingto, #cycles

Subscribers: dingto, smellslikedonkey

Differential Revision: https://developer.blender.org/D2650
2017-04-27 09:35:22 +02:00
..
app CMake: Add option to build against system-wide Glog 2017-04-21 14:36:34 +02:00
blender Cycles: Change OpenCL split kernel to use single program by default 2017-04-26 10:48:15 -04:00
bvh Cycles: Header cleanup in BVH: move self header to be the first one 2017-04-13 11:28:02 +02:00
cmake CMake: Add option to build against system-wide Glog 2017-04-21 14:36:34 +02:00
device Cycles: Allow samples to finish in split kernel to avoid artifacts when canceling 2017-04-26 10:48:15 -04:00
doc Cycles: relicense GNU GPL source code to Apache version 2.0. 2013-08-18 14:16:15 +00:00
graph Cycles: Make all #include statements relative to cycles source directory 2017-03-29 13:41:11 +02:00
kernel Unlimited number of textures for Cycles 2017-04-27 09:35:22 +02:00
render Unlimited number of textures for Cycles 2017-04-27 09:35:22 +02:00
subd Cycles: Make all #include statements relative to cycles source directory 2017-03-29 13:41:11 +02:00
test Cycles: Cleanup, order of arguments to EXPECT_EQ 2017-02-03 11:35:34 +01:00
util Unlimited number of textures for Cycles 2017-04-27 09:35:22 +02:00
CMakeLists.txt CMake: Add option to build against system-wide Glog 2017-04-21 14:36:34 +02:00