Has there, since the introduction of the water shader transparency tab, been optimizations made to the way transparency is rendered?
I ask because before, I would be able to create a sphere object, use my custom transparency shader(water shader) as its surface and could get a clear surface, e.g. this example by Marlin...
(http://forums.planetside.co.uk/index.php?action=dlattach;topic=8031.0;attach=20514;image) even at lower render detail, as in this example image, the sphere would be clear.
Now, though, when I apply my previously working transparency shader to a sphere, I get this result(0.5 render detail)...
[attachimg=#]
There are lots of black render errors all over the entire sphere. It looks terrible. I've tried upping render detail as far as '2', upped antialiasing(with no customized samples), upped GI levels, etc. Always these black dots on a sphere.
This does not happen on plane objects or other imported models(windows etc.) which are one sided._________________________________________________
I also recall this quote from a release discussion post(what a thread THAT was, eh? :D) by Matt:
Quote from: Matt on March 26, 2008, 10:06:45 AM
Quote from: Tangled-Universe on March 26, 2008, 09:53:06 AM
(I presume the blocky intersection of the water with the stone in the first image is due to the displacement of the stone itself?)
That stone is displaced quite heavily and the microtriangles are stretched quite badly even in a waterless render. That's made worse because the underwater surfaces in these last two renders are at lower detail than the main detail level, but there will be an option to control that. I don't really see a blocky intersection with the water, but the stone is pretty blocky and the variation in colour of the fake stones on top doesn't help either. (The part that I think you might be looking at is all underwater and what you're seeing is fake stones colour variation.)
Matt
The bold part is what I'm referring to, will we have this option added to the water shader at any point? I'd really like the option to be able to sacrifice render time for better sub-surface output quality.
Here's an imported sphere object. It displays pretty much the same results:
[attachimg=#]
And here's the transparency shader, working correctly on a default TG plane object:
[attachimg=#]
Something has changed along the way, curved surfaces seem to not like the water shader now. ???
totally right but, testing this, i get on something that could be interesting for something else : someone was looking for an idea to reflect light and when i put crazy values on water shader (connected on a 100m sphere) : transparency 10000 decay distance 10000 decay tint 0.002, the light is reflected on the ground around the sphere.
Ha! Transparency = 10,000! Pffft! There's your lightsource! :o
Interesting... Caustics of a sort. But since the light doesn't seem to be travelling through the water you might try adding another zero to the decay distance and maybe halving the transparency to see if the light from inside will cast across the ground beneath it once the ball is see-through. ??? Cool idea, such a high transparency number.
I wish I knew what's happened with the water shader these days since the original in the technology previews, though.
As far as I could see, there was no need to optimize transparency rendering(if that's indeed what has been done), it rendered fast enough for me with very clean results. The sphere was my first port of call to test it out. I thought it was fine, certainly not too slow to render considering what we all expected before there was transparency in TG2, I was pleasantly surprised to be able to make glass balls and such that looked really good...
I still do want that level of sub-surface detail option that Matt talked about.
I could never get the water shader to work at all for transparency. That's why I started playing with the reflective shader.
I've had the same trouble. Only way to get water shader to work for transparency is for my own objects. The internal sphere object does not seem to play well - as dandelO already showed. I quickly imported my own sphere object (crude) which will work even at low res, but still no where near what was shown earlier in this thread.
and if you uncheck the "Visible to other rays" in the Sphere ?
nothing more...
the water shader does need some improvement as the detail of the underwater landscape s really ugly ;)
Quote from: Seth on May 24, 2010, 05:38:48 AM
nothing more...
the water shader does need some improvement as the detail of the underwater landscape s really ugly ;)
That's by design. There's a detail setting multiplier for the visible features under the water, and it's set to 0.5. That's why it looks ugly when using normal detail settings for rendering.
However, if you render the water section separately at twice the detail setting you will get as detailed underwater features as your original first render.
I believe some time ago a bug was fixed which caused incorrect rendering of shadows in shallow water, but I'm not sure if this would have to do anything with this at all.
that doesn't mean it is good ^^
being forced to render the water part separately is not very practical ^^
i agree it is far better than before (no transparency at all) but I hope that in the future there will be another kind of transparency that will permit a different kind of technique than a 0.5 detail ;)
Or having the ability to mask between two flavours of water, depending on where you want to show detail.
On an aside, but possibly related note. I've been experiencing some severe black tringles, or spikes, when using functions to displace surfaces, something I'd not had too much on previous builds. Is this another form of optimisation? It's been really frustrating to deal with.
Quote from: Seth on May 24, 2010, 07:00:15 AM
that doesn't mean it is good ^^
being forced to render the water part separately is not very practical ^^
i agree it is far better than before (no transparency at all) but I hope that in the future there will be another kind of transparency that will permit a different kind of technique than a 0.5 detail ;)
Of course it's not good, I didn't mean to say that, but I meant to say that it isn't a bug for example.
In my experience the effect looks most worse when viewing the water from top down.
If you look at water with a 0 to -10 degree angle it looks much better.
Anyhow, as far as I know Matt is aware of this issue and the wish for a setting/option for this.
Oh yes, didn't mean to say it was a bug :)
Quote from: Seth on May 24, 2010, 11:02:40 AM
Oh yes, didn't mean to say it was a bug :)
I do think that this a bug. The lower subsurface render detail isn't what I'm trying to draw attention to here.
Reading Matt's quote in the first post here, the lower subsurface render detail was in place before any of the general public got a hold of the transparent water shader. That's not the issue I'm bringing up in this thread. It worked pretty much the same as how you describe, in that respect.
It's these nasty, black artefacts. It's a far cry from the first time we seen the water shader, know? The first thing I done was to work out how to texture all sorts of things and relish the lovely transparency. I could apply it to a sphere - instant crystal ball, pop it into an object - beautiful block of glass.
I do agree, obviously, that the shadowing issues needed to be fixed so that it was actually rendering these incorrect shadows correctly, as well.
Now when you try these things, though, you get a black spotty object.
What's really interesting, though, is the other thread here(Marc's 'Glass' thread). When you see that transparency rendered, it doesn't appear to be of
any lower render detail than the rest of the scene and, it really
isn't render-time heavy at all. I'm
very impressed with it.
The only real render issue I can spot with it(barring the
'doesn't work every time' factor ;)) is that; back faces of objects that it is applied to do not render, even when checked as 'double sided surface'. This was normal for the water shader, though.
I just wonder, what has happened to transparency render outputs in more recent builds than the TP's. ???
Quote from: dandelO on May 24, 2010, 01:46:27 PM
I just wonder, what has happened to transparency render outputs in more recent builds than the TP's. ???
As far as I know, nothing :(
QuoteAs far as I know, nothing
Well, I thought that, too. There's been no mention of anything being changed in the way it's rendered in any release notes, I don't think. ???
So, where are these horrid black artefacts coming from? They certainly never used to be there. Look at Marlin's sphere in the first post, I can't reproduce this effect at all now with a water shader. It used to be as easy as simply flattening the wave scales, removing patch and un-checking double sided(if an imported object was used). TG spheres, though, worked fine, without any edition.
The closest I can come to it is to try and not have any sky visible in the transparency and un-checking 'visible to other rays', as was mentioned earlier by swissAdA. This clears up any black artefacts on the terrain portions of the transparency but, it blacks out the entire portion that is occupied by the sky and, yes, I've also checked this with the background node both casting and not casting shadows, as this was also a feature that was changed a while back in the default project, (something to do with the ray tracer not working correctly before if the BG wasn't casting shadows), now that this is fixed, though, the BG node is no longer set to be casting shadows as default.
I don't actually use the default.tgd myself, I have my own(in which the BG was still set to cast, I thought this maybe was affecting my results so I unchecked it, same result). I'm now testing this with factory settings, still the same results.
When no sky is visible through your transparent object(camera looking down onto the object)
AND when 'visible to other rays'
isn't checked, then, the results are quite the same as when transparency was introduced.
But, you can no longer have a transparent sphere hanging in mid-air without the refracted sky being black and, when 'visible to etc...'
is checked, the entire sphere is full of black specks...
And, I was wrong earlier on something I said in this thread: that the reflective shader appeared to be rendering transparency at the same detail as the main renderer.
I'm finding now that this isn't true in my tests with default TG sphere objects. It looks just like the water shader, complete with black specks when 'VTOR' is checked.
Maybe imported objects, because of the 'RTO' setting perhaps, react differently?
Ahhh, man, I don't know, I hope that Matt has some advice on these things.
Try turning off Ray Trace Objects in the renderer settings. :P
Pfff! Don't you think that's one of the first things I tried? :D Cheers, man! ;)
I think the answer has been discovered, we just need to wait patiently on a fix coming. It seems the staff are on holiday for a few days(I don't blame them! I'd be running from us lot, too ;)). I've seen Jo floating about a couple of times but Matt would have to confirm what's actually happening here, I think.
It looks like there is a bug here, but I can't say any more than that without digging deeper. It's possible that I changed something in the transparency functions or perhaps in the way built-in objects are ray traced to fix some other problem. The ray tracer underwent lots of small changes for 2.1, so it might have happened then.
Thank you, Matt. Hopefully it won't be a big deal to correct but I know nothing of writing these program functions so, good luck with that! :)
It would be helpful to have as much information and example files as can be provided to help diagnose this.
- Oshyan
Quote from: Tangled-Universe on May 24, 2010, 06:34:27 AM
Quote from: Seth on May 24, 2010, 05:38:48 AM
nothing more...
the water shader does need some improvement as the detail of the underwater landscape s really ugly ;)
That's by design. There's a detail setting multiplier for the visible features under the water, and it's set to 0.5.
And where can I find this[bold face in quote]...which tab...it's nowhere in the water shader I can see
It's a long-desired feature of mine, too, Bobby. I remember reading the bold part of Matt's message(in the first post of this thread, not Martin's one above) and have been eagerly awaiting it for a very long time. I really would love the option to trade render time for quality in the water shader.
I've read Matt saying a couple of times something along the lines of(*not directly quoted*) '...We could easily enable full quality in subsurface transparency rendering but, you wouldn't like the render time...'
I'd not like to have full quality as mandatory but at least, an option or a slider to control this level of render detail would be a very handy feature.
Oshyan, I'm don't have all of the older versions of TG2 saved to this computer at home but I think I have them stored somewhere. I'll try these water settings with v.1.9.xx and v.2.0 once I get my hands on them again.
I think I'm quite certain that this still worked up until the beta release, then when TG went 2.0, I'm not really sure at all. I'll get back to this thread ASAP...
Thanks dandelO, that would be great. I can provide you some older versions if necessary.
- Oshyan
Hi there,
attached are two example files.One is made with the public beta 1.10.23.1
and the other one with the current version 2.1.18.1 as these are the ones
i have installed right now.Hope it's of use to you.
Oshyan. I found an install.msi for TG.2.0.3.1 on a keydrive.
My default transparency shader(custom water shader) works fine on the TG2 internal sphere object in v.2.0.3.1 without any messing about and that's just one public release back from the current v.2.1.
Attached here first is an image of a default TG2 sphere, with only 'cast shadows' unchecked in v.2.0, and secondly, the same image from the same .tgd rendered in 2.1.
Both .tgd's for these images, first saved in v.2.0, second in v.2.1.18.1, are also attached beneath.
As you can see, the atmosphere or background object(whatever it is that's having problems displaying in 2.1 transparency) renders just fine, there was no black-out of atmosphere or any black render artefacts in the transparency in v.2.0.3.1. on the sphere object.
v.2.0.3.1:
[attachimg=#]
v.2.1.18.1:
[attachimg=#]
[attachimg=#]
[attachimg=#]
Hope these are of some help in diagnosing this bug between then and the current public release.
Martin,
Good catch. It's obvious there is a code issue between the releases.
I sure hope this is corrected in the next release if Planetside has the opportunity and time.
Since you turned off shadows I'm guessing there are no light caustics.
Marc, leaving shadows enabled on water objects makes the object cast shadows on surfaces beneath it. The default lake has this option unchecked, too. If it's enabled in lakes/planes, the shadow is cast on the ground beneath the lake as if it were still an opaque object and you don't get to see the correct result.
It's not even required of a TG sphere to un-check 'cast shadows' when using a water shader because it is a one sided object anyway, and it wouldn't cast shadows on its own backfaces because they aren't there.
And, on an object import you'd need to disable backfaces to see transparency anyway, so it isn't required for .obj spheres either.
I'm not really sure why I un-checked it here! ??? :D
In the Bollox population image(http://forums.planetside.co.uk/index.php?topic=9988.msg104155#msg104155), the transparent glass balls still have their shadows enabled.
Probably I'm just used to doing it on plane objects when they are over a terrain, it isn't actually required here. Sorry.
Based on the shape of the ground area in the bad render I'd hazard a guess that maybe IOR is involved with this bug.. ...
Martin,
Thanks for the info. I now forgive you for all the smiley faces. ;)
Thanks dandelO, that should help track it down.
- Oshyan
Still the same black dots with TG3.
I'll look into the noise problem.
Matt
awesome ! thanks Matt
Yeah, that would be great, as it's now quite impossible to make translucent surf, most likely because you have to see through 2 'planes' of water, where the second is viewed through from beneath.
same with 3d waterfalls