Files
tinyusdz/models/materialx-aces2065-1.usda
Syoyo Fujita f9e030d6bf Add texture colorspace support and colorspace test USDA files
- 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>
2025-11-07 06:23:07 +09:00

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
}
}
}
}