pub enum TextBlend {
Average,
Add,
Subtract,
AddQuarter,
}Expand description
GPU semi-transparency equation for FontAtlas::draw_text_blended.
The PSX blends a semi-transparent primitive against the framebuffer
with one of four fixed equations. The choice is not per-primitive:
the primitive only carries a “blend me” bit, and the equation comes
from the two-bit ABR field of the current GP0(E1h) draw mode. These
are the same four the rest of the SDK exposes as psx_gpu::BlendMode,
restated here so the font crate does not take a dependency on the
primitive layer to name two bits.
Variants§
Average
(background + foreground) / 2. A fixed 50% wash; the tint still
recolours, but it cannot fade a glyph away – at tint zero the
glyph still halves whatever is behind it.
Add
background + foreground, clamped per channel. The mode to reach
for when text has to fade: scaling the tint toward black scales
the contribution toward nothing, so the glyph dissolves instead
of darkening. Reads as emissive, which suits HUD and combat text.
Subtract
background - foreground, clamped per channel. Darkens whatever
is behind the glyph, so it works as a drop shadow over a light
background as well as a dark one.
AddQuarter
background + foreground / 4, clamped per channel. A quarter-
strength Self::Add for a subtler glow.
Implementations§
Source§impl TextBlend
impl TextBlend
Sourcepub const fn semi_transparency_bits(self) -> u8
pub const fn semi_transparency_bits(self) -> u8
The two-bit draw-mode semi-transparency (“ABR”) field selecting this equation.
Trait Implementations§
impl Copy for TextBlend
impl Eq for TextBlend
impl StructuralPartialEq for TextBlend
Auto Trait Implementations§
impl Freeze for TextBlend
impl RefUnwindSafe for TextBlend
impl Send for TextBlend
impl Sync for TextBlend
impl Unpin for TextBlend
impl UnsafeUnpin for TextBlend
impl UnwindSafe for TextBlend
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)