no transparency

Started by artemisblue, April 30, 2013, 05:02:18 pm

Previous topic - Next topic

artemisblue

hello. I'm having issues with getting a transparency on a glass.OBJ I made in another 3D program.

for whatever reason, the transparency (I'm using a relflection shader) will render black.

I've tried using a greyscale image for the opacity and it either doesn't work, or crashes terragen.

I'm likely to give up and go to another program, as I've been trying to find a solution to this issue for days, and am not getting anywhere.

yossam

You will have to use a clip file for the glass. Do a search for glass on the forum.

Kevin F

replace your default shader and def_surf_mat_shader with a water shader. Set all wave settings to zero or very small values, adjust colour etc, transparency and decay distance (higher = clearer).
Just tried it  - it works.

artemisblue

Kevin,

I followed your suggestion.

I had to attach the water shader to the def_surf_mat and deleted the default shader.

I cranked the decay distance to an obnoxiously high number (1e+099).

It worked.
Is there another way to get transparency, or is this the best way?

@ yossam - I have no idea how to use a clipping file.

thank you for the quick responses.

Dune

A clip file is a (series of) nodes saved as 'whatever.tgc' and can be imported or copied into the node system. There you have to attach it to wherever you need it or what it's suited for. So, for instance, a set of fake stones shaders/nodes can be attached to the child input of a surface layer. A terrain tgc can be attached before compute terrain.

Kevin F

Quote from: artemisblue on April 30, 2013, 06:57:43 pm

Is there another way to get transparency, or is this the best way?



As far as I know this is the only way. Transparency is one of the features that have still not been implemented. (unless for alpha testers?).

Dune


artemisblue

limited transparency is better than none at all, then.

would I have to add a power fractal node to the water shader to get colour, or is there another way?

Kevin F

Try adjusting the decay colour to suit your needs. Makes nice pale tints.

artemisblue

it works...as long as the decay distance is set to below 100. It won't work on anything more than an obnoxious amount, and there seems to be black noise in the reflections.

Tangled-Universe

Yes I hate to say it, but if you want to do this type of work then you better use other software like Blender, Cinema4D, Modo etc. etc.

This renderer is hopelessly unsuitable for this kind of work. It's meant for landscapes with tons of geometry and not for smoothed surfaces with tons of (inter)reflections and refractions. Hence why it's so slow.

I tried your scene and had success with only 1 reflective shader with transparency. Works like a charm (ahem...read: utterly slow), but the artefacts are killing in number and in visibility. For some of these there isn't a solution, simply because of the above stated reasons.

I'd save yourself a lot of sweat and tears by learning another renderer which can do this properly and keep using TG for your landscape/scenery stuff :)

Cheers,
Martin

artemisblue

that's a pretty blunt answer, martin.  :o
it was originally just the glass, but I forgot to ungroup the sphere when I was exporting in modo (where I was testing the reflection rendering).

I had been using maya with vue xstream, as well as bryce and modo.
bryce does 3d clouds very poorly, and I lost my access to maya for the time being.
I like terragen, since I've been using it for a couple of weeks...but this transparency issue isn't encouraging.




Matt

The following shader works on the OBJ you provided. You can copy and paste this into the node network, and then assign it to the object.


<terragen_clip>
<water_shader
name = "Glass (Water shader)"
enable = "1"
input_node = ""
roughness = "0"
wave_scale = "10"
smallest_scale = "0.1"
wind_patch_effect = "1"
wind_patch_size = "100"
wind_patch_sharpness = "5"
master_reflectivity = "1"
index_of_refraction = "1.4"
horizon_shift = "0.5"
highlight_intensity = "0.5"
min_highlight_spread = "0.01"
transparency = "1"
decay_distance = "1e+016"
decay_tint = "0.75 1 0.5"
volume_1_density = "0"
volume_1_colour = "0.5 0.5 0.5"
volume_1_density_function = ""
volume_1_colour_function = ""
>
</water_shader>
</terragen_clip>

Just because milk is white doesn't mean that clouds are made of milk.

Tangled-Universe

Quote from: artemisblue on May 02, 2013, 06:21:17 pm
that's a pretty blunt answer, martin.  :o
it was originally just the glass, but I forgot to ungroup the sphere when I was exporting in modo (where I was testing the reflection rendering).

I had been using maya with vue xstream, as well as bryce and modo.
bryce does 3d clouds very poorly, and I lost my access to maya for the time being.
I like terragen, since I've been using it for a couple of weeks...but this transparency issue isn't encouraging.


It wasn't blunt, it was accurate ;)

TG is just not suitable for this kind of stuff.
That does not mean that it can't do it, see Matt's reply, but it means that other renderers are much better at it.
In turn those other renderers can't do a lot what TG can.
In the end it means that rendering smooth reflective surfaces isn't TG's thing.

This isn't (meant to be) blunt, nor did I mean to say that it is your "fault" that you can't do something like this in another piece of software.
Actually I cannot either, so I choose not to try these things in TG, because it doesn't work good enough like I pointed out :)

Kadri


Every 3D software has some great strengths on his own but to use all of them you have to cheat,convert, comp etc.
I actually wait eagerly for the day that the standard 3D programs like Maya,Lightwave,3DMax etc.
and 3D landscape programs like Terragen 2  will be in one package.
Lightwave had some Vue integration in the past why not Terragen 2 or 3 in some form for example?