Human Fly 2.1 - paintmodes ============================================================================ All paintmodes known to Human Fly are documented here. MOVE: replaces destination pixel with source pixel ADD: ADDs source pixel to destination pixel OR: ORs source pixel with destination pixel CEILADD: ADDs source pixel to destination pixel saturated NOTE: when needed, takes into account individual r,g,b saturation! Pixels can be: BYTE: a byte that is simply a 1D intensity, no rgb info WORD: a highcolor word (16bits) ----------------------------------------------------------------------------- The behaviour of all primitivepainters for each paintmode and pixelsize. Note that modes are just left open and in fact are more basic modes. The reason for this, is that there are alot of impractical combinations. sprite: | BYTE | WORD ---------------------- MOVE | yes | yes ---------------------- OR | yes | yes ---------------------- ADD | yes | yes ---------------------- CEILADD | yes | yes line (flat): | BYTE | WORD ---------------------- MOVE | yes | yes ---------------------- OR | yes | yes ---------------------- ADD | yes | yes ---------------------- CEILADD | yes | (*) (*): MOVE mode instead line (gouraud): | BYTE | WORD ---------------------- MOVE | yes | yes ---------------------- OR | yes | yes ---------------------- ADD | yes | yes ---------------------- CEILADD | yes | (*) (*): MOVE mode instead polygon (flat): | BYTE | WORD ---------------------- MOVE | yes | yes ---------------------- OR | yes | yes ---------------------- ADD | yes | yes ---------------------- CEILADD | yes | (*) (*): MOVE mode instead polygon (gouraud): | BYTE | WORD ---------------------- MOVE | yes | yes ---------------------- OR | yes | yes ---------------------- ADD | yes | yes ---------------------- CEILADD | yes | (*) (*): MOVE mode instead polygon (texture): | BYTE | WORD ---------------------- MOVE | yes | yes ---------------------- OR | yes | yes ---------------------- ADD | yes | yes ---------------------- CEILADD | (*) | (*) (*): MOVE mode instead polygon (alpha): | BYTE | WORD ---------------------- MOVE | (*) | yes ---------------------- OR | (*) | (*) ---------------------- ADD | (*) | (*) ---------------------- CEILADD | (*) | (*) (*): WORD/MOVE mode instead polygon (bump): | BYTE | WORD ---------------------- MOVE | (*) | yes ---------------------- OR | (*) | (*) ---------------------- ADD | (*) | (*) ---------------------- CEILADD | (*) | (*) (*): WORD/MOVE mode instead