I have been seeing a lot of cool tutorials for procedural textures in Cycles lately, but I was wondering, are procedural textures actually more efficient rendering-wise than image textures? Do they help speed up the render, or would image textures be a better choice? What are the benefits to procedural textures?
Theoretically, a procedural texture is better, in the same way a vector graphic is better than a raster image. It has infinite resolution, can cover any surface, doesn't require UV mapping, and can be created without getting off your chair or browsing on the web.
However, an image texture has advantages too. Sometimes a scene, using image textures, can be finished in under an hour, vs a procedural workflow might take days. Image textures also, if sourced from a photograph, can have natural and realistic qualities a procedural textures might not (unless the procedural texture is really really really good).
In list form:
Procedural Textures Pros:
- Infinite resolution
- Increased editability
- Can be applied to nearly any model without repetition or resolution issues.
Image Textures Pros:
- Fast to
- Good-looking results easily achieved
Seems image textures are faster, caveat, only if its worth the bake time
the above link basically says that images render faster than procedural textures because computing effort. BUT, baking procedural textures can take a long time, so its a judgement call on which is ultimately faster.
e.g. a 2 second clip with an insanely complicated node setup is prolly not worth baking. but a 15 min clip with the same setup might be worth the bake time
From personal experience... From a client's side on a video game, procedural texturing works very well very fast in multiplayer games and mmo's as long as as your spaghetti is no more than 2 or 3 layers of rather small operations, so it is suitable and best used for low polygonal count meshes so you will see them a lot in non realistic games where the shading can be simple and a lot of render time saved with simple shader setups ( not the spaghetti bowl kind with 128 nodes). Now when it comes to baking your nodes individually for each channel and then hooking them up to a bsdf is sort of like the happy medium, but you lose a bit of that easiness to scale with simple mapping node to fit your model just right but you still have that sorta quickness that comes from having to load each separate channel in a small file and map it to faces/(insert preferred image file ext png/jpeg.)... and then map them per face( these are all things your gpu gotta go through to display what you told it to) so at the end of the day, the happy medium is best. That is where you use compressed pic of real life object normals that carry that grain you want plcuk them into a principled BSDF and then go all out on pasta code for the channels you want to run your texture through, the next step is to first cook every snipped of every channel...combine shader those and cook it again and then pluck that where it goes...you know the PBR workflow its really the best happy medium when what you are building is going to be used for games or for low poly projects and stuff. At the end of the day if perfection and realism is what you want then you gotta go photo mode man...and you have to be one of those guys and can see some patter in some random object in nature and have an idea of a bunch of things you can do with that one patter by just tweaking it. that is where photo quality really lies. when you go out there in the world take an actual picture of something, separate all its channels and then do with them what you want. TO NOT BORE YOU MUCH MORE... for work on games, indy project, low poly projects...pasta shaders, for your portfolio , your nice renders your scenes, PBR's. and then for that hollywood quality stuf.minimum 8k photorealistic plus pbr plus volumetrics and lights... LIGHTS LIGHTS LIGHTS. ive seen guys with awesome model with epic shaders turned to S** renders because lights where bad or not enough or too much or placed wrorng or the wrong kind.