   why use bsps?Doesn't Opengl clips any thing thats out of camera view?
  hi,   i m a bit confused about this.i have heard that we use bsp trees so that polygons out side the camera view(or i presume its called frustrum) are not drawn. Doesn''t opengl clips the polygons that are outside the camera view.can any one explain this to me in detail.thanx   
  Yes, but that doesn''t mean the video card doesn''t have to process the vertices first. ;  Oh my God.................. ;  Even though OpenGL will not draw outside of the screen, it still has to consider any vertices that are passed to it.  So if you have a scene with 100,000 vertices and you pass all of them, it takes time for your card to sort out which ones are to be drawn and which are not.  Using a BSP or some other scene partition, you can quickly figure out which parts of the scene are definately not on the screen.  Then you only pass the vertices that might be on the screen.  So now instead of passing all 100,000 you may only need to pass 100.  And the cost of figuring out which vertices to ditch is really insignificant compared to the cost of passing them all and forcing the card to figure it out. ;quote:Oh my God..................That''s a great attitude.  Why don''t you find something more constructive to do with your time since you are obviously too 1337 for everyone else. ;  If you don't use frustrum culling, BSP trees, octrees, quadtress, etc, you have to send every single vertex down the pipeline. With every vertex you send, it has to do the texturing, lighting, etc, This is where you lose the FPS at.A BSP tree will say, "Ok, this 'block' of vertices is not in the viewing frustrum. I'm not even going to send them to the pipeline." So if you have a huge world (Say 30,000,000 vertices) would you rather send 30,000,000 vertices to the rendering pipeline, or only send 50,000?  ---------------------|  \    /  |||   \  /   |||    \/    |(Not || (CAMERA) | Rendered)||----------+----------||||||||(Not |(Not || Rendered)| Rendered)| ---------------------By not rendered, I mean the vertices are not sent to the pipeline. BTW:pkelly83 don't tell me you woke up one day and became a programming god. You were a beginner to at one time. So if you're to good to help him out, just keep that mouth of yours shut.-UltimaX-"You wished for a white christmas... Now go shovel your wishes!"   [edited by - UltimaX on August 16, 2003 2:38:23 PM];  hi,thanx alot now i understand the need for bsps, but one more question. if we are using display lists then i presume that we cant use bsps since the polygons are pre rendered. now does display lists provide better performance gain than using bsps. if i m wrong somewhere please correct me. ;quote:Original post by UltimaX  If you don''t use frustrum culling, BSP trees, octrees, quadtress, etc, you have to send every single vertex down the pipeline. With every vertex you send, it has to do the texturing, lighting, etc, This is where you lose the FPS at.OpenGL will NOT do texturing, and other expensive stuff with the out of the screen vertices. I believe the first test done is to see wether or not a triangle is inside the viewing frustrum or not, and if it isn''t, goodbye vertex.But like others pointed out, if you can determine with a few if()s wether or not an entire object is inside/outside/partially the viewing frustrum, then you save the video card and the bus from transferign and processing useless data.   Height Map Editor | Eternal Lands | Fast User Directory;  Don''t make a display list for the whole world. Instead, only make a few (by few I mean as many as you need so that each one has a couple thousand polygons). That way you only have to render the lists that are visible or partially visible. ;quote:Original post by Buzz1982  hi,thanx alot now i understand the need for bsps, but one more question. if we are using display lists then i presume that we cant use bsps since the polygons are pre rendered. now does display lists provide better performance gain than using bsps. if i m wrong somewhere please correct me.   Display lists will not prerender your triangles. Anyway, you can store a display list for each object you have, and tell OpenGL to render only the display lists you want (the one your BSP tells you to render).And display lists, at least in my tests, are not faster than begin/end.   Height Map Editor | Eternal Lands | Fast User Directory