Retroreflective shader

Started by gregsandor, May 11, 2010, 12:32:47 PM

Previous topic - Next topic

gregsandor

Has anyone figured out how to make a retroreflective shader in TG?  I have a set of highway signs and want to give the surface that extra kick.

A retroreflective surface reflects light back to the source instead of off at an angle away; like roadsigns, safety vests, etc.

jritchie777

You can fake it using luminosity on the default shader.  Match the color of the luminosity to that of your main light, or different if you want yellow to come back from reflective warning signs you just choose a deep yellow as your luminosity.  This also allows you to apply a function to it or an image.

JR

gregsandor

I appreciate that suggestion, but I'm looking for true retroreflectivity.

Does anyone know how to return the light rays hitting a surface back to the light source rather than off at the normal angle?

jritchie777

I can do it in another program DAZ 3D, but not in Terragen.
Good luck with that....

gregsandor

Can you explain how you do it in Daz or Poser?  Maybe I can convert using the principles. 

Goms

can you "draw" what you are thinking of?
i can't imagine a situation where you need this type of reflection.... ;)
Quote from: FrankB
you're never going to finish this image ;-)

gregsandor

Quote from: Goms on May 15, 2010, 03:46:31 PM
can you "draw" what you are thinking of?
i can't imagine a situation where you need this type of reflection.... ;)

Read my first post in this thread.

Goms

hah, good point.
what about this?

Quote from: FrankB
you're never going to finish this image ;-)

gregsandor

#8

Goms

i used two objects; one Tetrahedron with one side as hole, and one triangle that won't cast any shadows and put a light inside. ;)
take a look at the file attached.
Quote from: FrankB
you're never going to finish this image ;-)

gregsandor

Thank you Goms, but I don't see how that solves it.  What I am looking for is a surface that reflects light (or spec only, doesn't have to be true reflection) back at the source instead of off at an angle.

Goms

i think this is the best you will get. you can try to use functions to create a surface that is made from 90° angles...
but this is tricky
Quote from: FrankB
you're never going to finish this image ;-)

gregsandor


Tangled-Universe

Hi Greg,

This is a topic about a fresnel function:

http://forums.planetside.co.uk/index.php?topic=8432.0

You might try to adjust this function with a boolean operator to get reflections independent of a polygon's/triangle's angle to the camera.
So you could try to let the function generate a value of 1 for every angle. Then apply this function to a shader which is restricted to your object/texture of interest.

Martin

dandelO

If I had any valid input, Greg, I'd have done it already.

Anyhow, I've tried this myself, along with some other reflection techniques that I can't remember the correct term for(it involves kind of pearlescent reflections, produced by 2 opposing lattices of the surface, both reflect back different parts of the spectrum, making a kind of holographic/pearly effect, what's it called? ...)

For your idea, I'd say(if I thought it was possible) to try and create a transparent surface with lots of tiny displacements to use as box reflectors over the surface. You'd need to make them each 45 degrees and displaced negatively from the surface you're reflecting but small enough to still appear as a flat surface from a distance. But... Given that the transparent surface would optimize your reflections(making them no longer accurate) and that the box reflection displacements would be render-detail dependant, I'm sure it isn't any type of workable solution.
Not an ideal idea, eh? That's why I haven't posted. I've no sensible input that could be applied.