Editing DrawInfo

Jump to: navigation, search

Warning: The database has been locked for maintenance, so you will not be able to save your edits right now. You may wish to copy and paste your text into a text file and save it for later.

The administrator who locked it offered this explanation: Server migration

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
DrawInfo allows clients to render the [[mesh]] object more efficiently through LODs (Levels of Detail).  Many associate drawinfo with the ability to create moving objects in a map.   
+
DrawInfo allows clients to render mesh more efficiently through LODs (Level of Detail).  Many associate drawinfo with the ability to create moving objects in a map.   
 
==Code==
 
==Code==
 
The code must be added to the mesh object.
 
The code must be added to the mesh object.
Line 35: Line 35:
  
 
Valid parameters for drawinfo are:
 
Valid parameters for drawinfo are:
{|{{Prettytable}}
+
<properties>
|-
+
dlist=
| {{Hl3}} |'''Parameter'''
+
decorative=disables drawinfo in older clients
| {{Hl3}} |'''Description'''
+
angvel=causes the mesh object to spin at a given rate
|-
+
extents=
| '''dlist''' || requests that the client use display lists to render the object (recommended for meshes that are not overly complicated).
+
sphere=
|-
+
corner=this is a series of points specified by the indexes of the vertices, normals, and texcoords
| '''decorative''' || disables drawInfo in older clients.
+
vertex=
|-
+
normal=
| '''angvel''' || causes the mesh object to spin at the given rate in degrees per second.
+
texcoord=
|-
+
lod=sections that determine which faces/points will be rendered at specified distances (lengthPerPixel)
| '''extents''' || the minimum and maximum x, y, and z point of the mesh to be drawn.  This helps with rendering efficiency, meshes whose extents are outside of the point of view will not be drawn.
+
lengthPerPixel=distance from which the points will be rendered, 0 is close, .3 is about as far away as is needed  
|-
+
matref=material to use as defined in the materials object
| '''sphere''' || an imaginary sphere that encompasses all x, y, and z coordinates.  Similar to extents, this helps increase rendering efficiency.
+
points=
|-
+
lines=
| '''vertex''' || if defined within the drawInfo section, the vertices, normals, and texcoords will be used instead of those defined in the mesh.
+
lineloop=
|-
+
linestrip=
| '''corner''' || (required) a point defined by a vertex, normal, and a texcoord.
+
tris=index numbers of corners that create triangles
|-
+
tristrip=series of points that form a chain of triangles.
| '''lod''' || (required) sections that determines which faces/points will be rendered from specific distances (lengthPerPixel).
+
trifan= a series of points that create triangles that fan out from a single point.  That point, usually in the center, is placed first in the series.  Trifans are used only in pyramid and cone-shaped meshes.
|-
+
quads=points that create 4-sided mesh planes
| '''lengthPerPixel''' || (required) distance from which the points will be rendered, 0 is close, .3 is about as far away as is needed.
+
quadstrip=series of points that create a chain of 4-sided planes.  Similarly to tristrips, the series zig-zags between the points, starting in the counter-clockwise direction.
|-
+
polygon=same as quads except for planes of more than 4 sides.
| '''matref''' || (required) material to use for the faces that follow it.
+
</properties>
|-
+
| '''points''' || ''description''.
+
|-
+
| '''lines''' || ''description''.
+
|-
+
| '''lineloop''' || ''description''.
+
|-
+
| '''linestrip''' || ''description''.
+
|-
+
| '''tris''' || index numbers of corners that create triangles.
+
|-
+
| '''tristrip''' || series of points that form a chain of triangles.
+
|-
+
| '''trifan''' || a series of points that create triangles that fan out from a single point.  That point, usually in the center, is placed first in the series.  Trifans are used only in pyramid and cone-shaped meshes.
+
|-
+
| '''quads''' || points that create 4-sided mesh planes.
+
|-
+
| '''quadstrip''' || series of points that create a chain of 4-sided planes.  Similarly to tristrips, the series zig-zags between the points, starting in the counter-clockwise direction.
+
|-
+
| '''polygon''' || same as quads except for planes of more than 4 sides.
+
|}
+
  
 
==Appearance==
 
==Appearance==
DrawInfo is only applied to existing [[mesh]] objects. These mesh objects will be altered by DrawInfo parameters.
+
DrawInfo is only applied to existing meshes. If you look closely in places like Louman's Mystic Valley, shrubbery and trees will change in appearance slightly when viewed from about 200 units away.
 
+
A common example are spinning objects (angvel parameter in DrawInfo).
+
 
+
LODs can improve framerate as it features substitution of complex mesh objects at given lengthPerPixel steps with more simplistic objects. If the substitution is done decent then it'll be unobtrusive. LODs are used in Louman's Mystic Valley for instance: Shrubbery and trees will change in appearance slightly when viewed from about 200 units away.
+
  
 
==Editor Support==
 
==Editor Support==
DrawInfo support has been added to obj to bzw converters: Modeltool (available through [[BZFlag Git|Git]]) and [http://my.bzflag.org/bb/viewtopic.php?p=115772#115772 php-dIMachine].
+
There is currently no support for drawInfo except for hand-editing
  
 
==History==
 
==History==
DrawInfo was added (by trepan) in BZFlag version 2.0.4 and is rarely used for anything other than experimental and proof-of-concept maps. Notable exceptions to this are trees in Louman's "Mystic Valley" and "Churchyard" maps, and a more recent practical use of moving drawinfo in Planet MoFo's halloween [[passion]] map. Following the creation of tools to generate drawinfo from .obj files, it is getting more frequent use by more experienced map makers.
+
DrawInfo was only recently added (by trepan) and is rarely used for anything other than experimental and proof-of-concept maps. Notable exceptions to this are: Louman's Mystic Valley, and Louman's Churchyard.
 
+
[[Category:Map Making]]
+
[[Category:Map_Objects]]
+

Please note that all contributions to BZFlagWiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see BZFlagWiki:Copyrights for details). Do not submit copyrighted work without permission!

To edit this page, please answer the question that appears below (more info):

Cancel | Editing help (opens in new window)

Templates used on this page: