Hi all, We've been doing some experimentation with some new image-buffer formats to see how close to full 32bit ARGB quality we can get while keeping the bandwidth requirements as low as possible. 16bit hi-color has been a common option in this space. RGB565(16bit) preserves a lot of the full 32bit colour detail but does not offer any form of alpha-channel. ARGB4444(16bit) provides an acceptable quality with 16 levels of transparency for transient effects (especially in high-speed game play for example). The new format we've been working on is a Hybrid 16bit mode that allows for greater dynamic range of opaque pixels while still providing enough levels of alpha to achieve good-looking transparent effects and smoother anti-aliased/blended edges. AMMX currently supports direct conversion to/from RGB565, with these new formats we are investigating the possibility to expand AMMX to directly support the new formats offering developers a wide selection of high performance options for different types of sprite/blit or single pixel manipulation. Full 32bit ARGB sample image, combining smooth backgrounds, alpha blending, transparency and soft edges: EXTERNAL LINK Result using current 16bit formats: EXTERNAL LINK Result using the new hybrid format: EXTERNAL LINK (As you can see the quality is almost identical to the full 32bit image for half the bandwidth and storage). Another example showing an image with variable transparency: EXTERNAL LINK Using the new 4444 16bit format: EXTERNAL LINK There will still be times when 32bit ARGB is the only option that provides the desired quality, so this would still be an available option: EXTERNAL LINK
|