This is a topic for DELTA's graphics mixing modes (called
blenders) where you can
suggest customized blenders to be implemented in the engine.
You may also post general ideas about graphics mixing effects.... don't feel discouraged!!>>> Existing Standard Blenders <<<You can do anything that can be made in MMX or SSE2 (but you can only use 64bit values at a time!), which is pretty much anything. Even a DKCR-style silhouette blender.
DELTA can have up to about 500 different blenders, so... Have at it!
What numbers you can use to make a blender:Raw values come in as 4-byte segments each with 8 bits of A=Alpha, R=Red, G=Green, B=Blue.
Input : A, R, G, B
Destination: A, R, G, B
You can treat the numbers, when you post, as 0.0 to 1.0, in hex, or etc. and I'll take care of the rest. I suggest using HSL or HSV color spaces if you want hue shifting capabilities. Please only post the general idea or algorithm; there is no real need to post actual code.
Magic Pink (#FF00FF) will be
treated by most other blenders as a transparent value, no matter what the alpha value is.Special: There are 4 parameter bit flags which can be used to modify the blender dynamically straight from the object (and if wanted, right in the DELTA editor). These parameters cannot be used if you want to draw an image that is of a significant size, as they will need to be sacrificed for addressing purposes.
Special: There are also
graphics flags that can be set on a global basis, but these are very limited in number. Only 64 are available, and some will be used by default.
Special: Pixel groups are handled by-line in the sprite or graphics being drawn...... each of these has basic data loaded into the graphics routine, called a
unit. You are allowed to load parameters from either the pixels pointer (must be aligned to size 4) or using an auxiliary unit -- in case there's not enough room otherwise -- but keep this type of thing to a minimum.
Used Registers & Processing Details, For the Techno Geeks:7 STANDARD INTEL REGISTERS ARE ALREADY IN USE, except for EAX which is set aside for general use. You may use EAX.
NO STACK ACCESS ALLOWED ANYWHERE: This limitation is due to the entire graphics routine being run stackless. This means ESP and EBP are used.
XMM0, XMM1, and XMM2 are all used for special blending purposes.
Registers MM0-MM7 are free, one of which will need to be used to load in the pixel data.