2
$\begingroup$

My attempt

Hello everyone,

I am trying to create bodies of water on Mars, however, it isn't looking they way I want. I tried adding a color ramp and replacing the darkest part of the Image texture with a blue color, but that only resulted in what you see below. Is there a more straight forward way of doing this?

Ideal Ocean Texture Topography Map for Mars New Render Reference Mars Image

Reference Mars Image_2

Mars Current State without Atmosphere or Clouds

$\endgroup$
3
  • $\begingroup$ How exactly do you want it to look? Bright blue? Not bumpy? Reflective? $\endgroup$ Aug 3, 2022 at 22:52
  • $\begingroup$ Bright blue, but with a wavy texture, but only where it would make sense to have a body of water. (i.e., in accordance with the topography map of Mars.) $\endgroup$ Aug 3, 2022 at 23:00
  • 1
    $\begingroup$ A wavy texture? That have to be some great tsunamis if you can see the waves from outer space... if you take a look at pictures of Earth taken from aboard the ISS, there are hardly any waves visible and they are much closer than you have to be to see the full planet. Whatever - what you have to do to get rid of the bumpy surface where the water should be is, the grey value below a certain threshold (the land/water transition) has to be uniform to not show any bumps in the water. $\endgroup$ Aug 8, 2022 at 10:40

3 Answers 3

4
+50
$\begingroup$

Here is a nice pack of equirectangular textures.

enter image description here

To make it easier (to mix land and water surface) download Height Map (named "marsbump" in provided link). For proper displacement it would be better to use 32-bit color depth image, that can store enough color for height information, but for this purpose (masking) 8-bit JPEG seems to be working nicely too.

enter image description here

This texture will be used as Factor to mix Diffuse shader node for land and Glossy shader node as water. For simple material you can try this node tree ...

enter image description here enter image description here

Notes:

  • To map Equirectangular texture without UVmap, use Environmental texture node (not Texture node).
  • Since environmental texture expects observing from inside of sphere (as world around) you have to switch (to mirror) X direction by setting Scale X -1 in Mapping node
  • To control elevation of water you can use ColorRamp node, in this case probably Constant interpolation will be most natural.

For very simple atmosphere just add another sphere a bit bigger than planet. Material - use Layer Weight node pluged by Facing socket into Alpha socket of Principled BSDF node. Fast for rendering.

enter image description here enter image description here

... slower Volumetric version.

enter image description here enter image description here

Sure there is plenty of more sophisticated materials to achieve more realistic look (proper volumetric light scatter in atmosphere, micro-displacement, etc.), but this seems to be a good start point for you.

enter image description here

$\endgroup$
4
  • 1
    $\begingroup$ Yep, that's how you do it! $\endgroup$
    – quellenform
    Aug 9, 2022 at 18:05
  • 1
    $\begingroup$ Yeap ... when nobody is watching ... :) $\endgroup$
    – vklidu
    Aug 9, 2022 at 18:16
  • 1
    $\begingroup$ Don't know if it's the Environment Texture node, but on your model the textures are mirrored compared to the original maps. I strongly suspect that's the reason, because the environment is usually used for the world and it has to be correct when viewed from the inside instead of the outside. $\endgroup$ Aug 10, 2022 at 7:56
  • 1
    $\begingroup$ @GordonBrinkmann ... +1 sure, correct, nice spot :) Fixed in text and node tree, renders kept twisted ... Thank you :) $\endgroup$
    – vklidu
    Aug 10, 2022 at 9:44
3
$\begingroup$

This answer's not in for the win, I think the one from @vklidu is quite all you need. It's just to show specifically what I did to render the following Mars image. Since Mars has oceans in this one, I added another sphere as atmosphere which vklidu already mentioned and inbetween a sphere as cloud layer, just white with a simple noise texture as alpha map. The angle of the sunlight is not derived from real astronomical data, it's just how I wanted it to look:

enter image description here

For the surface of Mars I used two textures, a diffuse color texture (Color Space: sRGB) and a topology map (Color Space: Non-Color). I got them from the same site as vklidu. Most of the "work" is done by the topology map, the color is only for exactly this one purpose, the color of the land.

diff + topo

The next thing I did was to decide how much water I want. I plugged the topology texture into a Greater Than node and changed the Threshold until I like the water distribution (in my case it was 0.17), then used a Map Range node to map the 0-1 input range of the water mask to a 0.3-1 output range for Roughness (so that the water is still shining while the land is completely rough). You can do this with a color ramp of course instead of a map range.

water mask + roughness

