Difference between revisions of "Drawable Flags"
m (Icicle Flags moved to Drawable Flags: Better to keep all DSpan-related flags on a single page IMO) |
(Drawable Flags documentation that I promised CW, it could be much improved but it's a start) |
||
Line 1: | Line 1: | ||
− | + | =Drawable Properties= | |
+ | Drawable Properties are set on a DrawableSpan, they affect all objects in that DrawableSpan. Using these flags one can ensure that spans and faces are sorted properly when drawing. | ||
− | == | + | ==Flag Values== |
− | + | MyObject: | |
+ | visual: | ||
+ | drawflags: | ||
+ | - sortfaces | ||
+ | - sortspans | ||
+ | - character | ||
+ | - static | ||
+ | - nodraw | ||
+ | - volatile | ||
+ | - noresort | ||
+ | - partialsort | ||
+ | - sortasone | ||
+ | - hasvislos | ||
+ | |||
+ | ==Flag Details== | ||
+ | ===SortFaces=== | ||
+ | Sort all of the faces per object in the span. This is useful when one has an object with overlapping alpha faces, it will force the faces to be sorted at draw time to prevent alpha clipping. | ||
+ | |||
+ | ===SortSpans=== | ||
+ | Sort all of the objects in the DrawableSpan. This should ensure that objects behind other objects are drawn first. | ||
+ | |||
+ | ===Character=== | ||
+ | '''''UNTESTED''''' | ||
+ | |||
+ | ===Static=== | ||
+ | '''''UNTESTED''''' | ||
+ | |||
+ | ===NoDraw=== | ||
+ | Prevents the span from being drawn? '''''UNTESTED''''' | ||
+ | |||
+ | ===Volatile=== | ||
+ | '''''UNTESTED''''' | ||
+ | |||
+ | ===NoReSort=== | ||
+ | Prevents the span from being re-sorted at draw time? '''''UNTESTED''''' | ||
+ | |||
+ | ===PartialSort=== | ||
+ | Partially sorts the span, no idea exactly ''how'' that works... '''''UNTESTED''''' | ||
+ | |||
+ | ===SortAsOne=== | ||
+ | Sort the entire span as if it were a single object? '''''UNTESTED''''' | ||
+ | |||
+ | ===HasVisLOS=== | ||
+ | Visible Line-Of-Sight? '''''UNTESTED''''' | ||
+ | |||
+ | |||
+ | =Drawable Criteria= | ||
+ | Drawable Criteria are further flags used per DrawableSpan, hence affecting all objects in that DrawableSpan. | ||
+ | |||
+ | ==Flag Values== | ||
+ | MyObject: | ||
+ | visual: | ||
+ | criteria: | ||
+ | - sortfaces | ||
+ | - sortspans | ||
+ | - character | ||
+ | - static | ||
+ | |||
+ | ==Flag Details== | ||
+ | ===SortFaces=== | ||
+ | Sort all of the faces per object in the span. This is useful when one has an object with overlapping alpha faces, it will force the faces to be sorted at draw time to prevent alpha clipping. | ||
+ | |||
+ | ===SortSpans=== | ||
+ | Sort all of the objects in the DrawableSpan. This should ensure that objects behind other objects are drawn first. | ||
+ | |||
+ | ===Character=== | ||
+ | '''''UNTESTED''''' | ||
+ | |||
+ | ===Static=== | ||
+ | '''''UNTESTED''''' | ||
+ | |||
+ | |||
+ | =Icicle Properties= | ||
+ | Icicle properties are set per object in a DrawableSpan. Icicle flags control various aspects of the appearance of an object. Many of them are automatically set as needed by PyPRP, but in some cases specifying them manually can be useful. | ||
+ | |||
+ | ==Flag Values== | ||
MyObject: | MyObject: | ||
visual: | visual: | ||
Line 31: | Line 107: | ||
- vislos | - vislos | ||
− | == Details == | + | ==Flag Details== |
− | + | ===LiteVtxNonPreshaded=== | |
− | === | + | |
When this flag is set, vertex colors are multiplied to the overall color ''after'' addition of the diffuse contribution of real-time light sources. In other words, a black vertex color will eliminate all light shining on the surface, while a white vertex color will leave it unchanged. This is appropriate when vertex colors are used to simulate shadows from light sources that are still present as real-time lights. | When this flag is set, vertex colors are multiplied to the overall color ''after'' addition of the diffuse contribution of real-time light sources. In other words, a black vertex color will eliminate all light shining on the surface, while a white vertex color will leave it unchanged. This is appropriate when vertex colors are used to simulate shadows from light sources that are still present as real-time lights. | ||
Revision as of 20:39, 5 July 2009
Drawable Properties
Drawable Properties are set on a DrawableSpan, they affect all objects in that DrawableSpan. Using these flags one can ensure that spans and faces are sorted properly when drawing.
Flag Values
MyObject: visual: drawflags: - sortfaces - sortspans - character - static - nodraw - volatile - noresort - partialsort - sortasone - hasvislos
Flag Details
SortFaces
Sort all of the faces per object in the span. This is useful when one has an object with overlapping alpha faces, it will force the faces to be sorted at draw time to prevent alpha clipping.
SortSpans
Sort all of the objects in the DrawableSpan. This should ensure that objects behind other objects are drawn first.
Character
UNTESTED
Static
UNTESTED
NoDraw
Prevents the span from being drawn? UNTESTED
Volatile
UNTESTED
NoReSort
Prevents the span from being re-sorted at draw time? UNTESTED
PartialSort
Partially sorts the span, no idea exactly how that works... UNTESTED
SortAsOne
Sort the entire span as if it were a single object? UNTESTED
HasVisLOS
Visible Line-Of-Sight? UNTESTED
Drawable Criteria
Drawable Criteria are further flags used per DrawableSpan, hence affecting all objects in that DrawableSpan.
Flag Values
MyObject: visual: criteria: - sortfaces - sortspans - character - static
Flag Details
SortFaces
Sort all of the faces per object in the span. This is useful when one has an object with overlapping alpha faces, it will force the faces to be sorted at draw time to prevent alpha clipping.
SortSpans
Sort all of the objects in the DrawableSpan. This should ensure that objects behind other objects are drawn first.
Character
UNTESTED
Static
UNTESTED
Icicle Properties
Icicle properties are set per object in a DrawableSpan. Icicle flags control various aspects of the appearance of an object. Many of them are automatically set as needed by PyPRP, but in some cases specifying them manually can be useful.
Flag Values
MyObject: visual: icicle: - litematerial - nodraw - noshadowcast - facessortable - volatile - waterheight - runtimelight - reversesort - haspermalights - haspermaprojs - litevtxpreshaded - litevtxnonpreshaded - liteprojection - liteshadowerase - liteshadow - mathasspecular - projasvtx - skipprojection - noshadow - forceshadow - disablenormal - character - partialsort - vislos
Flag Details
LiteVtxNonPreshaded
When this flag is set, vertex colors are multiplied to the overall color after addition of the diffuse contribution of real-time light sources. In other words, a black vertex color will eliminate all light shining on the surface, while a white vertex color will leave it unchanged. This is appropriate when vertex colors are used to simulate shadows from light sources that are still present as real-time lights.
When this flag is not set, vertex colors are multiplied to the overall color before addition of the diffuse contribution of real-time light sources. In other words, a surface with a black vertex color will be illuminated normally by real-time lights, and a white vertex color will add to the real-time light. This is appropriate when vertex colors are used to simulate the diffuse lighting from light sources that are not present as real-time lights.
PyPRP automatically sets this flag on objects that have an Alpha vertex color layer.