← All ideas
  • Published 10 Mar 2019

exclude object from simplify max texture size.

I need to set the entire scene to 2k textures using the simplify options, so it'll fit in VRAM, but I need one object's textures to remain at 6k for a closeup. Can't find a way to do this, so I'm having to use CPU, which is around 5 times slower to render.

I'd suggest an exclude from texture limit listbox next to the texture limit dropdown, where you can add an object to set it's texture limit independantly. Or alternatively have a 'use simplify render texture limit' checkbox in the object propterties/cycles settings/performance area where if disabled you can set max texture size for all textures on this object.

Perhaps better still, now we're going everything nodes, a texture simplification node with an overide global chekbox and a max texture size dropdown, to be used in the material node editor.....or maybe it could just be part of the texture image node?

Lots of options, but a much needed feature until affordable GPU's have 32GB VRAM.....or until cycles can handle textures as efficiently as Redshift for example.

88.9%

Development Status: Open

Upvote 8 Downvote 1
3di
10 Mar 2019

11 Comments

jan-erik.arhelger

I can just totally agree. I have a scene already optimized but it’s just a huge one with over 400k objects and my 3090 is struggling. This feature would just makes this type of scenes way easier to render

1
jan-erik.arhelger

i realized this can be solved with a few lines of code just something like:

for each img not in whitelist:

img.scale(512,512)

img.pack()

when the render is finished you can also img.unpack(method=USE_ORIGINAL)

Andersh

I also run quite often into this issue with architectural visualizations. Most times having 2k textures is enough except for the hdr environment map. What I do is pack all images, unpack them to the project folder and then use a texture resize program for everything except the hdr texture. Not a 1-button solution but it works.

3di Author

* @Andersh * I get around that by creating a second scene in the same file, and turning off simplify for that scene, then using the render layer node in the compositor to combine the high res background with the simplified scene using a mix node. This way you don't have to manually resize hdri's externally. The simplified hdri is still good enough for lighting in the main scene.

Vyach

And what about render layers? You can render all with 2k, then object with 6k and shadowcatchers.

3di Author

* @ Vyacheslav * That would mean that I'd have to render the full scene at 2k and then the object again but this time at 6k, then set up a compositor to combine the necessary passes from the two render layers.....scene compilation and render time get considerably longer as the objects in question are quite complex animated objects.

I think my proposal of a checkbox and overide would be much more convenient, and shave off a lot of render time comparitively.

Vyach

* @tibbyninja * problem with you proposal, that it is one function, that working strictly for one case. If you are making animation and want to reduce rendering time, you should bake all that can be baked and limit all that can be limited to lowest possible level. Not just 2k and 6k. So optimize your scene instead asking devs to fix only one your own problem.

3di Author

* @ Vyacheslav * My scene is already fully optimised. I just cant find a way to stop one material's textures from being affected by the simplify options. It's possible to exclude an object from being affected by the simplify's camera cull, so it stands to reason that textures/materials would also benefit from being excludable.

I don't think you understand what I'm saying....it has nothing to do with 2k or 6k, they are just specific to my example. What I'm asking for is to be able to exclude materials from having their texture size affected by the global simplify max render texture size......and to also have a local max size override.

Otherwise you have to alter a full scenes textures in an external photo editing software......which my client doesnt want me to do.

3di Author

* @ Vyacheslav * baking would actually increase VRAM texture usage, as you would lose the benefit of tiling small textures.

Vyach

* @tibbyninja * I did not say «bake everything». In case of tiling textures you are right.

katarn66

This is hardly one problem. This is like the chief issue with trying to do GPU rendering in blender. If you could easily control the resolution of assets in the Foreground you could finally start rendering production level scenes while still being able to fit onto a GPU.