EntityFX

Blitz3D Forums/Blitz3D Programming/EntityFX

_PJ_(Posted 2003) [#1]
Please could someone explain what this command does?
I see how it sets different flags for different attributes, but what effects do these attributes actually have?

What does Fullbright mean?
What is Backface Culling?
What is Flat-Shading?

etc.


jhocking(Posted 2003) [#2]
Fullbright means the entire model is fully lit, with no shading. This is useful for stuff like lightmapping (where you don't want any dynamic lighting/shading) and cel-shading (where the model is supposed to look flat.)

Backface culling refers to rendering (or rather NOT rendering) both sides of a polygon. With backface culling on the back side of a polygon (the normal facing away) is not drawn, allowing you to see through. This is normally advantageous since most models are closed volumes and you only every see the front side of polygons; thus, drawing the back sides is a waste of time. There are times when you want to render both sides of a polygon however and that is what this flag is for. Still, for a variety of reasons (eg. poor lighting/shading, bad collision detection) I usually find that it is better to leave backface culling on and actually add additional polygons facing the other way.

Flat-shading gives your model a faceted look. Normally shading is smoothed out between polygons, giving your model a more rounded, organic look. Flat-shading is supposed to avoid that if you want a stark, angular look. I say "supposed to" however because flat-shading mode results in some REALLY bizarre visual artifacts. Thus this is another attribute I wouldn't use.

Let's see, other flags...

Use vertex colors uses colors stored in the vertices (I realize that was a circular answer but if you know how to set vertex colors then what happens when you use them is pretty obvious.)

Disable fog means that any fog you setup in your scene won't affect that entity.

As for forcing alpha blending, here is the description from the documentation:
"Flag 32, to force alpha-blending, must be used in order to enable vertex alpha (see VertexColor)."
In other words, this flag is only useful/relevant if you are using vertex alpha, a special case of vertex color.