Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype BlendOp where
- BlendOp Int32
- pattern BLEND_OP_ADD :: BlendOp
- pattern BLEND_OP_SUBTRACT :: BlendOp
- pattern BLEND_OP_REVERSE_SUBTRACT :: BlendOp
- pattern BLEND_OP_MIN :: BlendOp
- pattern BLEND_OP_MAX :: BlendOp
- pattern BLEND_OP_BLUE_EXT :: BlendOp
- pattern BLEND_OP_GREEN_EXT :: BlendOp
- pattern BLEND_OP_RED_EXT :: BlendOp
- pattern BLEND_OP_INVERT_OVG_EXT :: BlendOp
- pattern BLEND_OP_CONTRAST_EXT :: BlendOp
- pattern BLEND_OP_MINUS_CLAMPED_EXT :: BlendOp
- pattern BLEND_OP_MINUS_EXT :: BlendOp
- pattern BLEND_OP_PLUS_DARKER_EXT :: BlendOp
- pattern BLEND_OP_PLUS_CLAMPED_ALPHA_EXT :: BlendOp
- pattern BLEND_OP_PLUS_CLAMPED_EXT :: BlendOp
- pattern BLEND_OP_PLUS_EXT :: BlendOp
- pattern BLEND_OP_HSL_LUMINOSITY_EXT :: BlendOp
- pattern BLEND_OP_HSL_COLOR_EXT :: BlendOp
- pattern BLEND_OP_HSL_SATURATION_EXT :: BlendOp
- pattern BLEND_OP_HSL_HUE_EXT :: BlendOp
- pattern BLEND_OP_HARDMIX_EXT :: BlendOp
- pattern BLEND_OP_PINLIGHT_EXT :: BlendOp
- pattern BLEND_OP_LINEARLIGHT_EXT :: BlendOp
- pattern BLEND_OP_VIVIDLIGHT_EXT :: BlendOp
- pattern BLEND_OP_LINEARBURN_EXT :: BlendOp
- pattern BLEND_OP_LINEARDODGE_EXT :: BlendOp
- pattern BLEND_OP_INVERT_RGB_EXT :: BlendOp
- pattern BLEND_OP_INVERT_EXT :: BlendOp
- pattern BLEND_OP_EXCLUSION_EXT :: BlendOp
- pattern BLEND_OP_DIFFERENCE_EXT :: BlendOp
- pattern BLEND_OP_SOFTLIGHT_EXT :: BlendOp
- pattern BLEND_OP_HARDLIGHT_EXT :: BlendOp
- pattern BLEND_OP_COLORBURN_EXT :: BlendOp
- pattern BLEND_OP_COLORDODGE_EXT :: BlendOp
- pattern BLEND_OP_LIGHTEN_EXT :: BlendOp
- pattern BLEND_OP_DARKEN_EXT :: BlendOp
- pattern BLEND_OP_OVERLAY_EXT :: BlendOp
- pattern BLEND_OP_SCREEN_EXT :: BlendOp
- pattern BLEND_OP_MULTIPLY_EXT :: BlendOp
- pattern BLEND_OP_XOR_EXT :: BlendOp
- pattern BLEND_OP_DST_ATOP_EXT :: BlendOp
- pattern BLEND_OP_SRC_ATOP_EXT :: BlendOp
- pattern BLEND_OP_DST_OUT_EXT :: BlendOp
- pattern BLEND_OP_SRC_OUT_EXT :: BlendOp
- pattern BLEND_OP_DST_IN_EXT :: BlendOp
- pattern BLEND_OP_SRC_IN_EXT :: BlendOp
- pattern BLEND_OP_DST_OVER_EXT :: BlendOp
- pattern BLEND_OP_SRC_OVER_EXT :: BlendOp
- pattern BLEND_OP_DST_EXT :: BlendOp
- pattern BLEND_OP_SRC_EXT :: BlendOp
- pattern BLEND_OP_ZERO_EXT :: BlendOp
Documentation
VkBlendOp - Framebuffer blending operations
Description
The semantics of each basic blend operations is described in the table below:
BlendOp | RGB Components | Alpha Component |
---|---|---|
BLEND_OP_ADD
| R = Rs0 × Sr + Rd × Dr G = Gs0 × Sg + Gd × Dg B = Bs0 × Sb + Bd × Db | A = As0 × Sa + Ad × Da |
BLEND_OP_SUBTRACT
| R = Rs0 × Sr - Rd × Dr G = Gs0 × Sg - Gd × Dg B = Bs0 × Sb - Bd × Db | A = As0 × Sa - Ad × Da |
BLEND_OP_REVERSE_SUBTRACT
| R = Rd × Dr - Rs0 × Sr G = Gd × Dg - Gs0 × Sg B = Bd × Db - Bs0 × Sb | A = Ad × Da - As0 × Sa |
BLEND_OP_MIN
| R = min(Rs0,Rd) G = min(Gs0,Gd) B = min(Bs0,Bd) | A = min(As0,Ad) |
BLEND_OP_MAX
| R = max(Rs0,Rd) G = max(Gs0,Gd) B = max(Bs0,Bd) | A = max(As0,Ad) |
Basic Blend Operations
In this table, the following conventions are used:
- Rs0, Gs0, Bs0 and As0 represent the first source color R, G, B, and A components, respectively.
- Rd, Gd, Bd and Ad represent the R, G, B, and A components of the destination color. That is, the color currently in the corresponding color attachment for this fragment/sample.
- Sr, Sg, Sb and Sa represent the source blend factor R, G, B, and A components, respectively.
- Dr, Dg, Db and Da represent the destination blend factor R, G, B, and A components, respectively.
The blending operation produces a new set of values R, G, B and A, which are written to the framebuffer attachment. If blending is not enabled for this attachment, then R, G, B and A are assigned Rs0, Gs0, Bs0 and As0, respectively.
If the color attachment is fixed-point, the components of the source and destination values and blend factors are each clamped to [0,1] or [-1,1] respectively for an unsigned normalized or signed normalized color attachment prior to evaluating the blend operations. If the color attachment is floating-point, no clamping occurs.
See Also
Instances
Eq BlendOp Source # | |
Ord BlendOp Source # | |
Defined in Vulkan.Core10.Enums.BlendOp | |
Read BlendOp Source # | |
Show BlendOp Source # | |
Storable BlendOp Source # | |
Zero BlendOp Source # | |
Defined in Vulkan.Core10.Enums.BlendOp |