DevMaster.net Forums
[[ Home | Forums | 3D Engines Database | Wiki | Articles/Tutorials | Game Dev Jobs | IRC Chat Network | Contact Us ]]

Go Back   DevMaster.net Forums > Site Discussions > Articles Discussion
User Name
Password
Register FAQ Members List Search Today's Posts Mark Forums Read

Reply
 
Thread Tools Search this Thread Display Modes
Old 09-09-2003, 05:08 PM   #1
DmEditor
DevMaster Editor
 
Join Date: Jan 2005
Posts: 54
Default

BSP Trees: Theory and Implementation
Author: Samuel Ranta-Eskola
Description: This article offers a detailed explanation of Binary Space Partitioning (BSP) theory for real-time engines, along with various implementation details, complexity anaylsis, optimzations, and rendering.

Post your discussions/comments here by clicking on Add Reply.
DmEditor is offline   Reply With Quote
Old 09-09-2003, 07:58 PM   #2
anubis
DevMaster Staff
 
anubis's Avatar
 
Join Date: Apr 2003
Location: Germany
Posts: 2,328
Default

nice article !
some constructive criticism though...
right at the beginning you say that the bsp tree isn't used anymore for depth sorting a scene. so it would have been nice if you would have written a little more in depth about the uses it has today. what i mean is that instead of only explaining how to construct and render a bsp tree you should have also mentioned how to construct a PVS or how to actually do colission detection with a bsp tree. maybe you could do a second part about that. that would be really cool since i like the style of your article very much
___________________________________________
If Prolog is the answer, what is the question ?
anubis is offline   Reply With Quote
Old 09-09-2003, 08:27 PM   #3
Dia Kharrat
DevMaster Staff
 
Join Date: Jan 2003
Posts: 1,201
Default

Thanks anubis for your comments.

I should have mentioned it before, but this is a 4-article series. The other articles will be:

1. Hidden Surface Removal
2. Radiosity
3. Physics in BSP Trees

That should hopefully answer your question


Thanks to the author for his valuable contribution.
Dia Kharrat is offline   Reply With Quote
Old 09-09-2003, 08:35 PM   #4
anubis
DevMaster Staff
 
anubis's Avatar
 
Join Date: Apr 2003
Location: Germany
Posts: 2,328
Default

oh, that clears it up... in that case ignore my comments =]
hm... i think we can soon start to open different sections for a few tutorial topics
at the beginning a seperation like gfx, audio, general might be sufficent
___________________________________________
If Prolog is the answer, what is the question ?
anubis is offline   Reply With Quote
Old 09-09-2003, 11:22 PM   #5
davepermen
Senior Member
 
davepermen's Avatar
 
Join Date: Jan 2003
Location: Switzerland
Posts: 1,333
Default

radiosity? iieehhk..

ugly
___________________________________________
davepermen.net
-Loving a Person is having the wish to see this Person happy, no matter what that means to yourself.
-No matter what it means to myself....
davepermen is offline   Reply With Quote
Old 09-10-2003, 01:57 AM   #6
Samuel
New Member
 
Join Date: Sep 2003
Location: Uppsala, Sweden
Posts: 8
Default

Hi everbody

I wrote this article about 2 years ago. At that stage I was a rookie gameprogammer. Thus there exist some minor mistakes and things that might look strange to the more experienced. There are also a few errors that has been pointed out to me, but they weren't to significant and I actually don't remember what they were

The best way to consider this article is as a guide to BSP-trees. Most of the thinking you will have to do yourselves. Some solutions are plain dumb and definetly need polishing.

If anybody has any questions you can post them here and I'll try to answer them as good as I can.
Samuel is offline   Reply With Quote
Old 09-10-2003, 12:38 PM   #7
Noor
Senior Member
 
Join Date: Jan 2003
Location: ON, Canada
Posts: 524
Default

Thanks Samuel for this useful and excellent article! Can't wait for the next one
___________________________________________
"What ever happened to happily ever after?"
Noor is offline   Reply With Quote
Old 06-02-2006, 05:49 AM   #8
Pushapjit
Member
 
Join Date: Dec 2005
Location: Chandigarh
Posts: 34
Thumbs up Re: BSP Trees: Theory and Implementation

after reading the artical i have implemented the classify function as follows which classify a point against the plane passed

int My3DApplication::classifyPoint( D3DXVECTOR3 *pos, POLYGON *Plane )
{
D3DXVECTOR3 *vec1 = (D3DXVECTOR3 *)&Plane->VertexList[0];
D3DXVECTOR3 Direction = (*vec1) - (*pos);
float result = D3DXVec3Dot(&Direction,&Plane->Normal);

if( result < -0.001f )
return POINTPOSITION_FRONT;

if( result > 0.001f )
return POINTPOSITION_BACK;

return POINTPOSITION_ONPLANE;
}
but its not working
Pushapjit is offline   Reply With Quote
Old 06-02-2006, 09:30 AM   #9
Reedbeta
DevMaster Staff
 
Join Date: Oct 2004
Location: Seattle, WA
Posts: 3,707
Default Re: BSP Trees: Theory and Implementation

This thread is three years old. Please start a new thread.
___________________________________________
Currently working at Sucker Punch
reedbeta.com - OpenGL demos and other projects
Luabridge - a lightweight, dependency-free C++/Lua binding library.
CD Lite - an unobtrusive, minimal CD player application for Windows.
Reedbeta is offline   Reply With Quote
Old 06-02-2006, 09:47 AM   #10
roel
Senior Member
 
roel's Avatar
 
Join Date: Sep 2005
Location: .nl
Posts: 505
Default Re: BSP Trees: Theory and Implementation

Quote:
Originally Posted by Reedbeta
This thread is three years old. Please start a new thread.

The article links to this thread though.
roel is offline   Reply With Quote
Old 10-25-2006, 03:15 PM   #11
astralboy79
New Member
 
Join Date: Oct 2006
Location: chicago
Posts: 2
Post Re: BSP Trees: Theory and Implementation

hi there seems to be a small error in the GENERATE-BSP-TREE algo?
In GENERATE-BSP-TREE
line 2 should be
Tree = BSPTreeNode (Node)
instead of Tree = BSPTreeNode (PolygonSet)

correct me if i am wrong, but in that case node seems to have no use in that function.
astralboy79 is offline   Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Forum Jump


All times are GMT -7. The time now is 06:28 AM.


Powered by vBulletin
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.