Blender Git Commit Log

Git Commits -> Revision ec25060

Revision ec25060 by Stefan Werner (master)
April 27, 2017, 07:35 (GMT)
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

Commit Details:

Full Hash: ec25060a05e394560ec92388b347c45bd9eba0ed
Parent Commit: a6b9bd0
Lines Changed: +328, -287

By: Miika HämäläinenLast update: Nov-07-2014 14:18 MiikaHweb | 2003-2021