mirror of
https://github.com/lighttransport/tinyusdz.git
synced 2026-01-18 01:11:17 +01:00
- Enhanced material-serializer to include texture asset identifiers and colorspace metadata * Added colorSpaceToString() helper for 15+ colorspace enum values * Pass RenderScene to serializeMaterial() for texture information access * Include texture metadata (width, height, channels, colorSpace, usdColorSpace) * Reorganize OpenPBR parameters into grouped layers (base, specular, transmission, etc.) - Added 8 MaterialX + USDA test files with colorspace variations: * materialx-textured-simple.usda - basic textured material * materialx-srgb-ldr.usda - standard sRGB color texture * materialx-linear-srgb.usda - raw colorspace (non-color data) * materialx-aces-cg.usda - ACES CG for HDR VFX workflows * materialx-aces2065-1.usda - ACES 2065-1 for DCI cinema * materialx-rec709-linear.usda - linear Rec.709 for broadcast video * materialx-rec709-gamma22.usda - gamma 2.2 Rec.709 (sRGB-like) * materialx-displayp3.usda - Display P3 for modern displays - Verified colorspace information correctly passes from C++ to JavaScript/WASM * All test files export via dump-materialx-cli.js with proper colorSpace values * JSON includes both colorSpace (processed) and usdColorSpace (original intent) fields 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
57 lines
1.7 KiB
Plaintext
57 lines
1.7 KiB
Plaintext
#usda 1.0
|
|
(
|
|
doc = "MaterialX material with ACES 2065-1 colorspace (DCI cinema)"
|
|
metersPerUnit = 1
|
|
upAxis = "Y"
|
|
defaultPrim = "World"
|
|
)
|
|
|
|
def Xform "World"
|
|
{
|
|
def Cube "ACES2065Cube"
|
|
{
|
|
double size = 1.0
|
|
rel material:binding = </World/_materials/ACES2065Material>
|
|
|
|
texCoord2f[] primvars:st = [(0, 0), (1, 0), (1, 1), (0, 1)] (
|
|
interpolation = "vertex"
|
|
)
|
|
}
|
|
|
|
def Scope "_materials"
|
|
{
|
|
def Material "ACES2065Material"
|
|
{
|
|
token outputs:surface.connect = </World/_materials/ACES2065Material/OpenPBRSurface.outputs:surface>
|
|
|
|
def Shader "OpenPBRSurface"
|
|
{
|
|
uniform token info:id = "OpenPBRSurface"
|
|
color3f inputs:base_color.connect = </World/_materials/ACES2065Material/ACESTexture.outputs:rgb>
|
|
float inputs:base_weight = 1.0
|
|
float inputs:base_metalness = 0.0
|
|
float inputs:specular_roughness = 0.4
|
|
token outputs:surface
|
|
}
|
|
|
|
def Shader "ACESTexture"
|
|
{
|
|
uniform token info:id = "UsdUVTexture"
|
|
asset inputs:file = @./textures/checkerboard.png@ (
|
|
colorSpace = "aces2065-1"
|
|
)
|
|
string inputs:filtertype = "linear"
|
|
float2 inputs:texcoord.connect = </World/_materials/ACES2065Material/PrimvarNode.outputs:result>
|
|
color3f outputs:rgb
|
|
}
|
|
|
|
def Shader "PrimvarNode"
|
|
{
|
|
uniform token info:id = "UsdPrimvarReader_float2"
|
|
string inputs:varname = "st"
|
|
float2 outputs:result
|
|
}
|
|
}
|
|
}
|
|
}
|