#[repr(C, align(4))]pub struct ClassicTriTexturedGouraud {
pub tag: u32,
pub color0_cmd: u32,
pub v0: u32,
pub uv0_clut: u32,
pub color1: u32,
pub v1: u32,
pub uv1_tpage: u32,
pub color2: u32,
pub v2: u32,
pub uv2: u32,
}Expand description
Classic textured Gouraud triangle without an inline GP0(E2) texture-window command. This is the compact GP0(34h) packet used by renderers that keep a single texture-window state for the whole pass. 10 words (tag + 9 data).
Fields§
§tag: u32Staged OT tag or final DMA linkage.
color0_cmd: u32GP0(34h) plus vertex-zero RGB.
v0: u32Vertex-zero screen coordinate.
uv0_clut: u32Vertex-zero UV and CLUT.
color1: u32Vertex-one RGB.
v1: u32Vertex-one screen coordinate.
uv1_tpage: u32Vertex-one UV and tpage.
color2: u32Vertex-two RGB.
v2: u32Vertex-two screen coordinate.
uv2: u32Vertex-two UV.
Implementations§
Source§impl ClassicTriTexturedGouraud
impl ClassicTriTexturedGouraud
Sourcepub const fn with_staged_slot(
verts: [(i16, i16); 3],
uv_words: [u16; 3],
colors: [u32; 3],
clut: u16,
tpage: u16,
ot_slot: u16,
) -> Self
pub const fn with_staged_slot( verts: [(i16, i16); 3], uv_words: [u16; 3], colors: [u32; 3], clut: u16, tpage: u16, ot_slot: u16, ) -> Self
Build a compact packet whose tag temporarily carries ot_slot for a
later crate::ot::OrderingTable::insert_tagged_packet_stream_unchecked
pass.
Sourcepub const fn with_staged_slot_prepacked_material(
verts: [(i16, i16); 3],
uv_words: [u16; 3],
colors: [u32; 3],
clut_high_word: u32,
tpage_high_word: u32,
ot_slot: u16,
) -> Self
pub const fn with_staged_slot_prepacked_material( verts: [(i16, i16); 3], uv_words: [u16; 3], colors: [u32; 3], clut_high_word: u32, tpage_high_word: u32, ot_slot: u16, ) -> Self
Build a staged compact packet from CLUT and tpage words that have already been shifted into their GP0 high-halfword positions.
Sourcepub const fn with_staged_slot_prepacked_colors(
verts: [(i16, i16); 3],
uv_words: [u16; 3],
colors: [u32; 3],
clut_high_word: u32,
tpage_high_word: u32,
ot_slot: u16,
) -> Self
pub const fn with_staged_slot_prepacked_colors( verts: [(i16, i16); 3], uv_words: [u16; 3], colors: [u32; 3], clut_high_word: u32, tpage_high_word: u32, ot_slot: u16, ) -> Self
Build a staged packet without masking the supplied packet RGB words.
Every color word must have its high byte clear, and clut_high_word
and tpage_high_word must hold only their high halfwords; debug builds
assert both. A word that breaks this changes what the GPU draws, not
memory, so the constructor is safe.
Sourcepub const unsafe fn with_staged_slot_prepacked_unchecked(
verts: [(i16, i16); 3],
uv_words: [u16; 3],
colors: [u32; 3],
clut_high_word: u32,
tpage_high_word: u32,
ot_slot: u16,
) -> Self
👎Deprecated: renamed to with_staged_slot_prepacked_colors, which is safe
pub const unsafe fn with_staged_slot_prepacked_unchecked( verts: [(i16, i16); 3], uv_words: [u16; 3], colors: [u32; 3], clut_high_word: u32, tpage_high_word: u32, ot_slot: u16, ) -> Self
renamed to with_staged_slot_prepacked_colors, which is safe
Renamed to Self::with_staged_slot_prepacked_colors, which is safe.
§Safety
Nothing beyond that function’s preconditions; it stays unsafe so
existing unsafe blocks keep compiling without a warning.
Trait Implementations§
Source§impl Clone for ClassicTriTexturedGouraud
impl Clone for ClassicTriTexturedGouraud
Source§fn clone(&self) -> ClassicTriTexturedGouraud
fn clone(&self) -> ClassicTriTexturedGouraud
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ClassicTriTexturedGouraud
impl Debug for ClassicTriTexturedGouraud
Source§impl Hash for ClassicTriTexturedGouraud
impl Hash for ClassicTriTexturedGouraud
Source§impl PartialEq for ClassicTriTexturedGouraud
impl PartialEq for ClassicTriTexturedGouraud
impl Copy for ClassicTriTexturedGouraud
impl Eq for ClassicTriTexturedGouraud
impl StructuralPartialEq for ClassicTriTexturedGouraud
Auto Trait Implementations§
impl Freeze for ClassicTriTexturedGouraud
impl RefUnwindSafe for ClassicTriTexturedGouraud
impl Send for ClassicTriTexturedGouraud
impl Sync for ClassicTriTexturedGouraud
impl Unpin for ClassicTriTexturedGouraud
impl UnsafeUnpin for ClassicTriTexturedGouraud
impl UnwindSafe for ClassicTriTexturedGouraud
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)