gDPSetAlphaCompare [macro]
Sets the alpha compare mode.
Syntax
#include <ultra64.h> /* gbi.h */
gDPSetAlphaCompare(Gfx *gdl, u32 mode)
gsDPSetAlphaCompare( u32 mode)
Arguments
- gdl is the display list pointer.
- mode is the lpha compare mode:
G_AC_NONE (Do not compare)
G_AC_THRESHOLD (Compare with the blend color alpha value)
G_AC_DITHER (Compare with a random dither value)
Explanation
Sets the mode for comparing the alpha value of the pixel input to the blender (BL) with an alpha source.
The different alpha compare modes are explained below:
- G_AC_NONE
- This mode will disable alpha compare checking.
- G_AC_THRESHOLD
- This mode will conditionally update the framebuffer if the pipeline pixel alpha is greater than the blend color alpha. This is typically used to cut out transparent regions of a texture map to give complex outlined objects. This is more efficient than rendering translucent surfaces and writing the actual transparent regions.
- G_AC_DITHER
- This mode will conditionally update the framebuffer if the pipeline pixel alpha is greater than a random dither value. Using this with an alpha gradient on a surface can give a nice particle fade out result.
For details, see Section 15.5.4, "Alpha Compare Calculation," and Section 12.7.4, "Alpha Compare," in the N64 Online Programming Manual.
Notes
When you are using antialiasing rendering modes, you cannot specify transparent regions.
Cautions
You should use the Render Mode G_RM_TEX_EDGE when enabling alpha compare in G_CYC_1CYCLE or G_CYC_2CYCLE pipeline mode. This is because you must get the alpha of the pixel on the coverage path in order for the compare to work and this mode prevents reading of the color framebuffer.
G_AC_THRESHOLD and G_AC_DITHER modes can also be used when the pipeline is in G_CYC_COPY mode. Because normal alpha blending is disabled in copy mode, this is the only way to achieve transparency in copy mode. For 16-bit RGBA (5/5/5/1) frame buffers, the alpha bit acts as a write enable, i.e. no compare with the blend alpha is performed. For 8-bit CI frame buffers , the blend alpha compare is enabled. Copy mode can not be used for 32-bit RGBA framebuffers.
To learn more about the cycle type setting, see gDPSetCycleType.
See Also
gDPSetBlendColor
gDPSetCycleType
gDPSetRenderMode
Revision History
2/1/99 Completely rewritten.
|
Nintendo® Confidential
Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998-1999
Nintendo of America Inc. All rights reserved Nintendo and N64 are registered trademarks of Nintendo
Last Updated April, 1999
|