| |
Hello.
I've discovered some serious bug with calculation of refraction. There's a scene that shows it well: http://ok.vtc.ru/refbug.zip
Description of bug: With LW 6-7.5 Areas where rays exeed their limits get filled with harsh noise. With 5.6 these ares were filled with accurately shaped spots. Maybe it's okey for stills, and it could be retouched say with photoshop later, but it's unacceptable for animation, as soon as camera starts to move noise in these areas starts to "boil"...
In example scene render can't handle even such simple thing as empty glass with air surface.
It means if you going to animate scenes with good amount of glass (which is quite popular) you'll run into troubles... I couldn't find any acceptable workarounds. If it can't be fixed, i think it would be good idea to have 5.x rendering engine at least as plugin...
I noticed many glass tutorials show that "bug" either..
some comments to scene: that weird blue color that appears at render is background color
| |
There's a picture for those who doesnt want to bother with scene: http://ok.vtc.ru/glass.gif
| |
I remember I had this phenomenon in LW6.5.
It happens because IOR has no clump limits in LW.
Sometimes if you exceed the "limits" LW refracts the backdrop colours even though the camera is in an enclosed area.
You can avoid this by clumping IOR with more "gentle" maps and less weak blending operations and percentages.
| |
Unfortunately if scene contains other objects and some of them are transparent too, it's really hard to control. iI some cases it can be avoided with picture quality drop (removing air surfaces, reducing IOR, setting flat refraction maps), in some cases it's impossible. Well i think LW was created for animation too, not just for print
| |
Excuse me but what is IOR?
Best
Christian
| |
Index Of Refraction
| |
These artefacts are really frustrating
I couldn't find any good workaround. Maybe if someone from coding team read this thread, could you tell if this issue is going to be "fixed" in next versions or maybe there's some "experemental feature" that can do something about it? or it considered as minor flaw and this stuff stuck to Lightwave renderer forver?
| |
seriously, had you intended to render a scene like this? the edges of the frame denote the edges of the backdrop that is calculated. it's refracting beyond the quickie backdrop in there. can you give it something real to refract?
| |
Of course there's more complicated scene with animated water and ice and environment objects.
Things get a way worse than with this sample.
I have to note that stills look somewhat okey untill any movement occur.
And there's only "real" things to refract. Actually it doesn't matter map or "real" objects used for refraction, artefacts appear in both cases.
| |
What are your rayrecursion limits set to?
Have you tried increasing them to say 64? It will take forever to render, but may fix your artifacts.
| |
I tried different settings. 6 - 24 (max) it doesn't help
| |
Select Raytracing + Spherical map, if you want to customize the colour of the buggy-result
| |
Ok, this is becoming a more greater problem than i first thought...
I noticed that if you put a refractive object in front of the camera, then these horrible polygon rendering errors occur...
This doesn't have refractions on...
This does...
I noticed this when i was trying to create a lens distortion effect, for the camera, using a lens shaped refractive object, in front of the camera!
This propably has to do something with the raytracing function...
I think that this is a serious problem, that has to be dealt with right away!!
I'm using 7.5 btw...
| |
Yes, I noticed that too, though not through your attempt to simulate lens.
Refractiong and Reflection are very sensitive to Backdrop (personally I never let backdrop to influence Reflection) and to Ray Recursion.
| |
Antii
I tried to duplicate this phenomenon again.
I think its due to your non-planar "lens polys"
and the lack of back-poly calculation.
These black areas are Refraction of backdrop.
There are various workarounds to solve this
| |
Antii
I had succesful distortion with dual-side Transparent Lens Geometry without any problem at all.
The problem you have is because of your lens-model.
It works quite beautifully, but there are some weaknesses due to LW rendering engine:
1. Lens Flares dont refract.
2. Buffers cannot be exctracted directly because they are hidden behind the lens-geometry.
3. Sasquatch dont refract by default unless it becomes Volumetric (someday soon I hope)
I wish LW[8] will have this raytracing method as native without the need of cheats or plugins. I requested a non-pinhole camera before.
Also, some Light-Plugins door are a must nowadays.
You can use this as a replacement with the mentioned weaknesses :
http://www.arrakis.es/~juanj/
| |
Panikos
I've tried that plugin before and it gave me the same rendering errors...
This is rendered using the Special projection plugin...
This is also why i tried the lens object in the first place... I still think that this is a problem with the raytrace function!
It might be due to some sort of speed optimization they implemented in 7.x
I don't know for sure though... But i hope they are trying to fix it, and release a patch or something...
| |
Can you please zip/send me the project at :
panimation@cytanet.com.cy
It is public domain data, as far as I know, I saw this several times, reminds me of Wavefilter.
I want to check and see.
Thank you in advance
| |
Antii
Thank you. I received the project and duplicated your image.
There is no doubt that LW's internal refraction algorithm, if raised above a level creates these errors, taking into consideration the backdrop.
In my attempt, I made a lens-shape geometry, dual-sided and disabled the backdrop-calculation into the refraction (Refraction map : Raytracing + 'blank' spherical) and works more reliably.
This forces LW to ignore Backdrop, like it doesnt exist, and basically it calculates the Raytraced Refraction + Zero (Black), so it works.
In a backdrop case, you just surround your scene with a tesselated flipped-ball surfaced as backdrop and render.
Its important that there is no hole on your ball-backdrop replacement.
Backdrop shows up in ways I cannot troubleshoot, since the # of Recursions plays a role here etc.
Keeping Refraction at meaningful levels also is important.
the bug is there ...
| |
Last conclusion : seems that LW Refraction displaces visible polygons. The sample images here testify that LW-Refraction in high values, creates non-planars, thus the holes at the joint of polygons.
Its not actually a convolution-based of image-data, but a "vector-based" displacelemt of visible polygons.
I guess this is the reason, SasQuatch is not seen through refraction, nor LensFlares.
| |
Maybe a Maths-Guru can develop a Displacement plugin that would do this on a per-object basis, SasQuatch Compatible, maybe a Light-Motion Modifier for LensFlare too.
Auto-Lens Distortion, linked to Camera-Zoom that would work with everything
A scary idea, but I couldnt resist typing it
| |
Getting closer =O))))))))))))
Open Photoshop, or your favourite Paint-app.
New Image 512x512 pixels size.
Draw a circular gradient, white at edges and black at center.
Save Image : Distort.IFF
Run LW.
Load Image.
Load an object, a teapot for example.
Texture Displacement :
Add Layer Additive: Image :Front Projection - Camera - World Coordinates
Add Layer Alpha : Distance to Camera Gradient 0-Zero 10m : 100 (for example)
It works but is not that inteligent.
I will try to add Camera-Zoom with expressions to see.
=O)))
| |
It doesnt work, low-poly models cannot displace / barrel distort
Anyway, I least I learn more =O9
| |
This rendering errors come from fact that LW primary renderer is not a raytracer, so first pass render using Z-Buffer algorith, and raytracing are only used in reflection/refraction/shadows/radiosity solutions. Primary renderer work very well with non planar and displacement polygons, but ray tracing causes this kind of artifacts.
Special projection engine uses internal LW raytracing functions, so errors are there like you see all scene with refractive plane inside camera.
All plugins that render geometry or effects and are not created using excelent volumetrics plugin archiecture, are invisible to ray tracing. The only one plugin that i know that render geomtry using volumetrics is HD-Instance from Happy-Digital, who is compatible with all ray tracing functions. Perhaps sasquatch must be implemented i this way, and not as pixel filter type plugin.
I think that LW[8] must implement any kind of camera shaders, where you can define how to project geometry into image plane ... but i think that using Z-Buffer algorithm used as primary renderer in LW, it is more dificult like in pure ray tracers, like Mental Ray.
Regards,
Juan J. Gonzalez
| |
Gracias Juan
=O)
| |
The algorithm I mentioned above, is what actually LW is doing internally.
i.e Displacement of polygons according to their distance to the camera.
Thats why in very wide-angle shots, low-poly models like the corners of a room, appear distorted but straight and not barrel-like.
Thats why High Refraction values "corrupt" the polygons into non-planar, revealing the backdrop behind.
Even though this algorithm works for pinhole cameras, we definitely need something that will really distort the camera-view in a curvy-fashion, both inwards/outwards.
Juan, I absolutely agree about a Camera-Plugin
| |
I'm guessing cause I haven't explored this fully, but as far as I can see, there's no reason in principal why this effect couldn't be achieved using a pixel filter plugin.
All you'd have to do would be to use the raytrace functions that are passed to the plugin, to raytrace a distorted projection from the camera surface. This wouldn't be trivial, since for every ray you fired, you'd have to follow it up with extra bounces and refractions for transparent and reflective surfaces. In effect you'd have to carry out a full render manually (and that's not a coding job I'd particularly like to try to do).
So as far as I can tell it is possible, I just don't think anyone can be arsed! ;-)
Andy
| |
Hmm, just thought, I think it would be even worse than that cause you'd have to calculate the colour of the surface you'd just hit from the various parameters provided by the surface. Plus stuff like Sasquatch and Hypervoxels and any other surface shaders wouldn't work since there'd be no way of figuring out what sort of effect they caused on the surface.
Bummer.
Oh well, an alternative idea might be to generate a cubic environment map from a scene (i.e. use 6 cameras), and then map the images onto a subdivided cube, which you could then distort at will using morph objects.
Andy
| |
Yes, a pre-render of a subdivided cube per frame works.
But again, elements that dont involve geometry are misplaced : LensFlare, Sasquatch etc
Plus LW internal Buffers accessible from PixelFilters, ImageFilters (i.e XDOF, etc) are lost so post-processing Plugins wont see valid results.
The process of sub-d-cube and distort should be
performed during rendering, so all LW internal buffers would have the same effect.
Plugins like G2, XDOF, SasQ will work on new distorted LW-internal buffers.
("Distorted" here is a subjective word, since only on WideAngle and Telephoto shots you observe this phenomenon. I use this word to indicate Lens-Distortion)
I am sure that the developers have the wisdom to approach this feature in a better/faster way, anyway.
=O)
| |
This kind of bugs are not good at all, I hope we have a solution in the next version of LW.
Best
Christian