   BackFace Culling  VS  Performance
   hi guys , i am reading about backface culling and i was stuck on a post that says : test all the faces in your scene and if the face is out of the view port , donot draw it , and in this case u will get a better performance coz u r drawing a part of the scene not all of it . (This is the post in my words) . i have a couple of questions regarding this post :1 - is it right that backface culling  will make me get a better performance ??2 - "test all the faces in your scene"  !!! won't that slower the performance of my game coz this opperation is going to be done alot of times?? suppose i have 90,000 vertex so imagin how many faces i have in my game.(duno u cal)3 - all my data in my games are .X files and to draw them  i use mesh.DrawSubset so how could i select the faces i want to draw in a mesh ????!!!4 - is backface culling  have anything to do with device.renderstate.cullmode ???   
  With modern hardware, you're right that testing every face will slow things down.  However, it would probably be a good idea to test larger chunks of geometry (ie, entire objects) and discard them if they aren't in view.As for backface culling, using it may make things somewhat faster - you might as well leave it turned on unless you're doing something in particular that needs it to be turned off.  And yes, backface culling is controlled by the cullmode flag.John B   ;Quote:Original post by JohnBSmallyou might as well leave it turned on John Bwhat do u mean by leave it turned on ??? i put in my code device.renderstate.cullmode=cull.none  and cull.clockwise gives the same result as cull.none  while cull.counterclockwise don't . and how to test the faces of my mesh and to decide if it should be drawn or not ??;  You have seemed to have confused 2 techniques here.1) Backface cullingThis is the technique of culling faces that were created using a particular winding order. For more information on backface culling check this article. You can set different culling modes using SetRenderState(D3DRS_CULLMODE, D3DCULL_CCW) or you could disable Backface culling by using SetRenderState(D3DRS_CULLMODE, D3DCULL_NONE);2) View Frustum cullingFrustum culling is the technique where you will construct the view frustum as a volume and then check if your objects are falling in this volume, if not the primitives are discarded from rendering. A nice article on flipcode can be found here.I hope this helps.Take care.   