16k+ shaders please

RexRedRexRed Posts: 1,191
edited December 2023 in Product Suggestions

16k+ shaders please.

Most shaders are perfectly fine at 4k but for things like marble, concrete, stone, some wood for walls, even 16k is too small but okay.

There is nothing worse than putting a shader on a wall or floor and seeing a repeating pattern...

Marble, concrete, wood, stone (anything intended for walls and floors) should always be 16k or over (at least 8k...).

How about a nice large set of multiple wall/floor surface seamless shaders all in 16K? 

A few 16k ground and dirt seamless shaders would be nice too. Very detailed with nice bumps and normals and with no visible repeating pattern in the scene.

Thx laugh

 

Post edited by RexRed on

Comments

  • Strictly you are asking for shader presets that call 16K maps, rather than 16K shaders. Though I can't help wondering about the practicallity of obtaining suitable source images.

  • felisfelis Posts: 3,698

    You are aware of that one 16k texture would take 750 MB RAM in your GPU. So a shader with 4 textures is 3 GB of VRAM.

  • what you really need is procedurals that address the repeating

    ones that can use textures as small as 512 but retile/manifest them in random ways

    this may require an AI algorithm

    (that does not mean something "trained" on other's art BTW just trained on the textures used in situ)

    in otherwords it takes the texture be it bricks, soil with patches of grass etc and uses noise to diffuse a different version of it that seamlessly abuts the previous tile as it renders

  • PerttiAPerttiA Posts: 9,524

    felis said:

    You are aware of that one 16k texture would take 750 MB RAM in your GPU. So a shader with 4 textures is 3 GB of VRAM.

    This yes 

  • NinefoldNinefold Posts: 256

    You don't need AI to mangle a static texture a little in a way that disguises repeats. That would be like bringing ChatGPT to a knife fight. The technique is just to rotate each tile randomly, soften or break up the boundaries between tiles, and introduce some color variation. We don't have Iray shaders that do this not because the it's hard or requires obscure technology or tons of computation, but because there's a lot of functionality Iray either doesn't have or doesn't expose to the user.

  • RexRed said:

    Marble, concrete, wood, stone (anything intended for walls and floors) should always be 16k or over (at least 8k...).

     

    Hi,

    You should avoid such large textures maps.

    As mentioned, if you need to use texture maps, then use smaller size and mix them with a procedural mask. A quick example, showing texture map first with simple repeat, then same texture mixed with procedural mask.

    For the type of materials you mention, you should use procedural texture. Although not difficult to create in the shader mixer, they can be time consuming due to how it is implimented. I did make a lot of procedural shaders in DS 410, but most became broken in later versions of DS (iray updated but bricks not?)

    repeat.jpg
    800 x 800 - 496K
    repeat_proc.jpg
    800 x 800 - 498K
  • Sven DullahSven Dullah Posts: 7,621
    edited December 2023

    RexRed said:

    16k+ shaders please.

    Most shaders are perfectly fine at 4k but for things like marble, concrete, stone, some wood for walls, even 16k is too small but okay.

    There is nothing worse than putting a shader on a wall or floor and seeing a repeating pattern...

    Marble, concrete, wood, stone (anything intended for walls and floors) should always be 16k or over (at least 8k...).

    How about a nice large set of multiple wall/floor surface seamless shaders all in 16K? 

    A few 16k ground and dirt seamless shaders would be nice too. Very detailed with nice bumps and normals and with no visible repeating pattern in the scene.

    Thx laugh

     

    There are loads of 16k textures over at Poly Haven, just make your own shader presets if your rig can handle them;) Or use a renderer that does not have these kinds of limitations.

     

    Post edited by Sven Dullah on
  • RexRedRexRed Posts: 1,191
    edited December 2023

    felis said:

    You are aware of that one 16k texture would take 750 MB RAM in your GPU. So a shader with 4 textures is 3 GB of VRAM.

    I just created 3 16k x 16k images in Photoshop saved them as JPG and compressed them at 10 quality, which even 8 would suffice, and the size thereof for each is 18mb.

    3x18=54mb

    I have 24 gb of video ram... 24,000mb

    During render in Daz these textures are compressed to what I would think would be about the same size.

    My image compression settings in Daz are default.

    Joan Laverne Mitchel who helped invented JPG image compression, unless you are using uncompressed bitmaps and even those Daz would compress.

    So my 16k properties numbers size seem to differ quite a bit from yours.

    Scene contents

    (6 Genesis 9 figures)

    Koo Seth HD figure

    TMA Kade G9 figure

    ED3 Aroon figure

    FN Ethan figure

    CC Dalton figure

    Nathan 9 HD figure

    Daz Horse 3 Thoroughbred Female

    M3DWVGS General Store Building

    3 "16k" images on a plane, each image has a different color variation on it and a different file name.

    a 20k background HDRI

    six non-instanced pairs of shorts.

    an Ultrascenery landscape with many thousands of instances.

    Note: Render optimization set to "memory".

     So yes, I would like 16k shaders please...

    16K shader test.png
    2000 x 1125 - 4M
    Post edited by RexRed on
  • felisfelis Posts: 3,698

    Just so you are aware.

    In a render, there is no image compression per default, so whether an image it is jpeg or png doesn't matter.

    In DS render settings you can set comrpession values, but the compression they provide are way lower than jpeg.

  • RexRedRexRed Posts: 1,191
    edited December 2023

    felis said:

    Just so you are aware.

    In a render, there is no image compression per default, so whether an image it is jpeg or png doesn't matter.

    In DS render settings you can set comrpession values, but the compression they provide are way lower than jpeg.

    I am aware of that, so that means that a 16k image could theoretically only take up 8mb of video ram... 

    So 4 16k textures would not even take up 10% of a GB.

    Post edited by RexRed on
  • felisfelis Posts: 3,698

    RexRed said:

    felis said:

    Just so you are aware.

    In a render, there is no image compression per default, so whether an image it is jpeg or png doesn't matter.

    In DS render settings you can set comrpession values, but the compression they provide are way lower than jpeg.

    I am aware of that, so that means that a 16k image could theoretically only take up 8mb of video ram... 

    So 4 16k textures would not even take up 10% of a GB.

    Why do you think a 16 k texture would only take up 8 MB VRAM?

    My experience is that with compression you might save maybe 20% so 600 MB. 

  • RexRedRexRed Posts: 1,191
    edited December 2023

    felis said:

    RexRed said:

    felis said:

    Just so you are aware.

    In a render, there is no image compression per default, so whether an image it is jpeg or png doesn't matter.

    In DS render settings you can set comrpession values, but the compression they provide are way lower than jpeg.

    I am aware of that, so that means that a 16k image could theoretically only take up 8mb of video ram... 

    So 4 16k textures would not even take up 10% of a GB.

    Why do you think a 16 k texture would only take up 8 MB VRAM?

    My experience is that with compression you might save maybe 20% so 600 MB. 

    a 16k 24bit bmp is 732 MB

    a 16k jpg which look almost exactly the same except in some instances is 17mb

    that is MUCH higher than 20%

    try saving a 16k image in jpg at 10 quality and the same image in bmp 24bit.

    I know with MP3 it is 12:1

    But with jpg it is much higher 

    The internet says 20 to 1 but bitmaps are much higher.

    17x20 is 340 that is less than half of the 800 you mentioned.

    So it is at least 40:1 

     

    Post edited by RexRed on
  • felisfelis Posts: 3,698

    A  renderer need the pixel information immediately - that is why an image as defualt is uncompressed.

    The compression algorithm shall allow the renderer to get that information without delay.

    For a jpeg or similar compressed image it doesn't matter if it takes a fraction of a second to decompres. That is not acceptable in a renderer.

  • RexRedRexRed Posts: 1,191

    The forum here won't let me load a 16mb 16k image.

    The 750mb bmp image is only slightly crisper but not really that noticably.

    16mb versus 750mb quite a jump in size with generally no noticable difference other than some images

    (usually grayscale) may have banding.

  • felisfelis Posts: 3,698

    I would suggest to try and measure how Iray handles images.

  • RexRedRexRed Posts: 1,191

    felis said:

    A  renderer need the pixel information immediately - that is why an image as defualt is uncompressed.

    The compression algorithm shall allow the renderer to get that information without delay.

    For a jpeg or similar compressed image it doesn't matter if it takes a fraction of a second to decompres. That is not acceptable in a renderer.

    The proof is in the pudding, look at what I just rendered.

    6 gen 9 figures

    A horse 

    Ultra scenery

    a saloon, 3 16k textures

    a 20k hdri and 6 pairs of shorts.

    There are some scenes where a repeating pattern on the wall, or rocks or marble looks terrrible.

    And I would rather slim down my scene and use a bigger texture. 

    And let the Daz compressor do its magic.

    I have demonstrated that 3 16k jpgs can be used and still leave room for a huge scene as well.

    If I can't get these textures here I will find them somewhere else but I would rather buy them in the Daz Store.

  • RexRedRexRed Posts: 1,191
    edited December 2023

    felis said:

    I would suggest to try and measure how Iray handles images.

    I just did that, I created a very large scene in Daz and used 3 16k textures on a plane and there was still plenty of room left for my scene.

    You have been very helpful Felis thanks kindly for your insight here! wink

    Post edited by RexRed on
  • RexRedRexRed Posts: 1,191

    Sven Dullah said:

    RexRed said:

    16k+ shaders please.

    Most shaders are perfectly fine at 4k but for things like marble, concrete, stone, some wood for walls, even 16k is too small but okay.

    There is nothing worse than putting a shader on a wall or floor and seeing a repeating pattern...

    Marble, concrete, wood, stone (anything intended for walls and floors) should always be 16k or over (at least 8k...).

    How about a nice large set of multiple wall/floor surface seamless shaders all in 16K? 

    A few 16k ground and dirt seamless shaders would be nice too. Very detailed with nice bumps and normals and with no visible repeating pattern in the scene.

    Thx laugh

     

    There are loads of 16k textures over at Poly Haven, just make your own shader presets if your rig can handle them;) Or use a renderer that does not have these kinds of limitations.

     

    Thank you Sven, I found them, I just wanted a few and this is perfect!

    There is a good selection there, something excellent to experiment with.

    yes

  • PerttiAPerttiA Posts: 9,524

    Does not matter what the size of the imagefile (or type) on disk is, as the images are handled uncompressed when loaded to any program.

    The formula to calculate how much RAM is used for an image;
    Width (px) x Height (px) x color depth (bits) / 8 (bits) / 1024^3 = GigaBytes
    16384 x 16384 x 24 / 8 / 1024^3 = 0.75GB's

    Iray does use compression, but the amount depends on the settings you use. The default settings take memory usage down to about a half, so if an image takes 0.75GB's of RAM, it needs 0.375GB's of VRAM while rendering Iray on the GPU, and that is just one image.

  • RexRedRexRed Posts: 1,191
    edited December 2023

    PerttiA said:

    Does not matter what the size of the imagefile (or type) on disk is, as the images are handled uncompressed when loaded to any program.

    The formula to calculate how much RAM is used for an image;
    Width (px) x Height (px) x color depth (bits) / 8 (bits) / 1024^3 = GigaBytes
    16384 x 16384 x 24 / 8 / 1024^3 = 0.75GB's

    Iray does use compression, but the amount depends on the settings you use. The default settings take memory usage down to about a half, so if an image takes 0.75GB's of RAM, it needs 0.375GB's of VRAM while rendering Iray on the GPU, and that is just one image.

    Your breakdown of how Daz uses compression is very helpful Pertti. 

    I downloaded some 16k and 8K images, wood, stone, dirt etc...  and tried them in some scenes, I only needed to load the normal and base images to get some shockingly good results.

    So, in practice this works very well. If I need a really nice ground, wall or rock face texture with no obvious repeating pattern, this is how it is done, until some good procedural textures become available.

    So yea, I have to slim down a scene when using this method but not by a huge amount.

    I found just about everything I needed except marble textures.

    My request for 8 and 16k textures is still active. It does not really matter, I assume, if they are jpgs they would take up less space in my library.

    I will use these textures in many cases just like I very often use 8 and 16k HDRIs in my scenes.

    I now have a folder of large textures alongside of my HDRI folder with over 3,500 HDRIs. 

    Terrains, rock walls, interior walls and large countertops are likely candidates for this technique. smiley

    It would be very nice to have a script that would turn 4k shaders into procedural ones if it would get rid of the repeating pattern issue.

    Post edited by RexRed on
Sign In or Register to comment.