I'm trying to put together documentation of the setvars here, and could use some help. Let's start with set vars beginning with the letter C. If you know what any of the variables below do, please reply and let me know!
_coldetDepth
_coldetElements
_cullDepth
_cullElements
_cullOccluders
Thanks,
bzdb setVars Volume C
bzdb setVars Volume C
Last edited by SilverFox on Thu Feb 24, 2005 8:58 pm, edited 1 time in total.
Those variables control the visual culling octree and
and the collision detection octree. The depth parameters
are the max depths that the octrees can be split into. The
elements parameters is the number of elements within
an octree node before the subdivision stops (unless the
max depth has already been reached). The _cullOccluders
parameter indicates the max number of occluders that can
be used (if you don't know what an occluder is, set it to 0).
The best way to understand what these values do is to
turn on WireFrame, Collision Tree, and Culling Tree in
the Display options. The most recent 2.0.1 build allow you
to do this even if you have not build the client with debug
mode (but you'll have to start the client with a -d option)
and the collision detection octree. The depth parameters
are the max depths that the octrees can be split into. The
elements parameters is the number of elements within
an octree node before the subdivision stops (unless the
max depth has already been reached). The _cullOccluders
parameter indicates the max number of occluders that can
be used (if you don't know what an occluder is, set it to 0).
The best way to understand what these values do is to
turn on WireFrame, Collision Tree, and Culling Tree in
the Display options. The most recent 2.0.1 build allow you
to do this even if you have not build the client with debug
mode (but you'll have to start the client with a -d option)
For those that are ignorant as I:
culling: Ignoring hidden image data to reduce the amount of time required to render a model.
octree: A space-occupancy representation used for representing 3D volumetric objects. It is a hierarchical representation, designed to use less memory than representing every voxel of the object explicitly. Octrees are based on subdividing the full voxel space containing the represented object into 8 octants by planes perpendicular to the three coordinate axes. Octants that completely contain a single object are denoted as being pure. Octants that contain multiple objects are recursively split into 8 new smaller octants. This splitting continues until all volumes are either pure, or some volume size limit is reached. A tree data structure can be used to represent the octree. Normally, the octree data structure will have only about as many nodes as there are voxels on the object surface, which can be much less than the total number of voxels in the object. Hence, an octree representation can save a lot of space when representing an object or scene.
Understanding that and what trep said above, the following questions remain (aside from WTH is a voxel!?!):
1) From what I understand about what I just read (above) and octree is a a group of all 8 of the 3d quadrants (more like cube) and could (not necessarily) be split into infinate more octrees. There's probably a better way to articulate that. So, the default for _coldetDepth is 6, does this mean the "collision octree" can be split up to 6 times? For example the first split could narrow to above ground, positive X, positive Y, then the next would split that quadrant into 8 cubes, of which one of those could be split and so on? This would narrow the map to a cube area from which a tank (or other collideable object, like a bullet) could collide into something? I guess what I really want to know is a) what happens when you increase this value and b) what happens when you decrease the _coldetDepth value?
2) What is an element? Is that a single object, or is that the points in an object (ie, a box 2x2x2 would have 2^3 elements in it)?
3) What is an occluder? I presume it has something to do with the culling, telling a client what to draw and what not to draw (no sense drawing a face that isn't visible to the client, right?)
4) These all seem to be options for how a client displays the world. Why are they in the bzfs bzdb?
As soon as I have access to a client, I will run it w/Debug and check this out more, until then I'm resigned to googling and cooresponding with you. I appreciate you (and all devs) taking the time to educate us (me in particular) on this modeling stuff as it is very very new to me.
culling: Ignoring hidden image data to reduce the amount of time required to render a model.
octree: A space-occupancy representation used for representing 3D volumetric objects. It is a hierarchical representation, designed to use less memory than representing every voxel of the object explicitly. Octrees are based on subdividing the full voxel space containing the represented object into 8 octants by planes perpendicular to the three coordinate axes. Octants that completely contain a single object are denoted as being pure. Octants that contain multiple objects are recursively split into 8 new smaller octants. This splitting continues until all volumes are either pure, or some volume size limit is reached. A tree data structure can be used to represent the octree. Normally, the octree data structure will have only about as many nodes as there are voxels on the object surface, which can be much less than the total number of voxels in the object. Hence, an octree representation can save a lot of space when representing an object or scene.
Understanding that and what trep said above, the following questions remain (aside from WTH is a voxel!?!):
1) From what I understand about what I just read (above) and octree is a a group of all 8 of the 3d quadrants (more like cube) and could (not necessarily) be split into infinate more octrees. There's probably a better way to articulate that. So, the default for _coldetDepth is 6, does this mean the "collision octree" can be split up to 6 times? For example the first split could narrow to above ground, positive X, positive Y, then the next would split that quadrant into 8 cubes, of which one of those could be split and so on? This would narrow the map to a cube area from which a tank (or other collideable object, like a bullet) could collide into something? I guess what I really want to know is a) what happens when you increase this value and b) what happens when you decrease the _coldetDepth value?
2) What is an element? Is that a single object, or is that the points in an object (ie, a box 2x2x2 would have 2^3 elements in it)?
3) What is an occluder? I presume it has something to do with the culling, telling a client what to draw and what not to draw (no sense drawing a face that isn't visible to the client, right?)
4) These all seem to be options for how a client displays the world. Why are they in the bzfs bzdb?
As soon as I have access to a client, I will run it w/Debug and check this out more, until then I'm resigned to googling and cooresponding with you. I appreciate you (and all devs) taking the time to educate us (me in particular) on this modeling stuff as it is very very new to me.
- wegstar
- Private First Class
- Posts: 127
- Joined: Sun Dec 26, 2004 4:33 am
- Location: Good ol' California
- Contact:
Grab some info from http://bzflag.org/wiki/ServerVariables I had updated with 2.0 vars some time ago... hope that helps!
Formerly "nader"
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham
---
Microsoft broke Volkswagen's world record: Volkswagen only made 22 million bugs!
-----
"Do not meddle in the affairs of cats, for they are subtle and will pee on your computer." -- Bruce Graham