Hidden Treasures- Fun with Older Sets

1246710

Comments

  • L'AdairL'Adair Posts: 9,470
    kyoto kid said:
    L'Adair said:
    kyoto kid said:

    ...correct bump and displacement is the one issue I have using older sets in Iray.  When I did a side by side render of the same scene, textures like bricks, stone, rough wood, etc looked perfect in 3DL but in Iray, even with the bump value increased, they still looked like a flat surface with the details painted on it.

    Unfortunately, yeah. That's the main problem I saw with Villa Venus: Pool materials when I converted it. Things that should look "embossed," look painted in Iray. Not sure how to go about fixing it, though.

    Increase the value in the Bump parameter, to anywhere from 2.0 to 5.0. (I usually start with 2.) Create a normal map and put it in the Normal Map parameter, value 1.0. (You can create the normal map from either the diffuse, bump or displacement map. For those of you with Photoshop, Nvidia provides a free plugin. Alternatively, you can go to http://cpetry.github.io/NormalMap-Online/ and use the online tool to create a normal map. There is a size limitation, though. It will make the map, but the "excess" pixels will get cropped off.)

    I recommend removing the image from the displacement parameter. As mentioned elsewhere, you have to set SubD to some value, which increases your render time, and isn't going to do much good if the wall consists of only a few polygons.

    ....unfortunately I do not have PS and my workstation has no net access, so I cannot use any online tools. (or for that fact the subscription version of PS).. The only system I have with net access is an old 32 bit one which the latest version of PS will not run on.

    As I render in CPU mode increasing the mesh's Sub_D is not an option.   I already deal with fairly glacial render times the way it is. Some older sets (particularly those that use Ngons or tris) also don't like having Sub_D applied. 

    Here's a small standalone program you can install on your computer: SpriteIlluminator. After the free trial, you can purchase a license. Or you can sign up for a free license if you are a blogger, framework developer or book author. The key feature you'd need is the "Emboss" function. It looks like it works the same as the Nvidia plugin.

    Here's another one, and it's free. Njob looks to be distributed by an individual, not a company, so on-going support might become an issue at some point. I just downloaded it, and will take a look at it today.

  • IceDragonArtIceDragonArt Posts: 12,513

    Applied N.G.S.'s freebie script on everything EXCEPT the windows.

    What NGS Freebie script?

    This one Part way down the first post

  • IceDragonArtIceDragonArt Posts: 12,513

    Okay, so with the Classical Pool:  Villa Venus: Pool materials, I'd forgotten to replace the original bump map once I'd applied NGS + the marble shader. So I went back and did that. I also created normal maps (off of the bump maps) in Photoshop. Here's the result. 

    • Render without Bump + Normal maps:

    • Render WITH Bump + Normal maps:
    • The floor looks much better. And some of the details now look like they're not painted, but carved.

    • Comparison:

     

    I used this one on my baby dragon render but didn't do anything but drop the Uber shader on it.  I may go back and add the maps, I really like what you did with this one.

  • kyoto kidkyoto kid Posts: 36,986

    ...yeah the link only goes to the product which is 50$.

  • FenixPhoenixFenixPhoenix Posts: 2,210

    Applied N.G.S.'s freebie script on everything EXCEPT the windows.

    What NGS Freebie script?

    This one Part way down the first post

    Exactly. Keep in mind, the freebie script only works with the NGS product, so you'll need to own that.

  • kyoto kidkyoto kid Posts: 36,986

    ...ahh well, so much for that.

  • L'AdairL'Adair Posts: 9,470
    edited June 2017

    Oops. I thought @KyotoKid was talking to me about the normal map program I mentioned earlier..

    Post edited by L'Adair on
  • L'AdairL'Adair Posts: 9,470
    edited June 2017

    Okay. I've spent a bit of time playing with Njob, and I'm blown away.

    The first thing I did was scan the file for viruses, and then I installed it.

    To install, create a new folder in your Program Files (x86) folder. I named mine njob, but as far as I can tell, it doesn't matter. Extract the files from the zip into your new folder. In Windows, right-click on njob.exe and select Create Shortcut from the resulting pop-up menu. An error message will pop-up: "Windows can't create a shortcut here. Do you want the shortcut to be placed on the desktop instead?" Click on the Yes button.

    Njob doesn't appear to affect the Windows registry at all, so uninstalling should be a simple matter of deleting the folder with the files, as well as any shortcuts pointing to it.

    Here's a quick run-down of how easy it is to create a normal map using Njob:

    1. To create a normal map, click on File->Open, browse to the folder with the image(s) you need a normal map for. For the moment, let's assume you're working with one of the really old sets that only has diffuse images. Select one and click on Open.
    2. From the top menu, select Diffusemap > Heightmap to convert your color image to a grayscale height map.
    3. Adjust the parameters, (Fine Detail, Mid Detail, Coarse Detail, and Scale,) until you're happy with the height map and click on Ok.
    4. From the top menu, select Heightmap > Normalmap to convert the height map you just made into a normal map.
    5. Choose the Normal Estimation, and adjust Blur Radius and Scale until you're happy with the results and click on Ok.

    There are four Normalmap format options, including one for seamless tiling, and other filter functions. All-in-all, this is a small, fast utility that doesn't require another graphics program in order to work.

    I can see I'll be retiring my Nvidia photoshop filter! This gives me so much more control over the results, it's a lot faster than opening up Photoshop, and I can even use it to create bump maps!

    Once again, here is the link: Njob.

    Post edited by L'Adair on
  • FenixPhoenixFenixPhoenix Posts: 2,210
    edited June 2017

    L'Adair said:

    1. From the top menu, select Diffusemap > Heightmap to convert your color image to a grayscale height map.

    Once again, here is the link: Njob.

    L'Adair, are the Heightmaps the program mentions Bumpmaps? Or are they two different things?

    Post edited by FenixPhoenix on
  • FenixPhoenixFenixPhoenix Posts: 2,210
    edited June 2017

    Alright! I gave Mage Tower & Mage Tower Accessory Pack 3 a try this time and let's just say... it's amazing! The product is so old, I wasn't expecting it to look so incredibly good out of the box!

    So first render:

    • I only converted the fire to emission. Everything else (save the character, that is) I didn't touch at all!
    • This is lighted once again by an iRadiance HDRI and the fire.
    • Needless to say, it looks pretty awesome!

    Second render:

    • Applied the N.G.S. script, which darkened the textures (I applied it to his coat as well, just to see what it looked like... which is now black -_-).
    • I went to the windows on the second floor and added their original opacity maps (otherwise, the window part becomes solid).
    • I added the crest on the empty space above the fireplace because... it was empty and it bothered me (ノ◕ヮ◕)ノ*:・゚✧.
    • The lights are the same but I did up them a bit in environment intenisty.

    Some side by side comparisons: 

    I'll probably buy Sorcerous Stronghold now that I know this looks fantastic!

    MageTower-OOB2.2.png
    1400 x 865 - 2M
    MageTower-NGS2.2.png
    1400 x 865 - 2M
    MageTower-Comparison1.jpg
    1400 x 865 - 1M
    MageTower-Comparison2.jpg
    1400 x 865 - 1M
    Post edited by FenixPhoenix on
  • L'AdairL'Adair Posts: 9,470

    L'Adair said:

    1. From the top menu, select Diffusemap > Heightmap to convert your color image to a grayscale height map.

    Once again, here is the link: Njob.

    L'Adair, are the Heightmaps the program mentions Bumpmaps? Or are they two different things?

    To be totally honest, I have no idea. I've always assumed the two terms were interchangable, but I've not read anywhere that they are. However, if I'm working with one of those old sets, and there isn't a bump map, I have no qualms creating a "heightmap" in this utility and using it in the Bump Map parameter!

  • frank0314frank0314 Posts: 11,472
    edited June 2017

    Using a height map will give you better results than a bump will. It can be very detailed whereas some bump maps aren't as crisp. I personally won't use another bump map in my packs because of this very thing.

    Post edited by frank0314 on
  • L'AdairL'Adair Posts: 9,470
    frank0314 said:

    Using a height map will give you better results than a bump will. It can be very detailed whereas some bump maps aren't as crisp. I personally won't use another bump map in my packs because of this very thing.

    Thank you, Frank. I'm glad you were watching the thread, and cleared that up for us. Now that I know the difference, I expect I'll create my own height maps, and replace bump maps with them, where the object is close enough for details to matter.

  • kyoto kidkyoto kid Posts: 36,986
    edited June 2017
    L'Adair said:

    Okay. I've spent a bit of time playing with Njob, and I'm blown away.

    The first thing I did was scan the file for viruses, and then I installed it.

    To install, create a new folder in your Program Files (x86) folder. I named mine njob, but as far as I can tell, it doesn't matter. Extract the files from the zip into your new folder. In Windows, right-click on njob.exe and select Create Shortcut from the resulting pop-up menu. An error message will pop-up: "Windows can't create a shortcut here. Do you want the shortcut to be placed on the desktop instead?" Click on the Yes button.

    Njob doesn't appear to affect the Windows registry at all, so uninstalling should be a simple matter of deleting the folder with the files, as well as any shortcuts pointing to it.

    Here's a quick run-down of how easy it is to create a normal map using Njob:

    1. To create a normal map, click on File->Open, browse to the folder with the image(s) you need a normal map for. For the moment, let's assume you're working with one of the really old sets that only has diffuse images. Select one and click on Open.
    2. From the top menu, select Diffusemap > Heightmap to convert your color image to a grayscale height map.
    3. Adjust the parameters, (Fine Detail, Mid Detail, Coarse Detail, and Scale,) until you're happy with the height map and click on Ok.
    4. From the top menu, select Heightmap > Normalmap to convert the height map you just made into a normal map.
    5. Choose the Normal Estimation, and adjust Blur Radius and Scale until you're happy with the results and click on Ok.

    There are four Normalmap format options, including one for seamless tiling, and other filter functions. All-in-all, this is a small, fast utility that doesn't require another graphics program in order to work.

    I can see I'll be retiring my Nvidia photoshop filter! This gives me so much more control over the results, it's a lot faster than opening up Photoshop, and I can even use it to create bump maps!

    Once again, here is the link: Njob.

    ...I would just like to get decent texture quality without going through a lot of pain or geologic scale render times (like increasing Sub_D would do)  Again I have to do it all locally on the workstation as it has not Net connection.

    Took a look at Njob, nice little utility.  Downloaded it to test. 

    Post edited by kyoto kid on
  • frank0314frank0314 Posts: 11,472

    What do you mean texture quality? Bad textures or just takes to long to render?

  • kyoto kidkyoto kid Posts: 36,986
    edited June 2017

    ...basically I', referring to not getting surface details like roughness and such when using older sets/props in Iray.  In 3DL they look fine but in Iray they look as if they were "painted on" a smooth flat surface.

    For example here is the one scene I renderd in both engines.

    As you can see in the 3DL version (first attachment) the bricjwork on the shelter, the body of the trashbin, the pavementm and the red brick road surface all have a degree of roughness to them that creats more depth.  In the Iray version (second attachment) all these surfaces look flat and featureless.

     

    here comes the bus 4_8 3DL.png
    1200 x 900 - 2M
    here comes the bus 64 ISO.png
    1200 x 900 - 2M
    Post edited by kyoto kid on
  • FenixPhoenixFenixPhoenix Posts: 2,210
    edited June 2017

    Alright, so I also downloaded the Njob app and experimented with it a bit to see how the map creating differed to what Photoshop has to offer. Here are my finding so far (keep in mind I know little about 3D, so I'm going by trial and error, rather than clear understanding).

    I went back to Silence and experimented only in a portion of the wall (since this one takes a bit longer to render). So, the process before this experimentation is pretty much: Uberbase + N.G.S. Script

    1st Render:

    • On the left side: I'm using the original bump maps + normal maps created via Photoshop based on the diffuse maps.
    • On the right side: I'm using the height maps + normal maps created via Njob based on the diffuse maps. 
    • Result: the wall ended up looking pretty flat, even though I tried to weak the setting as much as I could to get some sort of contrast.

    2nd Render

    • On the left side: Still using the original bump maps + normal maps created via Photoshop based on the diffuse maps.
    • On the right side: I'm kept the Photoshop normal maps + height maps created via Njob based on the Photoshop normal maps.
    • Result: This is pretty similar. The only difference I can see, would be that the left side has slightly more "pores." But it's almost imperceptible. 

    Silence-MapCompaison.jpg
    1071 x 865 - 973K
    Silence-MapCompaison2.jpg
    1071 x 865 - 1M
    Post edited by FenixPhoenix on
  • L'AdairL'Adair Posts: 9,470

    I've been reworking Gadomar. I spent a lot of time on it, when I did the kiss series, resizing diffuse maps to 4K, creating normal maps using the Nvidia filter, (still using CS6!) and so on. It's really interesting to see the color differences when comparing the original with my first rework using different lighting than the kiss series. Some of the stonework looks the same, and some of looks significantly lighter. No reason that I can figure out.

    I'm currently rendering the Njob rework, using the original images, and I'm not seeing the color differences. It's been a while, I wonder if I did something to make them lighter...? I'll have to look closer at the parameters. I'll post some comparisons in a bit.

    @giselle3000, very interesting comparisons. The Njob version doesn't appear to be much different than the Photoshop version. Which is good news for KyotoKid. I'm really glad I went "fishing."

  • kyoto kidkyoto kid Posts: 36,986

    Alright, so I also downloaded the Njob app and experimented with it a bit to see how the map creating differed to what Photoshop has to offer. Here are my finding so far (keep in mind I know little about 3D, so I'm going by trial and error, rather than clear understanding).

    I went back to Silence and experimented only in a portion of the wall (since this one takes a bit longer to render). So, the process before this experimentation is pretty much: Uberbase + N.G.S. Script

    1st Render:

    • On the left side: I'm using the original bump maps + normal maps created via Photoshop based on the diffuse maps.
    • On the right side: I'm using the height maps + normal maps created via Njob based on the diffuse maps. 
    • Result: the wall ended up looking pretty flat, even though I tried to weak the setting as much as I could to get some sort of contrast.

    2nd Render

    • On the left side: Still using the original bump maps + normal maps created via Photoshop based on the diffuse maps.
    • On the right side: I'm kept the Photoshop normal maps + height maps created via Njob based on the Photoshop normal maps.
    • Result: This is pretty similar. The only difference I can see, would be that the left side has slightly more "pores." But it's almost imperceptible. 

    ..I actually noticed the difference in the last pic almost immediately.  Sadly I do not have PS to set up the normal map.

  • L'AdairL'Adair Posts: 9,470
    kyoto kid said:

    ..I actually noticed the difference in the last pic almost immediately.  Sadly I do not have PS to set up the normal map.

    kyoto kid, your height map is going to dictate, to a point, what your normal map looks like. I've found I turn the Coarse Detail off most of the time and turn Fine Detail all the way up. I move Mid Detail around the most. I usually have the Scale slider around the middle, but I've had some maps I turned it down on, and others I turned it way up on.

    One of the diffuse maps for Gadomar, for the tall upright columns, has both flat plain surfaces and high-relief surfaces. I actually created two separate height maps, optimized for one surface or the other, and created two normal maps as well. And there is a big difference between those two normal maps! (I combined them in Photoshop, but I could have just as easily used the Geometry Tool to separate those surfaces and used both normal maps as is.)

     

  • kyoto kidkyoto kid Posts: 36,986

    ...yeah, not having  PS can't do that final step.

  • To make normals you can also use the free AwesomeBump https://github.com/kmkolasinski/AwesomeBump and a tutorial for version 5 https://www.youtube.com/watch?v=HSoiaOK5OVk.

     

  • FenixPhoenixFenixPhoenix Posts: 2,210
    kyoto kid said:

    ...yeah, not having  PS can't do that final step.

    I'll keep playing with Njob to see if I can re-create the normal map I've made with photoshop. I'm thinking the difference is that with PS I'm creating the normal map out of the original bump map rather than the diffuse. But when I tried that with Njob it didn't work (since that one asks for the diffuse map). Will check it out after work and post my results.

    To make normals you can also use the free AwesomeBump https://github.com/kmkolasinski/AwesomeBump and a tutorial for version 5 https://www.youtube.com/watch?v=HSoiaOK5OVk.

    I'll test this one too if I can't make Njob work for the normal map.

     

    L'Adair said:

    One of the diffuse maps for Gadomar, for the tall upright columns, has both flat plain surfaces and high-relief surfaces. I actually created two separate height maps, optimized for one surface or the other, and created two normal maps as well. And there is a big difference between those two normal maps! (I combined them in Photoshop, but I could have just as easily used the Geometry Tool to separate those surfaces and used both normal maps as is.)

    Oh, this is a great idea! I hadn't thought to do that and the Classical Pools does have both flat and high-relief surfaces. Will try this out tonight! Thanks for the tip!

  • L'AdairL'Adair Posts: 9,470

    Okay, I'm back with Gadomar images. (Sorry I didn't get these up last night, but I was dead on my seat!)


    Here is a long shot of the setup: Gadomar, ground, and a FlipMode environment HDRI, (Green Hills.) This is the reworked version, using Njob for both height and normal maps throughout. At this distance, the differences between this and the original with just the Iray Uber Base conversion is subtle, so I'm only puttin up this one.
    (Links to full size image.)


    Gadomar, Long Shot, by L'Adair


    Close Up Shot collage; In order: the original, "clay" without textures, and the Njob rework . The closeup images are the basis for the detail comparisons to follow.
    (Links to full size image.)

     

    Collage comparison, by L'Adair

    Links to each image:
    Iray Uber Base
    Without Textures
    Njob Height & Normal Maps


    The following comparison images are full size.

    Detail Comparison 01
     

    Detail Comparison 01, by L'Adair


    Detail Comparison 02
     

    Detail Comparison 02, by L'Adair


    Detail Comparison 03
     

    Detail Comparison 03, by L'Adair


    Detail Comparison 04
     

    Detail Comparison 04, byL'Adair

    Detail Comparison 05

    Detail Comparison 05, by L'Adair


     

  • L'AdairL'Adair Posts: 9,470

    First of all, Gadomar includes a lot of detail modeled in, as seen in the render with the textures removed. That goes a long way toward making the set look good in Iray, even without adding normal maps. This set uses the diffuse image as the bump image, too, so there is some bump. However, the default value for bump after the conversion is too low for Iray, and should be increased.

    The lighting and camera angle are identical, but the Njob render appears to be darker. My theory is with the new height and normal maps, Gadomar has more fine detail, producing a lot of small shadows, but I really don't know why... The carved stone appears to have more depth; with darker shadows, lighter lights, (in some cases,) and rougher texture overall.

    In the first comparison, notice the metal spire on the top of the column appears to have a bit of shine to it. Same with the disk embelishment on the sides of the column.

    I chose to not compare Njob to Photoshop generated normals. I'm not sure if the normals created by the Nivida filter are the same as those created by Photoshop CC, and while I don't fully understand what they do, there are a lot of options with the Nvidia filter which can change the final output. Instead, I concentrated on showing how much better the Njob version looks over the original.

    Njob is a viable alternative for anyone who doesn't have Photoshop. Even if you can get online, Njob is faster than the website I linked to, and it doesn't limit the size of your image.

    I like Njob overall, but I did find a couple of things I didn't like: If the image is larger than the view window, you can scroll to see the rest of the image, but you can't make it fit the viewing window; and when you are adjusting the parameters for any given conversion, it snaps to the upper left corner, and you can't scroll while adjusting; and last, but not least, it appears this tool is no longer being developed, although I could be wrong. If you can live with these limitations, Njob just might be the utility for you.

  • FenixPhoenixFenixPhoenix Posts: 2,210
    edited June 2017

    Alright, took a shot at the same one you did L'Adair. So here's my experimentations with DM Gadomar (took a while to get everything rendered). Every render is using the same light, which is an Iradiance HDRI. I'll also divide my results in three different posts, just to give this confusion some semblance of a structure.

    1. Out of the Box Batch
    2. N.G.S. Anagenessis 2 - Revolution inclusion Batch (N.G.S. for short)
    3. Best Result

    First Batch - Out of the Box

    1ST Render (let's call it Uber):

    • This is the set out of the Box with only Uberbase thrown in. I only rendered the full version for this one and not the close ups.

    2ND Render (let's call this one Shaders):

    • Here I included two different shaders (with cntrl+click to have it keep the textures in place).
    • For the ornaments: I used DG Iray Deco Metal Shaders - especifically: DG Iray Metal 57.
    • For the rest of the structure: I used Ingenious Rock Shaders - especifically: IG Stone 14.
    • Thoughts: Metals now have a nice sheen, but the ground looks horribly flat.

    3RD Comparison Render between Uber vs Shaders:

    • Roof looks much better in the original.

    4RTH Render (let's call this UberMaps)

    • This is the set out of the box with only Uberbase thrown in WITH Normal & Bump maps created in Photoshop.
    • [Can't upload the render, so I uploaded it to my DA scrapbook].
    • Thoughts: this looks pretty good, though the metal parts look quite dull. Overall, it's a great result considering you're only adding a couple of maps per texture.

    5TH Render (let's call this UberMapsShaders)

    • This is the set out of the Box with only Uberbase thrown in WITH Normal & Bump maps created in Photoshop + the shaders.
    • Thoughts: now everything doesn't look flat & you get a beautiful sheen from the metals. I'm still not crazy about how the roof looks, but it's getting there!

    6TH Comparison Render between UberShaders vs UberMapsShaders:

    • Thoughts: as expected, the Normal & Bump maps makes all the textures look better.

     

    Gadomar-OOB.png
    1131 x 872 - 1M
    Gadomar-OOB-Shaders.jpg
    1131 x 2547 - 2M
    Gadomar-OOB-Shaders2.jpg
    1131 x 872 - 801K
    Gadomar-OOB-Shaders+Maps.jpg
    1131 x 2547 - 2M
    Gadomar-OOB-Shaders+Maps2.jpg
    1131 x 2547 - 3M
    Post edited by FenixPhoenix on
  • FenixPhoenixFenixPhoenix Posts: 2,210
    edited June 2017

    2nd Batch - N.G.S. Inclusion

    1ST Render (let's call it NGS):

    • This is Gadomar + Uberbase + using the N.G.S. shader & script. I also added low level pores & medium light from within the NGS shader selection.
    • I also included the normal map that I'd previously created in photoshop.
    • Thoughts: Looks good, but everything has darkened and gotten a greenish hue (almost as though the structure has become dirty). The metal doesn't look as good, though. Overall, it would be good if you want to use it for a creepy setting.

    2ND Render (NGS Shaders):

    • (Had to upload this to my DA scrapbook 'cause it stayed stuck on uploading here).
    • This is all of the above + the shaders mentioned in the first batch.
    • Thoughts: Much better. The color returned (looks closer to the original) and the metal looks a lot better than it did before (with a bit of a sheen)!

    3RD Comparison Render:

    • Thoughts: I much prefer the coloring the shader settings give the structure.

     

     

    Gadomar-NGS+N.jpg
    1131 x 2547 - 3M
    Post edited by FenixPhoenix on
  • FenixPhoenixFenixPhoenix Posts: 2,210
    edited June 2017

    Best Result

    By far I think the best result was using Uberbase > N.G.S. > Bump/Normal Maps > Deco Metals + Ingenious Rocks Shaders settings.

    Here's a comparison between using N.G.S. in the process vs not using it:

    • The contrast in the roof (especially) increases dramatically.
    • It also seems to increase the texture's contrast, thereby giving it more of a punch.
    • Of course, the rendering time does increase by including N.G.S.

    Gadomar-BestResult.jpg
    1531 x 1169 - 1M
    Gadomar-OOBShadersVsNGS2.jpg
    1531 x 1083 - 1M
    Gadomar-OOBShadersVsNGS.jpg
    1131 x 2547 - 3M
    Post edited by FenixPhoenix on
  • L'AdairL'Adair Posts: 9,470

    You're getting some really great results using NGS. I have it, but haven't used it much on inorganic objects. I know Will (Timmons) talks a lot about tweaking the settings after applying, probably because of things like that greenish cast to the set after. I must really start using this more.

  • L'AdairL'Adair Posts: 9,470

    I'll keep playing with Njob to see if I can re-create the normal map I've made with photoshop. I'm thinking the difference is that with PS I'm creating the normal map out of the original bump map rather than the diffuse. But when I tried that with Njob it didn't work (since that one asks for the diffuse map). Will check it out after work and post my results.

    I wondered about this when I read it. Now that my computer isn't busy rendering, I thought I'd check something... And I was able to create a normal map from the bump map by using the 4th Filter option, Heightmap > Normalmap. That eliminates one step, if there is a bump map. Now I must try a comparison between creating the normal map starting with the diffuse, and creating it from the bump map. I'm going to use a different older DM set, though. Just for a little variety...
    wink

    I haven't seen kyoto kid in here since Monday. I wonder how Njob is working out for him/her...? Hopefully kk is rendering like crazy and about to come in here with some comparison renders...

Sign In or Register to comment.