Thousands of images (byte image limit reached) using CPU

I have a python scripts that creates around 3000 objects (cylinder, …). Each of one has assigned an image in one for the faces of the object. Each image is different (cannot be reproduced with procedural textures).

When I render the scene (cycles), it shows this message:

ImageManager::add_image: byte image limit reached 1024, skipping …

Only 1024 images out of ~3000 are shown, the rest are discarded. Each image (jpg) is ~4KB.

Is there a way to solve this (using blender python API)? I am running Blender 2.73 under linux (Ubuntu) 64-b. I have selected (in the script) to use the CPU and run it as a background job.


I know GPU cycles has a limit, but I am not sure about CPUs. I recall older versions had a limit also in CPUs, but I believe it was removed (altough I am not cetain about this).

Regarding the command, I use the following to set up the CPU settings:

bpy.context.scene.cycles.device = ‘CPU’

If someone can confirm that there is also a limit on the number of images (using CPUs), then there is nothing more to dicuss. If not, ¿what are the right settings?

if no one else come up then make a bug report and give us the answer back!

happy bl

looks like there should not be any limit
so try with a bug report and get an official answer on it !

happy bl

Thanks to “eppo” for the link. That was precisely one of the few post I read before asking here, but it was not clear to me how to face my problem.

“RickyBlender”, I will try a bug report, many thanks.

Again - citing AD: “The limit for CPU rendering used to be 100 textures just like with the GPU, but was removed by Sergey as part of the Tears of Steel project.
Apparently, I can see now that what he did was raise the limit to 512 textures.”

Did the developers raise the limit up to 1024 in the recent versions? In my case 1024 independent images are shown, and the rest are “skipped”.

you could also talk of it on IRC !
don’t have any specific doc for this so would be interesting to get the real things from Dev!

you cold even ask them to increase it to what ever level like 3 or 5000 !
but this is a lot of images and will take a lot of memory and may be make blender sluggish!

best way is to talk with dev on bug report or IRC I guess

happy bl

I don’t know if this can be a solution to your problem, but can’t you make your script to apply just one texture ? I mean, you could try merging all these images into a single one and then make your script to UV map all the cylinders to it’s respective position in the atlas.

That sounds like a nice workaround!

So the idea is to merge all images, “gridify” it, and apply to the correspoding face of each cylinder.

Any (link) example of a similar script for UV mapping and of differen parts of a single image to faces of different objects?