|
*note* I'm no longer working on this library, but I still get a surprising number of emails from interested parties, so I'll leave this page in place. Send me an email if you'd like the source to it! I am currently working on project alpha, a 2D special effects blitting library for the directx environment. The current focus is on 16 bit graphics, but 24 and 32 bit modes are planned for the near future. The library is coded almost entirely in assembly for speed (4000+ lines and counting). Several different methods for achieving most effects have been implemented, each having different speed and quality benefits.I believe source code is intellectual property, but information shouldn't be. You will find a little bit of both in my programming notes.
Shadows and lighting effect Color change and replacement effects Support for dirty rectangles Support for 16 bit 555 and 565 modes
texture masking-almost done RLE image formats custom sizing mmx support support for 24 and 32 bit graphics modes Feel free to suggest, request, or comment on any feature. There are many special cases which can be highly optimized for speed-50% alpha blending for example. Special cases can be easy to code, and new ideas help everybody.
Project Alpha Programming Notes
1: Asm Blit 2: BltFast + Clipping * 3: Asm Blit + Clipping * 4: BlitFast + Passed Rectangle * 5: Asm Blit + Passed Rectangle * 10: BltFast + Color Keying 11: Asm Blit + Color Keying 12: Asm Blit + Color Keying + Rectangle * 13: Asm Blit + Color Keying + ROTATE + SCALE 14: Alpha Blending + Color Keying + ROTATE + SCALE 20: Alpha Blending 50% 30: Alpha Blending + Color Keying 31: Alpha Blending + Color Keying Using LUT 32: Alpha Blending + Color Keying 4 Levels 33: Alpha Blending + Color Keying Addition No Check 34: Alpha Blending + Color Keying 2 Imuls 35: Alpha Blending + Color Keying Addition + Check 36: Alpha Blending + Color Keying 2 Imuls 2 Alpha 37: Alpha Blending 50% + Color Keying 40: Darken 50% 50: Darken 50%+ Color Keying 51: Darken Color Keying Using Imul 52: Darken Color Keying Using Shift 60: Shadow 61: Lighten No Check 62: Shadow 50% 63: Lighten Check 64: Variable Lighten Check 70: Replace Blue 71: Replace Green 72: Replace Red 73: Replace Blue Green 74: Replace Blue Red 75: Replace Red Green 76: Replace Greyscale 77: Replace Orange *The library now supports passed rectangles and clipping for all modes. Marked modes are redundant, but remain in the library due to different coding implementation. |
|||||||
LE FastCounter |
© 2001kristian olivero |