Planetside Software Forums

Support => Terragen Support => Topic started by: PG on November 11, 2008, 03:39:54 pm

Title: Reflective shader on moon
Post by: PG on November 11, 2008, 03:39:54 pm
I'm trying to get a moon render done for the competition but I came across this problem with the reflective shader. I applied it to a secondary planet but there was a specular reflection and the ambient reflection wasn't strong enough, so I turned down the specular highlights and increased the reflectivity and encountered this. It only happens if I put reflectivity over 1. Is there another way I can get better ambient reflection without a specular highlight?
Title: Re: Reflective shader on moon
Post by: Matt on November 11, 2008, 04:20:40 pm
What do you mean by ambient reflectivity? What kind of effect are you looking for? Everything in this scene is dark except for the moon, so there isn't much to reflect.

Matt
Title: Re: Reflective shader on moon
Post by: PG on November 11, 2008, 04:23:41 pm
By ambient I just mean a more equal spread of light as opposed to the specular highlight.
Something like this.
http://jrscience.wcp.muohio.edu/thumbs/WaxingMoon20898.jpeg
Title: Re: Reflective shader on moon
Post by: Matt on November 11, 2008, 04:40:15 pm
The reflective shader is designed to create specular reflection (like a mirror), or nearly specular reflection. In CG, specular/mirror reflection is sometimes split into two parts: specular highlights from light source, and specular reflection of everything else. The reflective shader does both of these things.

The kind of reflection that you see on the moon is diffuse reflection, usually just called "diffuse" in CG. Most of the standard shaders in TG use a model of diffuse reflection whenever you do anything with colour, so you shouldn't use a reflective shader here.

The problem is that the standard diffuse models don't look exactly like the moon because of the complex way that it scatters light. There isn't really an easy way to make TG surfaces look more like the moon yet, but you might get better results if you increase the gamma on the render. You'd have to make the rest of the scene darker though.

I think the simplest change you could make to get your moon to look more like the one in the photo is to make it much brighter. Try using larger values for the shaders you have on the moon. Maybe 5 times as large. A more realistic way of doing it would be increase the sunlight intensity or the camera exposure, but you'd have to change other parts of the scene to keep them dark.

Matt
Title: Re: Reflective shader on moon
Post by: dandelO on November 11, 2008, 08:10:48 pm
This one here uses simple luminosity to make the entire object brighter... I think I used the b+w image map as the luminosity function but you don't need to use a function.
It's not 'correct' because it isn't Earth-glow/reflection but it goes some way to making it more Moonlike. The left-hand side looks like it isn't as bright as the rest, this is the clouds, covering it slightly, not a render error.

[attachimg=#]
Title: Re: Reflective shader on moon
Post by: PG on November 12, 2008, 04:41:52 am
Cool, could you attach the image map you use? the one I've got is awful, also how applying it? Might just be the texture itself but I can never get the damn thing to either fit the entire surface or stop stretching to such an extent that it looks like someone has spun the moon round like a basketball. And thanks for the tips here. In order to make the moon brighter in the sky I just increased the high colour until it was white  ;D Not very realistic I know but in Kent the moon looks quite small so you can just about see the details of the surface but the lighting of it seems to be fixed by this, I wanted to get the light reflected by the moon to be shown on the clouds surrounding it though so I placed a sun at the location of the moon, decreased the strength to 0.0477529 and turned on soft shadows. Seems to work pretty well but does anyone know how far away the sun is from the planet because I tried using the painted shader to paint a mask for clouds around the moon and it seems to miss that area completely, making the brush look slightly bigger when it goes over that area, implying that it's painting over a closer surface.
Here's how it looks so far anyhow. Those rings aren't because it's JPEG. I don't actually know why they're there.
Title: Re: Reflective shader on moon
Post by: dandelO on November 12, 2008, 05:54:20 am
No problem. Here's the url's to the 2 images I've used for this moon test.tgd...

[attachimg=#]

Colour/displacement map: http://rockyknuckles.googlepages.com/moonfull.jpg

Luminosity map: http://rockyknuckles.googlepages.com/moonfull_luminosity.jpg

You could just use one map but I have edited the image to use in the luminosity channel to apply more white at the bright spots.

Huge displacement is added with the main image-map(500,000m), this is really high but it is just to give some texture from this distance away. Just make sure you lower the displacement in the default shader if you shrink the moon planet.
And, if you do shrink the moon, you'll also have to resize the images in the image-map shaders. So far I've had no luck with spherical or object UV mapping, I just use through camera and line it up with the planet's edges with the image-map shader transform controls.
The easiest way I find to do this is to set each map to 'position centre' and because the moon is bang on centre in this render view I use co-ords: x=0.5 y=0.5 and resize relatively until the face of the new planet is covered correctly, in this case I needed size 0.425 in both boxes(because the image is projected through the render camera you don't need different sizes to match aspect ratios).

You can have your moon anywhere, not just centred, you just need to change the sizes and co-ords of the maps to fit.

Title: Re: Reflective shader on moon
Post by: dandelO on November 12, 2008, 07:55:57 am
If you move your sun to anywhere other than directly opposite the moon(behind the camera) you'll need to mask the luminosity image to get the crescent moon to render correctly.
If you leave it at the settings above, the entire moon will still glow because of the luminous value.

Here I've used a painted shader to paint a black circle(as suggested by Matt for removing clouds from a fractal), roughly the same size as the moon, with some fall-off, paint a line on the moon surface away from the sun's heading.

This is used as the blend shader to the luminosity map, leaving the light only appearing on the area that isn't black in your mask.

[attachimg=#]
Title: Re: Reflective shader on moon
Post by: rcallicotte on November 12, 2008, 09:30:23 am
Thanks for making this clear, dandelO.
Title: Re: Reflective shader on moon
Post by: FrankB on November 15, 2008, 06:22:26 pm
Quote from: PG on November 12, 2008, 04:41:52 am
Those rings aren't because it's JPEG. I don't actually know why they're there.


If I had to take a guess, I'd say, the rings are a consequence of having reduced the jitter for the atmosphere.
Title: Re: Reflective shader on moon
Post by: PG on November 15, 2008, 06:48:01 pm
Well I haven't changed any of the jittering settings. Sample jitter on the atmosphere is still at 1 and the microthiny jitter and detail jitter are still on. Thanks for all your suggestions. I wish there was an easier way to apply image maps.
Title: Re: Reflective shader on moon
Post by: nethskie on August 10, 2010, 06:13:34 pm
thanks for this thread it inspired me. Here's a double mooned planet however in just simple settings  :)

(http://th07.deviantart.net/fs71/150/f/2010/222/8/f/Terragen_2_Dual_Mooned_Planet_by_nethskie.jpg)

Full View (http://nethskie.deviantart.com/art/Double-Mooned-Planet-174819893)