[gameprogrammer] Re: shadow volumes

  • From: milos chmel <xchmelmilos@xxxxxxxxx>
  • To: gameprogrammer@xxxxxxxxxxxxx
  • Date: Mon, 30 Mar 2009 01:59:42 +0200

2009/3/20 Alan Wolfe <alan.wolfe@xxxxxxxxx>:
> Heya,
>
> I'm trying to code some shadow volume code (ie this
> http://en.wikipedia.org/wiki/Shadow_volume) and am hitting a snag.
>
> To render the shadows right you have to find the silouette of the model in
> relation to the light source.
>
> If a model has holes in it for the light to shine through (like a doughnut
> or swiss cheese), finding one silouette edge isn't enough.
>
> I think i have a way to find all the silouette edges (basically check every
> triangle on the mesh that isnt back face culled from the light to see if
> it's and edge, and if so if it's not already part of a siloette edge find
> the edge that contains that triangle)
>
> but thats a much costlier thing i think, so i'm trying to figure out, how
> can you tell if a model has holes in it?  That way i could set a flag on the
> mesh saying it's ok to use the simpler test if there's no holes.
>
> Does anyone know a way to tell if a mesh has holes in it?
If I understand it what You do is You create 2d silhouette from those edges?

I presume You have to build some binary trees to speed-up searching
"does new edge connect to other edges". If You found edge which
connects to other edges - merge it to the tree. Otherwise create new
one. You had to also merge the trees. ..... ;)

It is just a guess. I imagine it as creating outlines and then finding
out which outline is inside of which. If You have some lone edges -
delete them .

>
> Thanks!!
> Alan
>



-- 
"Brevity is the soul of wit." by William Shakespeare
" It IS NOT all FACTS. It IS TRUE. I believe it SHOULD NOT BE BELIEVE
LITERALLY. It IS TRUE."  - jorgipogi

---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: