Shadows In 3D Engine
Question submitted by (15 June 2000)




Return to The Archives
 
  I'm designing a 3D engine, and while I've found good solutions for spatial subdivision, Clipping, Culling, Hidden Object Removal, I can't find a good way of casting shadows and habing lighting. I've looked @ stencil shadow volumes, nVidia stuff with light point of view Z buffer/shadow map... I know that with T&L coming I should use OpenGL lighting, but radiosity seems best... Because the game I want my engine to be used in is playing much with lights and shadows, I'm looking for a fast, good looking, not too hard to program, solution. Any idea of method and/or combinations ?  
 

 
  Well done, you've covered the most popular techniques here.

You've already done all the leg-work, you just need to sit down and pick one. Or decide for yourself exactly what you want (feature-set, quality, performance, etc.) and rank each quality as to how important is to you. Then generate a list of rankings for each quality for each of the techniques you've researched. The one with the closest match gets the cookie. :)

Once you've found the technique that best suits you, you'll find that it probably doesn't match your needs as closely as you would like. Start thinking of ways to modify that technique to better suit your needs. This may mean that you have to choose one of the not-so-closely matched techniques because it's easier to adjust to meet your needs.

I'll call this kind of question a "hanger" because you know what you want but you don't like your choices, so you're hung up on the solution. You're stuck either picking a solution you don't like, or inventing your own solution (which is where these solutions came from in the first place), or simply modifying one of the existing solutions to better suit your needs.



Response provided by Paul Nettle
 
 

This article was originally an entry in flipCode's Ask Midnight, a Question and Answer column with Paul Nettle that's no longer active.


 

Copyright 1999-2008 (C) FLIPCODE.COM and/or the original content author(s). All rights reserved.
Please read our Terms, Conditions, and Privacy information.