To not only have one uniform color for the water but a brighter color for the shallow parts like on color maps for the Earth, I plugged the topology into another Map Range node. Since my water threshold is 0.17, this is the From Max value and refers to the most shallow parts, so it should be mapped to a To Max value of 1. I changed the From Min value so that the shallow parts didn't stretch out to far from the coast, it resulted in a value of 0.16, that's not a wide range but okay. So I mapped the 0.16-0.17 range to 0-1. The result I plugged into a Color Ramp with dark blue colors on the left and the bright blue on the right end.

ocean depth + color

Combining the so far useless diffuse color texture with the water color by mxing it with the water mask, you get an overall surface color like this:

land + water

For the Bump and Displacement nodes I used the same height map which I derived from the topology map as well. Since the everything below 0.17 is water, this should not have any bump at all, only values above this should have an effect on bump and displacement. Therefore I used a Map Range to transfer 0.17-1 to 0-1.

displacement

As mentioned above I created a new, slightly larger sphere with a simple white material where I plugged a Noise Texture in the Alpha input to created something that looks a little bit like clouds. And all this combined gives the finished Mars surface.

clouds + result

Here just a quick overview how this material got together (for the diffuse color I used a RGB Curves node to adjust the surface color to my liking, but that's not necessary depending on the desired color):

material

By the way, just a quick addition: instead of using the black and white water mask in the Mix RGB node to switch between land and water, you could also plug the ocean depth map in there which I used for the water color. This way, the shoreline will not be bright blue but blue mixed with the red color of the surface. This might look better/more realistic(?), but I think it makes it harder to see if there is water or just darker land. It's also a matter of taste I guess. You can also go crazy and mix water mask and ocean depth before using it ;) For comparison, left is the water mask "blue shore", right is the ocean depth map "red shore":

shore comparison

$\endgroup$
1
  • 2
    $\begingroup$ Great extension ;) Masterpiece is always in detail. $\endgroup$
    – vklidu
    Aug 10, 2022 at 15:10
1
$\begingroup$

If you want to produce a picture of something, you always need to know what that something is first and you also need to know how it looks. Without knowing what you want to make, you cannot make it. So first step would be finding out how Mars looks and how water on a planet looks. Luckily, we have photos of Mars and also Earth that is covered with water. NASA kindly shares this stuff freely.

I would recommend having as many reference images as you can find physically in your sight all the time while working. The main thing is to combine images to a good texture, else than that, the photos do not look like they would need any complex shaders. They look quite simple and 'flat' mostly: enter image description here

A simple diffuse shader with rim lightened by Fresnel effect for land mixed with some glossy shader for water should do. Observe color and lightness changes related to view angle to the surface direction - you can replicate those mixing different shaders or colors with layer weight node. If you decide to go for atmosphere, you may also want to add a slightly bigger sphere with some clouds mixed with mostly transparent shader. The trick of making it believable is observing the examples of how the real stuff looks.

$\endgroup$
14
  • $\begingroup$ Agree +1. However, the pictures shown by you are actually not photos, but generated pictures, which were put together from a multiplicity of measuring data of different wavelengths. Only as additional info. $\endgroup$
    – quellenform
    Aug 5, 2022 at 23:56
  • $\begingroup$ @Martynas Žiemys thanks for replying, the first photo of the post is my attempt at creating the planet with water. I have the nodes set up so that it looks like that, the problem is having the water appear in the geographically correct areas of the planet(i.e., not on mountainous areas) preferably by using the height data that would be provided by the topography map of Mars while simultaneously giving it the appearance of the PBR texture used in the second photo. $\endgroup$ Aug 6, 2022 at 0:12
  • $\begingroup$ @quellenform What's a photograph? A generated picture that is put together from measuring red, green and blue light(usually) - those are different wavelengths of electromagnetic spectrum as well. If you have a panoramic photo stitched from multiple photos that's still a photo as well and if you edit it in Photoshop, it's still a photo. Those are are definitely photographs - graphs of photons that are measured. Doesn't matter much anyway. $\endgroup$ Aug 6, 2022 at 10:23
  • $\begingroup$ @Adrian.EXE I suggest using some chosen height from that height map to mix water and land shaders you make looking at your reference images of how water on a planet looks and how Mars land looks. Water and land shaders mixed by that data should to be more believable - could look something like the photos I found or maybe you can find better reference matching your idea closer once you research how the things might actually look some more. I think the first issue here is lack of research for visual reference because your result doesn't look like Mars at all. It's a step that cannot be skipped. $\endgroup$ Aug 6, 2022 at 10:41
  • $\begingroup$ One more thing - you probably need black and white version of that height map. The rainbowy one will not be convenient to work with at all. $\endgroup$ Aug 6, 2022 at 11:12

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .