Just thought Id share an image where I try to simulate True Global Illumination*.

There are a few problems, mainly intensity, but idea seems sound.

The floor near the shiny surface receives some reflected light, but as is the main problem, there isnt enough light being reflected.

There is a slight hint of reflected light on the duct on the ceiling, again, needs more

There should be greater propogation of light down the corridor

So, to acomplish this in the current build of An8 as of 1164:Set all materials to class(glossyreflector) and set the specular componant to 0.5 with diffuse to 1 and roughness to 10 (initially 1 but saw no light, any higher than 10 causes too much image reflection instead of light reflection)Copy any diffuse texture to the specular componant (to prevent 'bleaching')

I tried a higher specular but the room turned completly blackI tried a higher diffuse value but it didnt change the intensity of reflected light.

Also note that AmbientOccluder was on, however this far into the corridor only shows the sunlight that penetrated the hangar.

Im sure a true Global Illumination model could be made from this by increasing the intensity of reflected rays.

Trev

Tried another one with specular at 0.99 and diffuse at 200doesnt really help, still overloads the light while not reflecting much.

The basic OpenGL and D3D lighting models are far from physically correct. They were designed to allow reasonably realistic, real-time images with available technology. For example, the ambient lighting component is just a hack that very crudely simulates diffuse global reflections without having to do any global modelling.

Anim8or's ray tracer uses a quasi-physical based model. It's not 100% accurate because it allows energy reflections greater than 100%. For example when using classic Anim8or materials (class=anim8or, the default when there is no class attribute) if the sum of Ka, Kd and Ks are greater than 1 the surface can reflect more energy than it receives.

The new ART materials, class=glossyreflector, transparent, and dielectric, are closer to being physically accurate *if* you don't set the values of Ka, etc. to values out of range.

Now to your model. It uses rather extreme lighting, with extreme contrast. Only a tiny percent of light that enters will reach the far corners of the room. Almost all rays are absorbed before they make the multiple bounces off of the room on their way. They dynamic range of light values far exceeds what a normal computer monitor can display.

You can add more light to the scene. Anim8or limits the energy of a light (to 255,255,255 or 100% white in computer graphics terms) so you'll need to add more lights. This will wash out the bright areas (am unavoidable consequence of the extreme contrast of the scene).

