Fake Stones / Fake Holes

Started by Mohawk20, October 29, 2008, 06:55:19 AM

Previous topic - Next topic

Mohawk20

Once we got the water shader, people wanted to make Crystals from the fake stones. Matt told us that wasn't a good idea because the fake stones are part of the planet, so you would create holes seeing into the planets black core.

I thought of a solution, just duplicate the planet with all shader except the fake stones shader, and that's what will be visible through the crystals.

But then I had another idea... what if you make the second planet a bit smaller, and give the fake stones an opacity of 0 with the default shader as surface shader. If you add a cloud layer close over the surface, wouldn't you get great shafts of light shining up?
Or if you then give the stones their opacity back, and add translucency, or transparency? I tested it!

Due to upload restrictions here, I'll redirect you to the thread on Ashundar that has all the images in it: http://www.ashundar.com/index.php?topic=4556.msg36057#msg36057
Howgh!

rcallicotte

Wow.  This is making my brain work.  Thank you for that, mister.   ;D
So this is Disney World.  Can we live here?

Mohawk20

Gladly!

I'll be trying a lot of different things, but first I want to get those rays!
Any help with that would be appreciated.
Howgh!

bigben

If you have holes and want rays, wouldn't you use a lightsource in the centre of the planet rather than making a "light" planet?

Mohawk20

Having a planet with a surface layer with a luminosity of 100 should have the same result, shouldn't it?
Howgh!

bigben

Not really. It would be much more diffuse, with the light orginating at the surface and spreading outwards.  A "sun" placed at the centre of the planet would have much more directional light passing through the holes, which is what you'd need to get rays.

Mohawk20

What should the radius be? I'll make the intensity as high as possible and see what happens.
Howgh!

dandelO

Try '1', so it's just visible. Use the strength levels for brightness.
I suppose you could set a new cloud layer to the planet, level it at 0m above the surface - depth and density=1, and use the fake stones shader, inverted, as it's density function, un-check 'enable primary' in the cloud layer to fake the shadow/ray casting. A cheap and quick way to fake it, cloud shadows still cast without using a ray-traced atmosphere.

Mohawk20

I can't get any light in my scene... I placed the light in the center of the planet, so maybe it's too far down, but with a strength of 1e+100 it should illuminate half the universe, shouldn't it?

Thanks for the idea Dandel0, but I don't want to fake it, it should just work like in the real world...
Howgh!

Ogre

I have been lokking into something similar.  I found I need a light source centered at the planet center of a slightly smaller radius with a strength of 1e+014.
"If you find me feeding daisies
please turn my face up to the sky and leave me be watching the moon roll by.
What ever I was it was all because I've been on the town washing the BS down."

-Gordon Lightfoot

Mohawk20

I've hit a bug I can't get out of... All renders stay black, no matter haw much light there is in the scene from this POV (even without clouds and the sun from above), and how minor the changes from the last working render. The only difference was the distance between the outer planet and the inner planet and the light source.

If I change those values back, the render stays black. The preview won't start rendering if I unpause it either. Something is very wrong here...
Howgh!

Mohawk20

Under 480x360 it renders, first image below being last in the ray test, as I can't figure it out with a non-rendering scene...

Below that first render of a follow-up series of diamonds. Fakestones with water shader, IOR at 2.4.
Second planet is a duplicate without fakestones for ground under diamonds. Added brighten an blur effect as overlay in postwork to bring out the glow in the diamonds.

Currently running render has no duplicate planet and a light in the core. Fakestones are a lot higher for better visibility...
Howgh!

Mohawk20

#12
Evolving that last scene I made a great discovery.
(And I got my rays, sortof!)

In below image, I changed the fakestones tallness to 7, and added the core light again.
The light from the core is actually being redirected by the water shader on the fakestones. And you can see the light is not exactly in the center of the planet, but somewhere near to the surface.

It took more than 30 hours to render this.

I adjusted the exr output file in Photomatix to get below result, but it shows best what the water shader does to the light from below...
(Shame of the purple pixels bug though, that's from the Photomatix program, not TG2)


I never knew the TG software was thát good!
Bravo Matt!!
Howgh!

dandelO

I've been frustrating myself with this. I can't get casting atmosphere rays through object surfaces. I'm using the opacity input of a default shader with high density fake stones as the function(this should turn the surface into a mask). The holes are there but no light casting through them is happening, with or without ray-traced atmospheric shadows. I've even inverted the whole thing so the scene is upside down to see if it works when illuminating from above instead of below, nope.
I've tried planes, spheres and planets with lights, suns and simple luminosity. Nope.

This one above is working somewhat, Mohawk. I'm a bit confused as to where the light is coming from but at least it's casting. It seems to be due to the water shader on the stones though, I can't work it with the only opacity function. Like you say, it should be able to be done without all this. Good job getting this far...

Mohawk20

The light is coming from Light Source 01, placed some distance below the planet's surface (so, inside the planet).

My guess why the opacity trick isn't working is because the opacity option is bodgy.
It can only do white or black, which is odd in itself. But I think the problem lies there, that the object is still whole, and we can see the stuff behind it just because some parts of the surface are not being rendered. It's not like the opacity creates holes that are actually parts of the scene.

To prove this would be true is to create an object of a sphere with holed, and load it into TG2 and put a light in it and see if it casts shadows then...


Any thoughts on this Matt?
Howgh!