Jump to content

  • Log In with Google      Sign In   
  • Create Account


Lousy lighting.


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
7 replies to this topic

#1 Vlion   Members   -  Reputation: 151

Like
Likes
Like

Posted 17 September 2001 - 12:49 PM

I have fog figured out and placed in a tight little class. On to lighting. What are the minimum elements to place a light at (0,0,0) that will radiate outward in all directions ? For some reason only ambient is working. Oh yeah- does OGL normally have shadows ? ~V''lion I came, I saw, I got programmers block. ~V''''lion

Sponsor:

#2 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 17 September 2001 - 03:12 PM

> Oh yeah- does OGL normally have shadows ?

No. You have to use special techniques to get them.
Be warned: standard OpenGL lighting is pretty primitive and quite unusable for good quality 3D. It gets somewhat better, if you use pixel shaders, such as DOT3. But this is still not satisfactory, since you don''t have shadows. The only really high quality method, allowing soft shadows and radiosity, is to use lightmaps.


#3 Null and Void   Moderators   -  Reputation: 1087

Like
Likes
Like

Posted 17 September 2001 - 03:30 PM

DOT3 doesn''t use pixel shaders. I should know since my video card doesn''t support pixel shaders, but it does DOT3 just fine . OpenGL lighting looks a lot better if you break larger polygons into smaller ones, but I do agree that custom lighting ruitines are normally preferable.

[Resist Windows XP''s Invasive Production Activation Technology!]

#4 Anonymous Poster_Anonymous Poster_*   Guests   -  Reputation:

Likes

Posted 18 September 2001 - 04:28 AM

> DOT3 doesn''t use pixel shaders

It evaluates a complex function (normalized dotproduct) at every drawn pixel. That''s what a pixel shader does. Don''t confuse a hardware pixelshader with the pixel-shader extensions. DOT3 uses a more primitive hardware pixelshader on the 3D processor, the freely programmable shaders on GeForce3+ or similar are just the same concept, but more advanced, since you can specify the complex function yourself.

The problem is, that no 3D card using todays 3D chip concepts will be able to automatically display shadows, since this would require global knowledge about the scene itself, and not only at primitive level. An exception might be the light-z-buffer method, but the results are not very good, and good soft shadows aren''t possible.

Use lightmaps for static shadows (or adaptive subdivision, if you want to go insane and DOT3 lighting combined with stenciled shadow volumes for dynamic lights.


#5 Vlion   Members   -  Reputation: 151

Like
Likes
Like

Posted 18 September 2001 - 08:25 AM

Thanx.
Seems to me that the most realistic shadows would be ray-traced per-pixel. It that so ?
~V''lion


I came, I saw, I got programmers block.
~V''''lion

#6 Blueshift   Members   -  Reputation: 122

Like
Likes
Like

Posted 18 September 2001 - 09:30 AM

> Seems to me that the most realistic shadows would be ray-traced per-pixel. It that so ?

Depends on how you define ''realistic'': perpixel raytraced shadows are the most physically accurate ones for 100% non-reflective surfaces in vacuum. Now the problem is, that on earth you don''t have non-reflective surfaces and you have an atmosphere. That''s why raytraced shadows aren''t very realistic, but look rather synthetic.

The most realistic lighting method known is radiosity for mostly diffuse surfaces. There is some interesting research about combining radiosity with raytracing to get realistic lighting for diffuse and specular surfaces. Images generated that way are very impressive, but they are also very non-realtime

The best realtime method today is to calculate a radiosity solution with lightmaps and use DOT3 for specular highlight. Dynamic lights can be done by the DOT3/stencil shadow method or by modifying lightmaps. The later is more CPU intensive, but can look better, depends on your algorithms.

A.H aka Blueshift


#7 Null and Void   Moderators   -  Reputation: 1087

Like
Likes
Like

Posted 18 September 2001 - 11:25 AM

Ok, sorry, for some reason I automatically think "programmable pixel shaders" whenever I see "pixel shaders" ATI and NVidia have forever warped my mind with their press releases .

[Resist Windows XP''s Invasive Production Activation Technology!]

#8 ANSI2000   Members   -  Reputation: 122

Like
Likes
Like

Posted 22 September 2001 - 03:19 PM

Can''t the stencil buffer be used for that?? To get the most realistic as possible...




Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS