ps2sdk  1.1
A collection of Open Source libraries used for developing applications on Sony's PlayStation 2® (PS2).
draw_blending.h File Reference
#include <tamtypes.h>
+ Include dependency graph for draw_blending.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  blend_t
 

Macros

#define BLEND_COLOR_SOURCE   0
 
#define BLEND_COLOR_DEST   1
 
#define BLEND_COLOR_ZERO   2
 
#define BLEND_ALPHA_SOURCE   0
 
#define BLEND_ALPHA_DEST   1
 
#define BLEND_ALPHA_FIXED   2
 
#define ALPHA_CORRECT_RGBA32   0
 
#define ALPHA_CORRECT_RGBA16   1
 

Functions

qword_tdraw_pixel_alpha_control (qword_t *q, int enable)
 
qword_tdraw_alpha_blending (qword_t *q, int context, blend_t *blend)
 
qword_tdraw_alpha_correction (qword_t *q, int context, int alpha)
 

Detailed Description

Draw library blending functions

Definition in file draw_blending.h.

Macro Definition Documentation

◆ ALPHA_CORRECT_RGBA16

#define ALPHA_CORRECT_RGBA16   1

Definition at line 24 of file draw_blending.h.

◆ ALPHA_CORRECT_RGBA32

#define ALPHA_CORRECT_RGBA32   0

Alpha Correction

Definition at line 23 of file draw_blending.h.

◆ BLEND_ALPHA_DEST

#define BLEND_ALPHA_DEST   1

Definition at line 19 of file draw_blending.h.

◆ BLEND_ALPHA_FIXED

#define BLEND_ALPHA_FIXED   2

Definition at line 20 of file draw_blending.h.

◆ BLEND_ALPHA_SOURCE

#define BLEND_ALPHA_SOURCE   0

Definition at line 18 of file draw_blending.h.

◆ BLEND_COLOR_DEST

#define BLEND_COLOR_DEST   1

Definition at line 15 of file draw_blending.h.

◆ BLEND_COLOR_SOURCE

#define BLEND_COLOR_SOURCE   0

Alpha Blending

Definition at line 14 of file draw_blending.h.

◆ BLEND_COLOR_ZERO

#define BLEND_COLOR_ZERO   2

Definition at line 16 of file draw_blending.h.

Function Documentation

◆ draw_alpha_blending()

qword_t* draw_alpha_blending ( qword_t q,
int  context,
blend_t blend 
)

Alpha Blending

Definition at line 20 of file draw_environment.c.

21 {
22 
24  q++;
25  PACK_GIFTAG(q, GS_SET_ALPHA(blend->color1,blend->color2,blend->alpha,
26  blend->color3,blend->fixed_alpha), GS_REG_ALPHA + context);
27  q++;
28 
29  return q;
30 
31 }
u8 context
Definition: main.c:71
#define PACK_GIFTAG(Q, D0, D1)
Definition: gif_tags.h:76
#define GIF_SET_TAG(NLOOP, EOP, PRE, PRIM, FLG, NREG)
Definition: gif_tags.h:80
#define GIF_REG_AD
Definition: gif_tags.h:72
#define GIF_FLG_PACKED
Definition: gif_tags.h:35
#define GS_SET_ALPHA(A, B, C, D, ALPHA)
Definition: gs_gp.h:170
#define GS_REG_ALPHA
Definition: gs_gp.h:93
char alpha
Definition: draw_blending.h:29
unsigned char fixed_alpha
Definition: draw_blending.h:31
char color3
Definition: draw_blending.h:30
char color2
Definition: draw_blending.h:28
char color1
Definition: draw_blending.h:27

References blend_t::alpha, blend_t::color1, blend_t::color2, blend_t::color3, context, blend_t::fixed_alpha, GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_ALPHA, GS_SET_ALPHA, and PACK_GIFTAG.

◆ draw_alpha_correction()

qword_t* draw_alpha_correction ( qword_t q,
int  context,
int  alpha 
)

Alpha Correction

Definition at line 176 of file draw_environment.c.

177 {
178 
180  q++;
181 
183  q++;
184 
185  return q;
186 
187 }
#define GS_REG_FBA
Definition: gs_gp.h:113
#define GS_SET_FBA(ALPHA)
Definition: gs_gp.h:199

References context, GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_FBA, GS_SET_FBA, and PACK_GIFTAG.

◆ draw_pixel_alpha_control()

qword_t* draw_pixel_alpha_control ( qword_t q,
int  enable 
)

Alpha Blending Per-Pixel MSB Control

Definition at line 8 of file draw_environment.c.

9 {
10 
12  q++;
13  PACK_GIFTAG(q, GS_SET_PABE(enable), GS_REG_PABE);
14  q++;
15 
16  return q;
17 
18 }
#define GS_REG_PABE
Definition: gs_gp.h:111
#define GS_SET_PABE(ENABLE)
Definition: gs_gp.h:235

References GIF_FLG_PACKED, GIF_REG_AD, GIF_SET_TAG, GS_REG_PABE, GS_SET_PABE, and PACK_GIFTAG.