I created vertex blending material. And I hit 11 out of 12 texture samplers.
I could probably reduce amount of textures used by reusing the same texture for both blended materials, but that’s not the point, especially if they are very diffrent (like wood and plaster, it would be hard to reuse the same detail texture).
In UE3 there was 15 texture samplers.
At this point I’d like to add at least one or two more belnds to the material but I just run out of space.
The limits the material editor is displaying are incorrect. I will fix that up on our end.
The reason is that the engine has to use some samplers internally for lighting features. If your material is opaque you should have 13 samplers available. For static lighting, we reserve two for sampling from lightmaps and one for sampling from the distance field shadow map. For dynamic lighting, we reserve three samplers for reading from the indirect lighting cache. For translucent lighting we reserve 2 sampler for reading from the translucent lighting volume if you’ve selected non-directional and 4 samplers otherwise.
In UE3 it was a bit simpler, you had 12 samplers for static lighting and 15 for dynamic lighting.
I am attempting to reproduce this material, but am having some difficulty. Could you please provide a screenshot with the blending material properties and layout?
I can upload it for you along with few sample textures.
Anyway I don’t have problem with material not working or not know where are all those textures coming from.
I just like to know if there will be more samplers exposed in future.
Anycase I have found out that Unchecking Used with Static Lighting will make more samplers available. But I’m not entirely sure if unchecking it is an optimal thing to do.
Unless there is more clever way to pack as many as textures into single material as I want.
Thanks. But as I said I already figured it out. It was matter of unchecking the “Used with Static Lighting” checkbox.
Unless it shouldn’t be check by default ?
I understrand, but on other hand that’s not the point of general purpose material. Although I appiled some optimzations and downed it to 9.
Main problem is I want to retain physical properties of blended materials, and if they are extremly diffrent they just need separate sets of textures, which in turn quickly eat up samplers.
In the upcoming 4.6, on PC D3D and consoles, you will be able to use up to 128 unique textures. This is made possible by picking shared samplers per TextureSample node instead of always using the UTexture asset settings.
Where can I find more information about it? I’ve been wondering if it is making some kind of atlas or combined huge texture, and if so, where is it located. This can affect the team workflow if it’s out of “content” location. Usually you don’t want to put into repositories files out of content folder.
There is no difference, it is still the same material using textures from the content browser. The only difference is you can set a TextureSample node to use a Wrap or Clamp method (depends on the texture) of sharing instead of using the sampler for one texture only. You can visualize this as a kind of (sort of) texture-atlas that is built by the engine automatically, it does not affect the artists workflow at all.
Why was this disabled/unimplemented for OpenGL? I know its possible to use Array Textures in OpenGL so I don’t under stand why this was not implemented in OpenGL. This will only break a lot of games that could be ported to Linux/Mac and will give developers excuses to ditch those platforms.