mirror of
https://github.com/redstrate/Physis.git
synced 2025-06-05 22:27:46 +00:00
Remove texture usage enum from Sampler
This is a bit of an awkward API, because we have to manually keep the CRC list up-to-date when in other cases that's left up to consumers. I added a comment about how to figure out this value.
This commit is contained in:
parent
1d3192de23
commit
f46a32462e
2 changed files with 3 additions and 54 deletions
56
src/mtrl.rs
56
src/mtrl.rs
|
@ -317,65 +317,13 @@ pub struct Constant {
|
|||
values: [f32; 4],
|
||||
}
|
||||
|
||||
// from https://github.com/NotAdam/Lumina/blob/master/src/Lumina/Data/Parsing/MtrlStructs.cs
|
||||
#[binrw]
|
||||
#[repr(u8)]
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
pub enum TextureUsage {
|
||||
#[brw(magic = 0x88408C04u32)]
|
||||
Sampler,
|
||||
#[brw(magic = 0x213CB439u32)]
|
||||
Sampler0,
|
||||
#[brw(magic = 0x563B84AFu32)]
|
||||
Sampler1,
|
||||
#[brw(magic = 0xFEA0F3D2u32)]
|
||||
SamplerCatchlight,
|
||||
#[brw(magic = 0x1E6FEF9Cu32)]
|
||||
SamplerColorMap0,
|
||||
#[brw(magic = 0x6968DF0Au32)]
|
||||
SamplerColorMap1,
|
||||
#[brw(magic = 0x115306BEu32)]
|
||||
SamplerDiffuse,
|
||||
#[brw(magic = 0xF8D7957Au32)]
|
||||
SamplerEnvMap,
|
||||
#[brw(magic = 0x8A4E82B6u32)]
|
||||
SamplerMask,
|
||||
#[brw(magic = 0x0C5EC1F1u32)]
|
||||
SamplerNormal,
|
||||
#[brw(magic = 0xAAB4D9E9u32)]
|
||||
SamplerNormalMap0,
|
||||
#[brw(magic = 0xDDB3E97Fu32)]
|
||||
SamplerNormalMap1,
|
||||
#[brw(magic = 0x87F6474Du32)]
|
||||
SamplerReflection,
|
||||
#[brw(magic = 0x2B99E025u32)]
|
||||
SamplerSpecular,
|
||||
#[brw(magic = 0x1BBC2F12u32)]
|
||||
SamplerSpecularMap0,
|
||||
#[brw(magic = 0x6CBB1F84u32)]
|
||||
SamplerSpecularMap1,
|
||||
#[brw(magic = 0xE6321AFCu32)]
|
||||
SamplerWaveMap,
|
||||
#[brw(magic = 0x574E22D6u32)]
|
||||
SamplerWaveletMap0,
|
||||
#[brw(magic = 0x20491240u32)]
|
||||
SamplerWaveletMap1,
|
||||
#[brw(magic = 0x95E1F64Du32)]
|
||||
SamplerWhitecapMap,
|
||||
|
||||
#[brw(magic = 0x565f8fd8u32)]
|
||||
UnknownDawntrail1,
|
||||
|
||||
#[brw(magic = 0xe5338c17u32)]
|
||||
UnknownDawntrail2,
|
||||
}
|
||||
|
||||
#[binrw]
|
||||
#[derive(Debug, Clone, Copy)]
|
||||
#[repr(C)]
|
||||
#[allow(dead_code)]
|
||||
pub struct Sampler {
|
||||
texture_usage: TextureUsage,
|
||||
/// This is a CRC hash, it can be calculated via ShaderPackage::crc
|
||||
pub texture_usage: u32,
|
||||
flags: u32, // TODO: unknown
|
||||
texture_index: u8,
|
||||
unknown1: u8,
|
||||
|
|
|
@ -305,6 +305,7 @@ mod tests {
|
|||
fn test_crc() {
|
||||
assert_eq!(ShaderPackage::crc("PASS_0"), 0xC5A5389C);
|
||||
assert_eq!(ShaderPackage::crc("DecodeDepthBuffer"), 0x2C6C023C);
|
||||
assert_eq!(ShaderPackage::crc("g_Sampler"), 0x88408C04);
|
||||
}
|
||||
|
||||
#[test]
|
||||
|
|
Loading…
Add table
Reference in a new issue