You're using class=glossyreflector but haven't specified the other material properties. The value of the attribute Kr is important. (If you didn't add it then Anim8or uses the specular factor Ks in its place). The higher this value is the more energy will be reflected, but it will also mask the basic color of the underlying materisl. Also if you set the roughness very high it will make the surface more mirror-like.

"You're using class=glossyreflector but haven't specified the other material properties. The value of the attribute Kr is important. (If you didn't add it then Anim8or uses the specular factor Ks in its place). The higher this value is the more energy will be reflected, but it will also mask the basic color of the underlying materisl. Also if you set the roughness very high it will make the surface more mirror-like."

Ah yes, thats correct, I only set glossyreflector and used Specular for Reflection intensity (0.99 - almost entirly reflected. at >1 the scene truns black since I assume it reflects all the rays and never back toward the camera)And yes, Roughness is 10. at 1 there wasnt enough of a bright patch but > 10 causes too much image reflection (polished mirror, which is not what I want, I want 'diffuse Inter-reflection')

Yeah, while the light is far away, with the bright patch overloaded to burnout, this should be anough to reflect more rays.The patch on the wall is actually looking directly at a sun type light, so its receiving 100% light already anyhow.

"It uses rather extreme lighting, with extreme contrast. Only a tiny percent of light that enters will reach the far corners of the room. Almost all rays are absorbed before they make the multiple bounces off of the room on their way. They dynamic range of light values far exceeds what a normal computer monitor can display."Erm, yes, the only way to test Diffuse Inter-reflection is to look down a corridor with only 1 diffuse light source, i.e. A Primary light source that is bounced off a primary wall to make a secondary (diffuse/reflected) light source.As for the contrast, theres nothing I can do about that, thats ARTs desision.Also, as can be seen, the Secondary Light source has a value of 1.0(255), this should be = to adding a local light of 255 at every point (although this is where calculations get dificult) and then bouncing that ray to the next surface. That secondary wall will be lit by 1/(distance^2) power light

"but it will also mask the basic color of the underlying materisl."Yes, if Specular is set to colour only then it doesnt show any texture, I copied the texture to specular and now it shows the texture.Would this not be nessesary if I re-set specular to 0 and then used Kr?Ill test it

Trev

Ok, tested using Kr. Kr is better than Specular as it doesnt add an untextured layer over the base (causing all reflections to appear just grey) so no longer a requirement to assign a texture to Specular.However, Kr is still limited to <1. I have just done another render and this time Ive used 0.5 and it looks the same as the one posted above (will post once render complete)

It seems that as you increase Kr, the darker the surface becomes. At 0.5, as much light is reflected as is refracted.My lighting is still at 10 though (equivelant to adding 10 suns (infinit lights))

Also, I dissabled Ambiant Occlusion, hehe, whats the point in having it on when this replaces it more accuriatly

Taking a real scenario of this render (Bright sunlit door and no lights on inside), the Diffuse Inter-reflection is definatly more intense than ART is achiving.

Init=0.54, render=3399.69, rays=63307553

I made a composit of an extremem render to get an aproximitly better result, still not perfect though.

It makes no sense to make is greater than one - that would cause the amount of light energy in a scene to increase each time a ray hit something. The total amount of light energy in a scene is the sum of the energy in all the lights, nothing more. When light hit a surface part of that energy is absorbed and part is reflected, depending on the particular properties of the material.

As I've said, your scene has a very high contrast ratio because the percentage of energy (per area) that reached the back wall is a tiny fraction of what strikes the brightest parts. A normal computer screen can only show a portion of the range of energies present in this scene.

There are "high dynamic range" (HDR) techniques that compress this contrast into a more visually (to many people) image but Anim8or doesn't currently support this.

To have a reflected ray increase in intensity would be silly, but I tested to see if there could be a way to brighten the image, obviously any value after 1 causes the scene to be black.

"There are "high dynamic range" (HDR) techniques that compress this contrast into a more visually (to many people) image but Anim8or doesn't currently support this."

Ah, Prahaps this is what I see in other renderers. I mean, I understand that a monitor is limited to 0-255 and that our vision is way, wayyy higher than that.

I guess this has become the norm for me when rendering Kitchens in Compusoft Winner.

To digress slightly Winner renders scenes similarly to Blender in that its like Old web pages. It first shows 16x16 pixles over the screen and progressivly subdivides these pixles.Unlike Blender it has a 2 pass method.It first uses something called a GI estimator before Raytracing.

In the previous post I said Id post a real scenario of the rendered scene.

Here (2015_03_10_23_16_22.jpg) I used the Kitchen light and no other light was on.I concede that the far end of the hall which is much closer than in the scene is pretty dark, however the biggest difference is in the near field brightness.The Secondary Light source is on the left wall. This causes the wall on the right to appear quite bright and as such causes a tertiary light source.This propagates down the hall and the door frames are quite visible.

Most of the light seen is mostly secondary and tertiary with any 4th and 5th being noticable only in shadows and on the backside of the doorframes (hidden from view)

Anyway, Im sure you are very well aware of lighting and the mathematics of it. Im merly pointing out that photographs seem to differ from renders. It might be that using glossyreflector is not going to work and that another method is required.I just assumed that glossyreflector should work since its the same technique, bounce rays round.

Trev

P.S. the other 2 images use the hallway light.2015_03_10_23_01_39.jpg again shows secondary ant tertiary light.2015_03_10_23_04_37.jpg shows 4th light which is almost non existant on camera, even though the human eye can see fine.

I made this with AA set to 1024. It took a few hours, I forgto to record the number of rays.

i was unable to use Anim8or in my company PC (where i am working now mostly), having intel G41 chip, Windows7 64bit and built-in graphics. i was sad and stopped trying it after many failure (though 3D Max 2012 work very well in it)!

but recently i get graphics driver update from intel (directly from intel not of motherboard manufacturer!) and it is working like before! (my usual PC is of celeron with winxp/ winxp live/ windows server 2003! and it work well there)

do you use 'Silicon Graphics' spec of OpenGL or of major vendor (like S3) or that of intel? can't you make it more supported esp. to that of major vendor?

The OpenGL spec is standard across all companies. There are multiple levels of OpenGL but Anim8or works with everything from 1.1 to the latest 4.5.

There are also a lot of vendor specific extensions but I don't use any. Unfortunately some vendors (he looks at Intel with a painful grimace) don't test their drivers very well before releasing them, and consequently they can be buggy. The best thing to do when there is a problem is to check for an updated driver.

You can query OpenGL drivers for what extensions they support. Anim8or always does this before using them.

I wish I could test Anim8or on all the thousands of different versions of chips, OSs, drivers, etc., but that's simply not possible. I do have some things built into Anim8or to help locate certain issues which has helped me find workarounds in the past. For example, if you stare Anim8or with the command line argument -traceinit it will show it's progress as it's starting up.

my point is same PC motherboard with same OS and other software installation but one time having driver that come with motherboard another time that i get from Intel driver update but Intel driver is working but not that of manufacturer update, strange!

also in my own celeron based PC WinXP show S3 graphics opengl driver / support with no quad viewport, but when i run it in Windows Server 2003 with GDI and bundled OpenGL driver / support it give full support even hardware render become useable!

note: allow us to log init / crash data so we can send you to help you more ...

Can you make a debug option to retain the vertex order from an obj import AND maintain that order on export.

Any NEW vertexes should be at the end of the list although for this debug there really shouldnt be any change in the number of vertexes.

This will allow the modification of certian models that rely on vertexes being in a specific Index order. EG, In-Game Merging of model1 Index 4 and model2 index 2 (connection between arm and torso). You want vertex 4 to still be the same vertex as before alteration so that the arm still connects to the torso and not the belly button .

kreator: I have a new build almost ready - I've done a ton of clean up, bug fixing (including weight painint!) and added some new things to the Figure editor. It should help with your problems. I'll have it up in a day or so.