Will Timmins' Procedural Shaders

1356

Comments

  • 3Diva3Diva Posts: 11,527

    The skin, nails, and everything artificial (clothing etc) are WTP shaded. I didn't bother changing the eyes because you can't see them very clearly anyway (and the texture load is minimal for a single figure, so there's less need to streamline).

     

     

    That looks great Will! Is the new WTP skin shader available yet? I'm really looking forward to that! :D

    Duh moment. I forgot there's an option that allows the Perlin noise to 'stick' to the UV geometry. While this is bad for some things, it's great for others, so I tweaked things a bit more. Now, it's perfect for clothing, freckles that don't wander as your pose or position changes, wood, etc.

    In this image, the only texture maps are on the eyelashes and hair.

     

    WHOA! Those are all your shaders!? Impressive! Are they available yet? Or are they new ones you're working on?

  • Oso3DOso3D Posts: 15,011
    edited September 2016

    Thanks!

    One of the things I adore about Iray is how well it handles refraction, translucency, etc, and the WTP Refraction shader is one of my favorites. I'm actually coming along faster than I had expected, and finding easy new things to add.

    Of course, the NEXT step is documentation, and that's going to take a bit. I want to have at least a short bit on each and every shader explaining what people can do with it. I'm debating whether I should set up a wiki or something. And, well, if so, how to DO that.

    Here's another effect I rather like, particularly once I figured out I could have it follow UV: most of the shaders use absolute noise, where the location and arrangement of an object/surface doesn't matter. This is great for combining objects -- if there's a sphere sticking halfway through a chair, the noise pattern seems to flow from one to the other.

    But there's another option available for about half of the shaders, so the noise is generated based on the UV map. This allows it to go around corners and be consistent even if you pose or move objects.

    Brushed steel is one of those; it follows objects, though you can also shut it off and have it as an absolute pattern.


    I imagine you could tweak this shader to make a record. Heh

     

    Brushed SteelBig.png
    1080 x 1080 - 871K
    Post edited by Oso3D on
  • Oso3DOso3D Posts: 15,011
    edited September 2016

    divamakeup: New ones I'm working on! The old ones can do a lot of this, but aren't well-documented, and lack a few options.

    They are done, basically, but I'm getting proper icons on all of them and then need to write documentation.

    I'm debating releasing them with basic documentation in the form of a wiki and then adding to it over time, but... we'll see how fast I can get decent documentation written.

    Post edited by Oso3D on
  • 3Diva3Diva Posts: 11,527

    divamakeup: New ones I'm working on! The old ones can do a lot of this, but aren't well-documented, and lack a few options.

    They are done, basically, but I'm getting proper icons on all of them and then need to write documentation.

    I'm debating releasing them with basic documentation in the form of a wiki and then adding to it over time, but... we'll see how fast I can get decent documentation written.

    That sounds good, maybe the basic documentation first?

  • Oso3DOso3D Posts: 15,011

    These are complex, but more examples.

    The Earthlike planet is 4 layers: ocean, land, clouds, north pole, south pole (since the poles are different sizes; if they were mirrored you could use a single layer)

    Jovian planet is 3 layers: base clouds, high clouds, storms

     

    WTP Earthlike.png
    1080 x 1080 - 746K
    WTP Jovian.png
    1080 x 1080 - 3M
  • Oso3DOso3D Posts: 15,011

    WOO!

    And it is live: http://www.sharecg.com/v/86001/view/7/Material-and-Shader/WTP2-Will-Timmins-Perlin-Shaders-for-Iray

    Documentation here: http://wtshaders.wikidot.com/wtp-home

    Documentation covers the core concepts plus the base shaders; in time I'll have an entry for every preset, but you should be able to go pretty far just by clicking random stuff.

    Let me know if there are any problems.

  • Oso3DOso3D Posts: 15,011

    Things to try: wood and fabric, IMO, look pretty neat. Try applying wood to random chairs and buildings.

    Pick a base terrain, give it sand or rock shader. Add a decal, use snow cover. Woo. Snowy. Change the snow to something else, like rock or moss.

    Add coal dust geoshell/decal to random stuff to grunge it up. Change the scale or how far apart the cutout thresholds are.

     

  • JerifeJerife Posts: 272

    "Vale más llegar a tiempo que rondar un año" Ancient spanish saying. Which means I discovered this thread in the right moment laugh

    Thanks a lot Will

  • JerifeJerife Posts: 272

    FYI: Leather shader as well as Brown Cotton asks for  data/goldtassel/pirate/pirate hair/uv sets/goldtassel/base/default.dsf

    Sheer Curtain asks for data/forbiddenwhispers/clr/clr fixtures netcurtains/uv sets/forbiddenwhispers/base/default.dsf

    Suit Button asks for data/sicklemar/businesssuit/smbsjacketg/uv sets/sicklemar/base/default.dsf

    Which I obviously don't have. They apper to load ok beside those missing files error they give

     

  • Oso3DOso3D Posts: 15,011
    edited September 2016

    ... uuuh. Weird.

    Thanks, I'll check to see what the heck it's doing. Probably some texture map it's not actually using left behind somewhere.

    I'm also slowly adding to documentation today. ;)

    (As an aside, my mother's family originally came from near Barcelona; there's supposedly a family home there from the side of the family who stayed. Alas, I can barely speak Spanish)

    Post edited by Oso3D on
  • Oso3DOso3D Posts: 15,011

    Um. I have no clue why it's doing that. I don't see any reference in these shaders to those locations. Uh.

    That's annoying, sorry.

  • JerifeJerife Posts: 272

    No problem. The shaders seem OK as I told you

    When I saw your birch bark I couldn't resist. Trees from Carrara can be transformed into objs and be imported into DS but only the trunks, they lose the leafes in the process. I had this Howie's birch already imported and used your Bark Birch and a geoshell with your Moss on it. Stonemason's tree with trunk cutout 0 gave the leafes which are half his, half your Leaf Darkshiny. All UltraScattered.

    Shot0001.jpg
    1366 x 728 - 536K
  • Oso3DOso3D Posts: 15,011

    Heh, cool!

    I hope to try out different noise functions; I'm hoping certain effects will be easier to do, like swirling patterns. Worley noise is fascinating and creates some very cool, artificial patterns.

    Another thing I might play with is multiple or blended patterns, where, say, you could combine two different bump or color patterns, but I need to ensure the shaders don't get too complicated to manage.

    Having the ability to layer bump so that you have a large-scale variation and then lots of fine bits and bumps would be cool. Blending three or four colors with perlin noise would be nifty, too.

     

    In other news, finished my first pass with the documentation.

     

  • Oso3DOso3D Posts: 15,011

    Worley noise example:

  • hphoenixhphoenix Posts: 1,335
    edited September 2016

    Heh, cool!

    I hope to try out different noise functions; I'm hoping certain effects will be easier to do, like swirling patterns. Worley noise is fascinating and creates some very cool, artificial patterns.

    Another thing I might play with is multiple or blended patterns, where, say, you could combine two different bump or color patterns, but I need to ensure the shaders don't get too complicated to manage.

    Having the ability to layer bump so that you have a large-scale variation and then lots of fine bits and bumps would be cool. Blending three or four colors with perlin noise would be nifty, too.

     

    In other news, finished my first pass with the documentation.

     

    Iray also has Flow Noise, in addition to Perlin and Worley.  Haven't experiemented with it much yet.

    Blending colors with noise is a matter of thresholding the noise value (0.0  to 1.0) so that different 'bands' of color are represented.  So for value 0.0 to 0.5, red goes from 0.0 to 1.0, and value 0.5 to 1.0 gives blue increasing from 0.3 to 1.0.  And so on, adding more 'bands' and levels to achieve blending.  It's just math, but doing it with the shader mixer is a pain....I tried doing a simple trigonometric polynomial for a different fresnel effect (1.0 - tan(x)^n) using the shader mixer, and it ended up taking like 12-15 bricks.....

    One neat way of doing it (that I use in my soap-film shader I'm working on) is I have a gradient image with the colors of the soap film.  It's vertical bars, so I just have to index the horizontal texture coordinate based on a LERPed thickness (based on the noise function, and the max/min thickness values) to obtain the correct color value.  Using a simple gradient pattern, and using a floating point value to index into the texture map isn't too hard.  When I get home tonight, I'll try and post the basic brick sequence for doing it in MDL bricks.

    (just for those who are curious, I take the difference of the Max thickness and the Min thickness, mulitply that by the noise function at the surface point, and add the Min thickness.  That gives me the relative LERP'ed thickness at the point that varies linearly from min to max based on noise that runs from 0.0 to 1.0.  Of course, in the real-world, the thickness function is NOT linear, and fortunately, neither is Perlin Noise.  95% of the values in Perlin noise run between 0.3 and 0.7 value.  So it works out.  But one can add scaling factors and such.  One can expand the range by taking a root of the noise value, or contract the range by raising it to a power.)

    Post edited by hphoenix on
  • Oso3DOso3D Posts: 15,011

    You know, I had a soap bubble shader worked out at one point using thin film thickness. Hrm. I thought I was going to do that for this release, but I just forgot.

    Maybe with next pack.

     

  • hphoenixhphoenix Posts: 1,335
    edited September 2016

    You know, I had a soap bubble shader worked out at one point using thin film thickness. Hrm. I thought I was going to do that for this release, but I just forgot.

    Maybe with next pack.

     

    The one I'm working on is very complex, as I want it to be useable in animation as well.....which means Age parameters, turbulence, and damping functions.  So if you had a bubble sitting there, over the time of the animation, the colors will swirl, begin to slow the swirling, begin to separate in to thicker bands, and thin at the 'top' of the bubble.  It's some VERY complex interactions.

    The gradient map I use is based on actual measured color of the film at various thicknesses, so it's pretty accurate.  The simplified mathematical approach used by the thin-film shader isn't completely correct, as it is more designed to mimic thin iridescence rather than actual thin films.

     

    Post edited by hphoenix on
  • Oso3DOso3D Posts: 15,011

    Yeah, that's pretty complex. I remember you talking about it in... some thread maybe several months ago? Heh.

  • Oso3DOso3D Posts: 15,011
    edited September 2016

    Another tip:

    WTP Base Cutout is a great easy way to break up overly tiled textures you are using.

    For example, if you have a large terrain, it's very hard to keep people from noticing the tiling. Instead, you can put layers of textures on WTP Base Cutout and have patches 'fade' in and out across the space.

    I've noticed this particularly with, say, TD3, where it can be hard keeping the tiling from popping out at long shots.

     

    Post edited by Oso3D on
  • Thanks for the shaders and all your hard work. Do the WTP2 shaders replace the original WTP shaders or are they in addition to them?

  • Oso3DOso3D Posts: 15,011
    Wtp2 replaces WTP. You don't have to delete the originals, but I wouldn't bother grabbing them if you don't already have them. wtp2 actually has documentation and covers more options.
  • JimbowJimbow Posts: 557

    Nice set of shaders, Will. Used your green ocean for the surface detail in my latest image. Thanks very much - my 2D texture was looking a bit lame.

  • Oso3DOso3D Posts: 15,011

    Glad it helped! It's a great way to fill in large areas.

    I neglected to point out in the documentation previously, but some packs include makeup cutout masks that can be used to create more convincing cheeks, lips, eyes, etc.; you can put a slightly different shader with one of these masks and blend it in with Iray Decal (UVW projection) or Geometry shell.

     

  • Oso3DOso3D Posts: 15,011
    edited September 2016

    A note:

    Occasionally, for some reason, shaders bug out and appear all black.

    I have no clue why. It usually just takes restarting the app and the shaders look fine.

    (Specifically, there's an internal variable set to 100 that, for some mysterious reason, decides to become 0)

     

    Post edited by Oso3D on
  • Oso3DOso3D Posts: 15,011

    This will be part of a larger 3DL pack at some point, but here's a simple 3DL 'top surfaces' shader.

    It is based on DS standard shader, since that's all I have permission to use, and includes the basic stuff. But no reflection or refraction.

    The controls are minimum slope and maximum slope, which creates a gradient blend of opacity. Slope runs -1 (bottom of a sphere) to 1 (top of a sphere).

    If you want to use this with TerraDome3 (which was my initial goal):

    Copy Azone (or whatever)

    Convert to Daz original or UberSurface (most of the maps of one of the two materials should copy over). Go over the values, add or adjust amounts as needed. Bump and Displacement tends to revert to basic values.

    Select new surface, Create / New Geometry Shell.

    Select the geoshell, select material in Surface tab. Then, in Content pane, navigate to wherever WT3 Snowcap is (I would recommend putting it in Shader Presets/WT3/ folder). Double click.

    Now, referring to the original Iray surface, change the image maps over. Adjust values. A safe bet for specular is 'Specular color: dark gray, Glossiness 10-20%, Specular strength 10-20%.' Keep in mind rock will tend to have rather dark, low glossy surfaces. Sand will be brighter (lighter specular color, more specular strength) but still pretty low glossy. Anything wet will have a higher glossy and specular strength.

    With displacement strengths at 0%, adjust maximum and minimum slope to get the second surface to cover about as much as you'd like. Then increase displacement; you might want to change the geometry shell height (Y) or offset, or displacement values, or the lower surface might get projected up and through the geometry shell.

     

    And there you go. Somewhat labor intensive, but the results are great.

     

     

    duf
    duf
    WT3 Snowcaps.duf
    203K
  • Oso3DOso3D Posts: 15,011

    I should see if I can come up with a 1 shader approach. The only downside to the above is that you end up having two geometries to process, plus a lot of transparency calculations.

    Granted, the upside of being able to use any shader on the bottom surface is good...

     

  • Oso3DOso3D Posts: 15,011

    Heh. I was thinking 'man, this is taking so long to render.'

    Yeah, took 8 minutes.

    3DL spoils me.

     

  • Oso3DOso3D Posts: 15,011

    Oh, duh, never got around to posting the example.

    This is Phone Home preset modified a little (I got rid of extra A Zone and B zones). I used the free 3DL shader above to get the sand and stone effect from the original.

    Some post work using AoA atmospheric cameras for a distance mask.

     

    TD3DL PhoneHome.png
    1747 x 1080 - 1M
  • Great -thanks so much. I'm in no position to donate right now, but will do when free to do so!

  • Oso3DOso3D Posts: 15,011

    Here's a variation of the last 3DL shader. This one is a two layer thing, with Top Diffuse Color, Top Specular Color, Top Glossiness, Top Specular Strength to shape the top layer, which is 'draped' by use of Maximum and Minimum slope.

    The previous version is still better if you want a particular, weird shader with a layer sprinkled on top.

     

    duf
    duf
    WT3 Normal 2mix.duf
    272K
Sign In or Register to comment.