; FBX 7.7.0 project file
; ----------------------------------------------------
FBXHeaderExtension: {
FBXHeaderVersion: 1004
FBXVersion: 7700
CreationTimeStamp: {
Version: 1000
Year: 2022
Month: 6
Day: 26
Hour: 18
Minute: 52
Second: 42
Millisecond: 101
}
Creator: "FBX SDK/FBX Plugins version 2020.3"
OtherFlags: {
TCDefinition: 127
}
SceneInfo: "SceneInfo::GlobalInfo", "UserData" {
Type: "UserData"
Version: 100
MetaData: {
Version: 100
Title: ""
Subject: ""
Author: ""
Keywords: ""
Revision: ""
Comment: ""
}
Properties70: {
P: "DocumentUrl", "KString", "Url", "", "D:\Dev\clean\ufbx\data\max_shadergraph_7700_ascii.fbx"
P: "SrcDocumentUrl", "KString", "Url", "", "D:\Dev\clean\ufbx\data\max_shadergraph_7700_ascii.fbx"
P: "Original", "Compound", "", ""
P: "Original|ApplicationVendor", "KString", "", "", "Autodesk"
P: "Original|ApplicationName", "KString", "", "", "3ds Max"
P: "Original|ApplicationVersion", "KString", "", "", "2023"
P: "Original|DateTime_GMT", "DateTime", "", "", "26/06/2022 15:52:42.100"
P: "Original|FileName", "KString", "", "", "D:\Dev\clean\ufbx\data\max_shadergraph_7700_ascii.fbx"
P: "LastSaved", "Compound", "", ""
P: "LastSaved|ApplicationVendor", "KString", "", "", "Autodesk"
P: "LastSaved|ApplicationName", "KString", "", "", "3ds Max"
P: "LastSaved|ApplicationVersion", "KString", "", "", "2023"
P: "LastSaved|DateTime_GMT", "DateTime", "", "", "26/06/2022 15:52:42.100"
P: "Original|ApplicationActiveProject", "KString", "", "", "C:\Users\Datacube\Documents\3ds Max 2023"
P: "Original|ApplicationNativeFile", "KString", "", "", "C:\Users\Datacube\Documents\3ds Max 2023\scenes\shadergraph.max"
}
}
}
GlobalSettings: {
Version: 1000
Properties70: {
P: "UpAxis", "int", "Integer", "",2
P: "UpAxisSign", "int", "Integer", "",1
P: "FrontAxis", "int", "Integer", "",1
P: "FrontAxisSign", "int", "Integer", "",-1
P: "CoordAxis", "int", "Integer", "",0
P: "CoordAxisSign", "int", "Integer", "",1
P: "OriginalUpAxis", "int", "Integer", "",2
P: "OriginalUpAxisSign", "int", "Integer", "",1
P: "UnitScaleFactor", "double", "Number", "",2.54
P: "OriginalUnitScaleFactor", "double", "Number", "",2.54
P: "AmbientColor", "ColorRGB", "Color", "",0,0,0
P: "DefaultCamera", "KString", "", "", "Producer Left"
P: "TimeMode", "enum", "", "",6
P: "TimeProtocol", "enum", "", "",2
P: "SnapOnFrameMode", "enum", "", "",0
P: "TimeSpanStart", "KTime", "Time", "",0
P: "TimeSpanStop", "KTime", "Time", "",153953860000
P: "CustomFrameRate", "double", "Number", "",-1
P: "TimeMarker", "Compound", "", ""
P: "CurrentTimeMarker", "int", "Integer", "",-1
}
}
; Documents Description
;------------------------------------------------------------------
Documents: {
Count: 1
Document: 1398965261872, "", "Scene" {
Properties70: {
P: "SourceObject", "object", "", ""
P: "ActiveAnimStackName", "KString", "", "", ""
}
RootNode: 0
}
}
; Document References
;------------------------------------------------------------------
References: {
}
; Object definitions
;------------------------------------------------------------------
Definitions: {
Version: 100
Count: 38
ObjectType: "GlobalSettings" {
Count: 1
}
ObjectType: "AnimationStack" {
Count: 1
PropertyTemplate: "FbxAnimStack" {
Properties70: {
P: "Description", "KString", "", "", ""
P: "LocalStart", "KTime", "Time", "",0
P: "LocalStop", "KTime", "Time", "",0
P: "ReferenceStart", "KTime", "Time", "",0
P: "ReferenceStop", "KTime", "Time", "",0
}
}
}
ObjectType: "AnimationLayer" {
Count: 1
PropertyTemplate: "FbxAnimLayer" {
Properties70: {
P: "Weight", "Number", "", "A",100
P: "Mute", "bool", "", "",0
P: "Solo", "bool", "", "",0
P: "Lock", "bool", "", "",0
P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8
P: "BlendMode", "enum", "", "",0
P: "RotationAccumulationMode", "enum", "", "",0
P: "ScaleAccumulationMode", "enum", "", "",0
P: "BlendModeBypass", "ULongLong", "", "",0
}
}
}
ObjectType: "Model" {
Count: 1
PropertyTemplate: "FbxNode" {
Properties70: {
P: "QuaternionInterpolate", "enum", "", "",0
P: "RotationOffset", "Vector3D", "Vector", "",0,0,0
P: "RotationPivot", "Vector3D", "Vector", "",0,0,0
P: "ScalingOffset", "Vector3D", "Vector", "",0,0,0
P: "ScalingPivot", "Vector3D", "Vector", "",0,0,0
P: "TranslationActive", "bool", "", "",0
P: "TranslationMin", "Vector3D", "Vector", "",0,0,0
P: "TranslationMax", "Vector3D", "Vector", "",0,0,0
P: "TranslationMinX", "bool", "", "",0
P: "TranslationMinY", "bool", "", "",0
P: "TranslationMinZ", "bool", "", "",0
P: "TranslationMaxX", "bool", "", "",0
P: "TranslationMaxY", "bool", "", "",0
P: "TranslationMaxZ", "bool", "", "",0
P: "RotationOrder", "enum", "", "",0
P: "RotationSpaceForLimitOnly", "bool", "", "",0
P: "RotationStiffnessX", "double", "Number", "",0
P: "RotationStiffnessY", "double", "Number", "",0
P: "RotationStiffnessZ", "double", "Number", "",0
P: "AxisLen", "double", "Number", "",10
P: "PreRotation", "Vector3D", "Vector", "",0,0,0
P: "PostRotation", "Vector3D", "Vector", "",0,0,0
P: "RotationActive", "bool", "", "",0
P: "RotationMin", "Vector3D", "Vector", "",0,0,0
P: "RotationMax", "Vector3D", "Vector", "",0,0,0
P: "RotationMinX", "bool", "", "",0
P: "RotationMinY", "bool", "", "",0
P: "RotationMinZ", "bool", "", "",0
P: "RotationMaxX", "bool", "", "",0
P: "RotationMaxY", "bool", "", "",0
P: "RotationMaxZ", "bool", "", "",0
P: "InheritType", "enum", "", "",0
P: "ScalingActive", "bool", "", "",0
P: "ScalingMin", "Vector3D", "Vector", "",0,0,0
P: "ScalingMax", "Vector3D", "Vector", "",1,1,1
P: "ScalingMinX", "bool", "", "",0
P: "ScalingMinY", "bool", "", "",0
P: "ScalingMinZ", "bool", "", "",0
P: "ScalingMaxX", "bool", "", "",0
P: "ScalingMaxY", "bool", "", "",0
P: "ScalingMaxZ", "bool", "", "",0
P: "GeometricTranslation", "Vector3D", "Vector", "",0,0,0
P: "GeometricRotation", "Vector3D", "Vector", "",0,0,0
P: "GeometricScaling", "Vector3D", "Vector", "",1,1,1
P: "MinDampRangeX", "double", "Number", "",0
P: "MinDampRangeY", "double", "Number", "",0
P: "MinDampRangeZ", "double", "Number", "",0
P: "MaxDampRangeX", "double", "Number", "",0
P: "MaxDampRangeY", "double", "Number", "",0
P: "MaxDampRangeZ", "double", "Number", "",0
P: "MinDampStrengthX", "double", "Number", "",0
P: "MinDampStrengthY", "double", "Number", "",0
P: "MinDampStrengthZ", "double", "Number", "",0
P: "MaxDampStrengthX", "double", "Number", "",0
P: "MaxDampStrengthY", "double", "Number", "",0
P: "MaxDampStrengthZ", "double", "Number", "",0
P: "PreferedAngleX", "double", "Number", "",0
P: "PreferedAngleY", "double", "Number", "",0
P: "PreferedAngleZ", "double", "Number", "",0
P: "LookAtProperty", "object", "", ""
P: "UpVectorProperty", "object", "", ""
P: "Show", "bool", "", "",1
P: "NegativePercentShapeSupport", "bool", "", "",1
P: "DefaultAttributeIndex", "int", "Integer", "",-1
P: "Freeze", "bool", "", "",0
P: "LODBox", "bool", "", "",0
P: "Lcl Translation", "Lcl Translation", "", "A",0,0,0
P: "Lcl Rotation", "Lcl Rotation", "", "A",0,0,0
P: "Lcl Scaling", "Lcl Scaling", "", "A",1,1,1
P: "Visibility", "Visibility", "", "A",1
P: "Visibility Inheritance", "Visibility Inheritance", "", "",1
}
}
}
ObjectType: "Geometry" {
Count: 1
PropertyTemplate: "FbxMesh" {
Properties70: {
P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8
P: "BBoxMin", "Vector3D", "Vector", "",0,0,0
P: "BBoxMax", "Vector3D", "Vector", "",0,0,0
P: "Primary Visibility", "bool", "", "",1
P: "Casts Shadows", "bool", "", "",1
P: "Receive Shadows", "bool", "", "",1
}
}
}
ObjectType: "Material" {
Count: 1
PropertyTemplate: "FbxSurfaceMaterial" {
Properties70: {
P: "ShadingModel", "KString", "", "", "Unknown"
P: "MultiLayer", "bool", "", "",0
}
}
}
ObjectType: "Texture" {
Count: 28
PropertyTemplate: "FbxFileTexture" {
Properties70: {
P: "TextureTypeUse", "enum", "", "",0
P: "Texture alpha", "Number", "", "A",1
P: "CurrentMappingType", "enum", "", "",0
P: "WrapModeU", "enum", "", "",0
P: "WrapModeV", "enum", "", "",0
P: "UVSwap", "bool", "", "",0
P: "PremultiplyAlpha", "bool", "", "",1
P: "Translation", "Vector", "", "A",0,0,0
P: "Rotation", "Vector", "", "A",0,0,0
P: "Scaling", "Vector", "", "A",1,1,1
P: "TextureRotationPivot", "Vector3D", "Vector", "",0,0,0
P: "TextureScalingPivot", "Vector3D", "Vector", "",0,0,0
P: "CurrentTextureBlendMode", "enum", "", "",1
P: "UVSet", "KString", "", "", "default"
P: "UseMaterial", "bool", "", "",0
P: "UseMipMap", "bool", "", "",0
}
}
}
ObjectType: "Implementation" {
Count: 1
PropertyTemplate: "FbxImplementation" {
Properties70: {
P: "ShaderLanguage", "KString", "", "", "MentalRaySL"
P: "ShaderLanguageVersion", "KString", "", "", ""
P: "RenderAPI", "KString", "", "", "MentalRay"
P: "RenderAPIVersion", "KString", "", "", ""
P: "RootBindingName", "KString", "", "", ""
P: "Constants", "Compound", "", ""
}
}
}
ObjectType: "BindingTable" {
Count: 1
PropertyTemplate: "FbxBindingTable" {
Properties70: {
P: "TargetName", "KString", "", "", ""
P: "TargetType", "KString", "", "", ""
P: "CodeAbsoluteURL", "KString", "XRefUrl", "", ""
P: "CodeRelativeURL", "KString", "XRefUrl", "", ""
P: "CodeTAG", "KString", "", "", "shader"
P: "DescAbsoluteURL", "KString", "XRefUrl", "", ""
P: "DescRelativeURL", "KString", "XRefUrl", "", ""
P: "DescTAG", "KString", "", "", "shader"
}
}
}
ObjectType: "Video" {
Count: 2
PropertyTemplate: "FbxVideo" {
Properties70: {
P: "Path", "KString", "XRefUrl", "", ""
P: "RelPath", "KString", "XRefUrl", "", ""
P: "Color", "ColorRGB", "Color", "",0.8,0.8,0.8
P: "ClipIn", "KTime", "Time", "",0
P: "ClipOut", "KTime", "Time", "",0
P: "Offset", "KTime", "Time", "",0
P: "PlaySpeed", "double", "Number", "",0
P: "FreeRunning", "bool", "", "",0
P: "Loop", "bool", "", "",0
P: "Mute", "bool", "", "",0
P: "AccessMode", "enum", "", "",0
P: "ImageSequence", "bool", "", "",0
P: "ImageSequenceOffset", "int", "Integer", "",0
P: "FrameRate", "double", "Number", "",0
P: "LastFrame", "int", "Integer", "",0
P: "Width", "int", "Integer", "",0
P: "Height", "int", "Integer", "",0
P: "StartFrame", "int", "Integer", "",0
P: "StopFrame", "int", "Integer", "",0
P: "InterlaceMode", "enum", "", "",0
}
}
}
}
; Object properties
;------------------------------------------------------------------
Objects: {
Geometry: 1399172077888, "Geometry::", "Mesh" {
Properties70: {
P: "Color", "ColorRGB", "Color", "",0.423529411764706,0.0313725490196078,0.533333333333333
}
Vertices: *24 {
a: -10.0000047683716,-10.0000047683716,0,10.0000047683716,-10.0000047683716,0,-10.0000047683716,10.0000047683716,0,10.0000047683716,10.0000047683716,0,-10.0000047683716,-10.0000047683716,20.0000095367432,10.0000047683716,-10.0000047683716,20.0000095367432,-10.0000047683716,10.0000047683716,20.0000095367432,10.0000047683716,10.0000047683716,20.0000095367432
}
PolygonVertexIndex: *24 {
a: 0,2,3,-2,4,5,7,-7,0,1,5,-5,1,3,7,-6,3,2,6,-8,2,0,4,-7
}
Edges: *12 {
a: 0,1,2,3,4,5,6,7,9,11,13,17
}
GeometryVersion: 124
LayerElementNormal: 0 {
Version: 102
Name: ""
MappingInformationType: "ByPolygonVertex"
ReferenceInformationType: "Direct"
Normals: *72 {
a: 0,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,1,0,0,1,0,0,1,0,0,1,0,0,0,1,0,0,1,0,0,1,0,0,1,0,-1,0,0,-1,0,0,-1,0,0,-1,0,0
}
NormalsW: *24 {
a: 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
}
}
LayerElementUV: 0 {
Version: 101
Name: "UVChannel_1"
MappingInformationType: "ByPolygonVertex"
ReferenceInformationType: "IndexToDirect"
UV: *48 {
a: 1,0,0,0,1,1,0,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1,0,0,1,0,0,1,1,1
}
UVIndex: *24 {
a: 0,2,3,1,4,5,7,6,8,9,11,10,12,13,15,14,16,17,19,18,20,21,23,22
}
}
LayerElementMaterial: 0 {
Version: 101
Name: ""
MappingInformationType: "AllSame"
ReferenceInformationType: "IndexToDirect"
Materials: *1 {
a: 0
}
}
Layer: 0 {
Version: 100
LayerElement: {
Type: "LayerElementNormal"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementMaterial"
TypedIndex: 0
}
LayerElement: {
Type: "LayerElementUV"
TypedIndex: 0
}
}
}
Model: 1399168483248, "Model::Box001", "Mesh" {
Version: 232
Properties70: {
P: "InheritType", "enum", "", "",1
P: "ScalingMax", "Vector3D", "Vector", "",0,0,0
P: "DefaultAttributeIndex", "int", "Integer", "",0
P: "MaxHandle", "int", "Integer", "UH",2
}
Shading: T
Culling: "CullingOff"
}
Material: 1396940711680, "Material::Material #25", "" {
Version: 102
ShadingModel: "unknown"
MultiLayer: 0
Properties70: {
P: "ShadingModel", "KString", "", "", "unknown"
P: "AmbientColor", "ColorRGB", "Color", "",0.5,0.5,0.5
P: "DiffuseColor", "ColorRGB", "Color", "",0.5,0.5,0.5
P: "SpecularColor", "ColorRGB", "Color", "",1,1,1
P: "SpecularFactor", "double", "Number", "",2
P: "ShininessExponent", "double", "Number", "",1024
P: "TransparencyFactor", "double", "Number", "",0
P: "EmissiveColor", "ColorRGB", "Color", "",0,0,0
P: "EmissiveFactor", "double", "Number", "",0
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",1030429932
P: "3dsMax|ClassIDb", "int", "Integer", "",-559038463
P: "3dsMax|SuperClassID", "int", "Integer", "",3072
P: "3dsMax|Parameters", "Compound", "", ""
P: "3dsMax|ORIGINAL_MTL", "KString", "", "", "PHYSICAL_MTL"
P: "3dsMax|Parameters|material_mode", "Integer", "", "A",2
P: "3dsMax|Parameters|base_weight", "Float", "", "A",1
P: "3dsMax|Parameters|base_color", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|Parameters|reflectivity", "Float", "", "A",1
P: "3dsMax|Parameters|roughness", "Float", "", "A",0
P: "3dsMax|Parameters|roughness_inv", "Bool", "", "A",0
P: "3dsMax|Parameters|metalness", "Float", "", "A",0
P: "3dsMax|Parameters|refl_color", "ColorAndAlpha", "", "A",1,1,1,1
P: "3dsMax|Parameters|diff_roughness", "Float", "", "A",0
P: "3dsMax|Parameters|brdf_mode", "Bool", "", "A",1
P: "3dsMax|Parameters|brdf_low", "Float", "", "A",0.05
P: "3dsMax|Parameters|brdf_high", "Float", "", "A",1
P: "3dsMax|Parameters|brdf_curve", "Float", "", "A",5
P: "3dsMax|Parameters|anisotropy", "Float", "", "A",0
P: "3dsMax|Parameters|anisoangle", "Float", "", "A",0.25
P: "3dsMax|Parameters|aniso_mode", "Integer", "", "A",0
P: "3dsMax|Parameters|aniso_channel", "Integer", "", "A",0
P: "3dsMax|Parameters|transparency", "Float", "", "A",0
P: "3dsMax|Parameters|trans_color", "ColorAndAlpha", "", "A",1,1,1,1
P: "3dsMax|Parameters|trans_depth", "Float", "", "A",0
P: "3dsMax|Parameters|trans_roughness", "Float", "", "A",0
P: "3dsMax|Parameters|trans_roughness_inv", "Bool", "", "A",0
P: "3dsMax|Parameters|trans_roughness_lock", "Bool", "", "A",1
P: "3dsMax|Parameters|trans_ior", "Float", "", "A",1.52
P: "3dsMax|Parameters|thin_walled", "Bool", "", "A",0
P: "3dsMax|Parameters|dispersion", "Float", "", "A",0
P: "3dsMax|Parameters|trans_scatter_color", "ColorAndAlpha", "", "A",0,0,0,1
P: "3dsMax|Parameters|trans_scatter_aniso", "Float", "", "A",0
P: "3dsMax|Parameters|scattering", "Float", "", "A",0
P: "3dsMax|Parameters|sss_color", "ColorAndAlpha", "", "A",1,1,1,1
P: "3dsMax|Parameters|sss_depth", "Float", "", "A",10
P: "3dsMax|Parameters|sss_scale", "Float", "", "A",1
P: "3dsMax|Parameters|sss_scatter_color", "ColorAndAlpha", "", "A",100,50,25,1
P: "3dsMax|Parameters|emission", "Float", "", "A",1
P: "3dsMax|Parameters|emit_color", "ColorAndAlpha", "", "A",0,0,0,1
P: "3dsMax|Parameters|emit_luminance", "Float", "", "A",1500
P: "3dsMax|Parameters|emit_kelvin", "Float", "", "A",6500
P: "3dsMax|Parameters|coating", "Float", "", "A",0
P: "3dsMax|Parameters|coat_color", "ColorAndAlpha", "", "A",1,1,1,1
P: "3dsMax|Parameters|coat_roughness", "Float", "", "A",0
P: "3dsMax|Parameters|coat_roughness_inv", "Bool", "", "A",0
P: "3dsMax|Parameters|coat_affect_color", "Float", "", "A",0.5
P: "3dsMax|Parameters|coat_affect_roughness", "Float", "", "A",0.5
P: "3dsMax|Parameters|coat_ior", "Float", "", "A",1.52
P: "3dsMax|Parameters|coat_anisotropy", "Float", "", "A",0
P: "3dsMax|Parameters|coat_anisoangle", "Float", "", "A",0.25
P: "3dsMax|Parameters|sheen", "Float", "", "A",0
P: "3dsMax|Parameters|sheen_color", "ColorAndAlpha", "", "A",1,1,1,1
P: "3dsMax|Parameters|sheen_roughness", "Float", "", "A",0.3
P: "3dsMax|Parameters|thin_film", "Float", "", "A",0
P: "3dsMax|Parameters|thin_film_thickness", "Float", "", "A",0
P: "3dsMax|Parameters|thin_film_ior", "Float", "", "A",1.3
P: "3dsMax|Parameters|base_weight_map", "Reference", "", "A"
P: "3dsMax|Parameters|base_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|reflectivity_map", "Reference", "", "A"
P: "3dsMax|Parameters|refl_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|roughness_map", "Reference", "", "A"
P: "3dsMax|Parameters|metalness_map", "Reference", "", "A"
P: "3dsMax|Parameters|diff_rough_map", "Reference", "", "A"
P: "3dsMax|Parameters|anisotropy_map", "Reference", "", "A"
P: "3dsMax|Parameters|aniso_angle_map", "Reference", "", "A"
P: "3dsMax|Parameters|transparency_map", "Reference", "", "A"
P: "3dsMax|Parameters|trans_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|trans_rough_map", "Reference", "", "A"
P: "3dsMax|Parameters|trans_ior_map", "Reference", "", "A"
P: "3dsMax|Parameters|scattering_map", "Reference", "", "A"
P: "3dsMax|Parameters|sss_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|sss_scale_map", "Reference", "", "A"
P: "3dsMax|Parameters|emission_map", "Reference", "", "A"
P: "3dsMax|Parameters|emit_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|coat_map", "Reference", "", "A"
P: "3dsMax|Parameters|coat_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|coat_rough_map", "Reference", "", "A"
P: "3dsMax|Parameters|displacement_map", "Reference", "", "A"
P: "3dsMax|Parameters|cutout_map", "Reference", "", "A"
P: "3dsMax|Parameters|coat_aniso_map", "Reference", "", "A"
P: "3dsMax|Parameters|coat_aniso_angle_map", "Reference", "", "A"
P: "3dsMax|Parameters|sheen_map", "Reference", "", "A"
P: "3dsMax|Parameters|sheen_color_map", "Reference", "", "A"
P: "3dsMax|Parameters|sheen_rough_map", "Reference", "", "A"
P: "3dsMax|Parameters|thin_film_map", "Reference", "", "A"
P: "3dsMax|Parameters|thin_film_ior_map", "Reference", "", "A"
P: "3dsMax|Parameters|base_weight_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|base_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|reflectivity_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|refl_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|roughness_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|metalness_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|diff_rough_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|anisotropy_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|aniso_angle_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|transparency_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|trans_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|trans_rough_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|trans_ior_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|scattering_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|sss_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|sss_scale_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|emission_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|emit_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|coat_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|coat_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|coat_rough_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|coat_aniso_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|coat_aniso_angle_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|sheen_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|sheen_color_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|sheen_rough_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|thin_film_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|thin_film_ior_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|displacement_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|cutout_map_on", "Bool", "", "A",1
P: "3dsMax|Parameters|displacement_map_amt", "Float", "", "A",1
}
}
Video: 1399165029488, "Video::Map #20", "Clip" {
Type: "Clip"
Properties70: {
P: "Path", "KString", "XRefUrl", "", "D:\Dev\clean\ufbx\data\textures\checkerboard_emissive.png"
P: "RelPath", "KString", "XRefUrl", "", "textures\checkerboard_emissive.png"
}
UseMipMap: 0
Filename: "D:\Dev\clean\ufbx\data\textures\checkerboard_emissive.png"
RelativeFilename: "textures\checkerboard_emissive.png"
}
Video: 1399165029968, "Video::Map #32", "Clip" {
Type: "Clip"
Properties70: {
P: "Path", "KString", "XRefUrl", "", "D:\Dev\clean\ufbx\data\textures\checkerboard_displacement.png"
P: "RelPath", "KString", "XRefUrl", "", "textures\checkerboard_displacement.png"
}
UseMipMap: 0
Filename: "D:\Dev\clean\ufbx\data\textures\checkerboard_displacement.png"
RelativeFilename: "textures\checkerboard_displacement.png"
}
Texture: 1399172076448, "Texture::Map #13", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #13"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\ColorMax.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Returns the maximum of two colors&cr;&lf;// ColorMax.osl, by Zap Andersson&cr;&lf;// Modified: 2019-11-22&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader ColorMax&cr;&lf;[[ string help = "Returns the maximum of two colors",&cr;&lf; string label= "Max (color)",&cr;&lf; string category = "Math Color" ]]&cr;&lf;(&cr;&lf; color A = 0.5,&cr;&lf; color B = 0.5,&cr;&lf; output color Out = 0.0,&cr;&lf;)&cr;&lf;{&cr;&lf; Out = max(A, B);&cr;&lf;}"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "ColorMax"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|ColorMax", "Compound", "", ""
P: "3dsMax|ColorMax|A", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorMax|B", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorMax|A_map", "Reference", "", "A"
P: "3dsMax|ColorMax|B_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399172075488, "Texture::Map #15", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #15"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\TriTone.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// A simple linear Tri-tone color corrector using Highlights/Midtones/Shadows&cr;&lf;// TriTone.osl, by Zap Andersson&cr;&lf;// Modified: 2019-11-22&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader TriTone&cr;&lf;[[ string help = "Color corrects an Input color using
Highlights/Midtones/Shadows",&cr;&lf; string label= "Tri-tone",&cr;&lf; //string category = "Color Correction" &cr;&lf;]]&cr;&lf;(&cr;&lf; color Input = u&cr;&lf; [[ string label = "Input Color" ]],&cr;&lf; &cr;&lf; color Highlights = 1.0,&cr;&lf; color Midtones = color(0.3, 0.12, 0.06),&cr;&lf; color Shadows = 0.0,&cr;&lf; &cr;&lf; float MidtoneLum = 0.2&cr;&lf; [[ string label = "Midtone Luminance" ]],&cr;&lf; &cr;&lf; output color Out = 0.0,&cr;&lf;)&cr;&lf;{&cr;&lf; color below = clamp((Input / MidtoneLum), 0.0, 1.0);&cr;&lf; color above = clamp((Input - MidtoneLum) / (1.0 - MidtoneLum), 0.0, 1.0);&cr;&lf; Out = mix(Shadows, mix(Midtones, Highlights, above), below);&cr;&lf;}&cr;&lf;"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "TriTone"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|TriTone", "Compound", "", ""
P: "3dsMax|TriTone|Highlights", "ColorAndAlpha", "", "A",1,1,1,1
P: "3dsMax|TriTone|Midtones", "ColorAndAlpha", "", "A",0.300000011920929,0.119999997317791,0.0599999986588955,1
P: "3dsMax|TriTone|Shadows", "ColorAndAlpha", "", "A",0,0,0,1
P: "3dsMax|TriTone|MidtoneLum", "Float", "", "A",0.2
P: "3dsMax|TriTone|Input_map", "Reference", "", "A"
P: "3dsMax|TriTone|Highlights_map", "Reference", "", "A"
P: "3dsMax|TriTone|Midtones_map", "Reference", "", "A"
P: "3dsMax|TriTone|Shadows_map", "Reference", "", "A"
P: "3dsMax|TriTone|MidtoneLum_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399172077408, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",0
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399172076928, "Texture::Map #14", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #14"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\UberBitmap.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Load a bitmap into OSL (UBER version, with everything built-in)&cr;&lf;// UberBitmap.osl, by Zap Andersson&cr;&lf;// Modified: 2020-04-14&cr;&lf;// Copyright 2020 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader UberBitmap2&cr;&lf;[[ string help = "All-in-one shader for loading a bitmap via OpenImageIO.
Includes UVW channels and transforms in a monolithic version.",&cr;&lf; string label = "Uber Bitmap",&cr;&lf; string version = "2.0" &cr;&lf;]]&cr;&lf;( &cr;&lf; int UVSet = 1 &cr;&lf; [[ string label="Map Channel",&cr;&lf; string help ="The 3ds max Map channel to look up",&cr;&lf; int min = 0, int max = 99 ]],&cr;&lf; float Scale = 1.0 &cr;&lf; [[ string help="The overall Scale. Larger number = bigger." ]],&cr;&lf; vector Tiling = 1.0 &cr;&lf; [[ string help="A per-axis dividing scale, to subdivide the values. Larger number = smaller." ]],&cr;&lf; vector Offset = 0.0&cr;&lf; [[ string help="Moves the UVW coordinates around" ]],&cr;&lf; &cr;&lf; // Real world parameters &cr;&lf; int RealWorld = 0 &cr;&lf; [[ string widget = "checkBox",&cr;&lf; int connectable = 0,&cr;&lf; string help = "Enable Real-World Scaling" ]],&cr;&lf; float RealWidth = 0.2 &cr;&lf; [[ int worldunits=1,&cr;&lf; string help = "Real Width of one unit of texture space" ]], &cr;&lf; float RealHeight = 0.2 &cr;&lf; [[ int worldunits=1,&cr;&lf; string help = "Real Height of one unit of texture space" ]], &cr;&lf; &cr;&lf; float Rotate = 0.0&cr;&lf; [[ string help="A rotation angle in degrees." ]],,&cr;&lf; point RotCenter = point(0.5,0.5,0) &cr;&lf; [[ string label = "Rotation Center",&cr;&lf; string help = "The center of rotation in UVW space" ]],&cr;&lf; vector RotAxis = vector(0.0,0.0,1.0) &cr;&lf; [[ string label = "Rotation Axis",&cr;&lf; string help = "An axis around which the rotation occurs." ]],&cr;&lf; &cr;&lf; string Filename = "" &cr;&lf; [[ string widget="filename", &cr;&lf; string label="File name",&cr;&lf; string help="The name of the texture to look up" ]], &cr;&lf; &cr;&lf; string Filename_UDIMList = "" &cr;&lf; [[ string widget = "null",&cr;&lf; string label="Viewport UDIM List",&cr;&lf; string help="The list of UDIM items to load into the viewport. If empty, will be deduced from the file system automatically. " ]], &cr;&lf; string LoadUDIM = "Load UDIM..." &cr;&lf; [[ string widget="max:actionButton", &cr;&lf; string actionID="loadUDIM(\"Filename\")",&cr;&lf; string help="Select a set of files to load as an UDIM.",&cr;&lf; int connectable = 0 ]], &cr;&lf; &cr;&lf; int UDIM = 0&cr;&lf; [[ string widget="checkBox", string label="UDIM-compatible lookup",&cr;&lf; int connectable = 0,&cr;&lf; string help ="Modifies the UV coordinate so that UDIM's are looked up similar to the max MultiTile map" ]], &cr;&lf; string WrapMode = "periodic"&cr;&lf; [[ string widget="popup", string options = "default|black|clamp|periodic|mirror",&cr;&lf; string label="Wrap Mode",&cr;&lf; string help="How the texture wraps: (black, clamp, periodic or mirror)." ]],&cr;&lf; &cr;&lf; int AutoGamma = 1 &cr;&lf; [[ string widget="checkBox", int connectable = 0 ]],&cr;&lf; float ManualGamma = 1.0 &cr;&lf; [[ string label="Manual Gamma" ]],&cr;&lf; &cr;&lf; output color Col = 0 [[ string label="Col (RGB)" ]],&cr;&lf; output float R = 0,&cr;&lf; output float G = 0,&cr;&lf; output float B = 0,&cr;&lf; output float A = 1,&cr;&lf; output float Luminance = 0,&cr;&lf; output float Average = 0&cr;&lf;)&cr;&lf;{&cr;&lf; // Skip empty filenames&cr;&lf; if (Filename == "")&cr;&lf; return;&cr;&lf; &cr;&lf; point UVW = point(u,v,0);&cr;&lf;&cr;&lf; // Get UVW channel&cr;&lf; if (!getattribute(format("UV%d", UVSet), UVW))&cr;&lf; {&cr;&lf; // Get MAXtoA style UV&cr;&lf; float w = 0.0;&cr;&lf; &cr;&lf; // Default UV set handled in&cr;&lf; // a special way in MAXtoA&cr;&lf; if (UVSet == 1)&cr;&lf; {&cr;&lf; UVW = vector(u,v,0);&cr;&lf; getattribute("w", w);&cr;&lf; }&cr;&lf; else // ...the others are just attributes&cr;&lf; {&cr;&lf; getattribute(format("uv_%d", UVSet), UVW);&cr;&lf; getattribute(format("w_%d", UVSet), w);&cr;&lf; }&cr;&lf; // Insert 3rd dimension if any&cr;&lf; UVW[2] = w;&cr;&lf; }&cr;&lf;&cr;&lf; vector worldScale = 1.0;&cr;&lf; &cr;&lf; if (RealWorld)&cr;&lf; worldScale = vector(RealWidth, RealHeight, 1.0);&cr;&lf;&cr;&lf; // Do the transform stuff&cr;&lf; point p = rotate(UVW - Offset, radians(Rotate), RotCenter, RotCenter + RotAxis) * Tiling / worldScale / Scale;&cr;&lf;&cr;&lf; // Default lookup, just use u and inverted v...&cr;&lf; float ulookup = p[0];&cr;&lf; float vlookup = 1.0 - p[1];&cr;&lf; &cr;&lf; // But for UDIM compatibility and max's idea that 0,0 is in &cr;&lf; // lower left corner, we need this juggling of v....&cr;&lf; if (UDIM)&cr;&lf; {&cr;&lf; float vfloor = floor(p[1]);&cr;&lf; float vfrac = p[1] - vfloor;&cr;&lf; vlookup = vfloor + (1.0 - vfrac);&cr;&lf; }&cr;&lf; &cr;&lf; Col = texture(Filename, ulookup, vlookup, "wrap", WrapMode, "alpha", A);&cr;&lf; &cr;&lf; int channels;&cr;&lf; gettextureinfo(Filename, "channels", channels);&cr;&lf; if (channels < 4) // No alpha? Set it to opaque&cr;&lf; {&cr;&lf; A = 1.0;&cr;&lf;&cr;&lf; if (WrapMode == "black") // 2018-04-25: Allow Decals&cr;&lf; {&cr;&lf; if (p[0] < 0.0 || p[0] > 1.0 ||&cr;&lf; p[1] < 0.0 || p[1] > 1.0)&cr;&lf; A = 0.0;&cr;&lf; }&cr;&lf; }&cr;&lf;&cr;&lf; // Temporary workaround for color space issues&cr;&lf; if (AutoGamma)&cr;&lf; {&cr;&lf; if (!endswith(Filename, ".exr") &&&cr;&lf; !endswith(Filename, ".EXR") &&&cr;&lf; !endswith(Filename, ".hdr") &&&cr;&lf; !endswith(Filename, ".HDR") &&&cr;&lf; !endswith(Filename, ".tx") &&&cr;&lf; !endswith(Filename, ".TX"))&cr;&lf; {&cr;&lf; // Gamma 2.2 for sRGB approx)&cr;&lf; Col = pow(Col, 2.2);&cr;&lf; }&cr;&lf; }&cr;&lf; else&cr;&lf; {&cr;&lf; if (ManualGamma != 1.0)&cr;&lf; Col = pow(Col, ManualGamma);&cr;&lf; }&cr;&lf; &cr;&lf; R = Col[0];&cr;&lf; G = Col[1];&cr;&lf; B = Col[2];&cr;&lf; Luminance = luminance(Col);&cr;&lf; Average = (R + G + B) / 3.0;&cr;&lf;}"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "UberBitmap2"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|UberBitmap2", "Compound", "", ""
P: "3dsMax|UberBitmap2|UVSet", "Integer", "", "A",1
P: "3dsMax|UberBitmap2|Scale", "Float", "", "A",1
P: "3dsMax|UberBitmap2|Tiling", "Vector", "", "A",1,1,1
P: "3dsMax|UberBitmap2|Offset", "Vector", "", "A",0,0,0
P: "3dsMax|UberBitmap2|RealWorld", "Integer", "", "A",0
P: "3dsMax|UberBitmap2|RealWidth", "Float", "", "A",7.874016
P: "3dsMax|UberBitmap2|RealHeight", "Float", "", "A",7.874016
P: "3dsMax|UberBitmap2|Rotate", "Float", "", "A",0
P: "3dsMax|UberBitmap2|RotCenter", "Vector", "", "A",0.5,0.5,0
P: "3dsMax|UberBitmap2|RotAxis", "Vector", "", "A",0,0,1
P: "3dsMax|UberBitmap2|Filename", "KString", "", "A", "D:\Dev\clean\ufbx\data\textures\checkerboard_weight.png"
P: "3dsMax|UberBitmap2|Filename_UDIMList", "KString", "", "A", ""
P: "3dsMax|UberBitmap2|LoadUDIM", "KString", "", "A", "Load UDIM..."
P: "3dsMax|UberBitmap2|UDIM", "Integer", "", "A",0
P: "3dsMax|UberBitmap2|WrapMode", "KString", "", "A", "periodic"
P: "3dsMax|UberBitmap2|AutoGamma", "Integer", "", "A",1
P: "3dsMax|UberBitmap2|ManualGamma", "Float", "", "A",1
P: "3dsMax|UberBitmap2|UVSet_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Scale_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Tiling_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Offset_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RealWidth_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RealHeight_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Rotate_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RotCenter_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RotAxis_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Filename_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Filename_UDIMList_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|WrapMode_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|ManualGamma_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399172075968, "Texture::Map #6", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #6"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\ColorMul.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Multiplies two colors&cr;&lf;// ColorMul.osl, by Zap Andersson&cr;&lf;// Modified: 2019-11-22&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader ColorMul&cr;&lf;[[ string help = "Multiplies two colors",&cr;&lf; string label= "Multiply (color)",&cr;&lf; string category = "Math Color" ]]&cr;&lf;(&cr;&lf; color A = 0.5,&cr;&lf; color B = 0.5,&cr;&lf; int Clamp = 0 &cr;&lf; [[ string widget="checkBox", string label = "Clamp Result" ]],&cr;&lf; &cr;&lf; output color Out = 0.0,&cr;&lf;)&cr;&lf;{&cr;&lf; Out = A * B;&cr;&lf; if (Clamp)&cr;&lf; Out = clamp(Out, 0.0, 1.0);&cr;&lf;}&cr;&lf;"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "ColorMul"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|ColorMul", "Compound", "", ""
P: "3dsMax|ColorMul|A", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorMul|B", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorMul|Clamp", "Integer", "", "A",0
P: "3dsMax|ColorMul|A_map", "Reference", "", "A"
P: "3dsMax|ColorMul|B_map", "Reference", "", "A"
P: "3dsMax|ColorMul|Clamp_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399172074528, "Texture::Map #2", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #2"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",1180084351
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_add Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_add Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_add Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_add Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_add Parameters/Connections|input1", "Color", "", "A",0,0,0
P: "3dsMax|ai_add Parameters/Connections|input1.connected", "Bool", "", "A",1
P: "3dsMax|ai_add Parameters/Connections|input1.shader", "Reference", "", "A"
P: "3dsMax|ai_add Parameters/Connections|input2", "Color", "", "A",0,0,0
P: "3dsMax|ai_add Parameters/Connections|input2.connected", "Bool", "", "A",1
P: "3dsMax|ai_add Parameters/Connections|input2.shader", "Reference", "", "A"
P: "3dsMax|ai_add Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399172075008, "Texture::Map #1", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #1"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",-1420316539
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_checkerboard Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_checkerboard Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_checkerboard Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_checkerboard Parameters/Connections|color1", "Color", "", "A",1,1,1
P: "3dsMax|ai_checkerboard Parameters/Connections|color1.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|color1.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|color2", "Color", "", "A",0,0,0
P: "3dsMax|ai_checkerboard Parameters/Connections|color2.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|color2.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|u_frequency", "Float", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|u_frequency.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|u_frequency.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|v_frequency", "Float", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|v_frequency.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|v_frequency.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|u_offset", "Float", "", "A",0
P: "3dsMax|ai_checkerboard Parameters/Connections|u_offset.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|u_offset.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|v_offset", "Float", "", "A",0
P: "3dsMax|ai_checkerboard Parameters/Connections|v_offset.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|v_offset.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|contrast", "Float", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|contrast.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|contrast.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|filter_strength", "Float", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|filter_strength.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|filter_strength.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|filter_offset", "Float", "", "A",0
P: "3dsMax|ai_checkerboard Parameters/Connections|filter_offset.connected", "Bool", "", "A",1
P: "3dsMax|ai_checkerboard Parameters/Connections|filter_offset.shader", "Reference", "", "A"
P: "3dsMax|ai_checkerboard Parameters/Connections|uvset", "KString", "", "A", ""
P: "3dsMax|ai_checkerboard Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137418320, "Texture::Map #3", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #3"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\checker.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Checkerboard Color Shader&cr;&lf;// Checker.osl, by Zap Andersson (from OSL sample)&cr;&lf;// Modified: 2019-11-26&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader Checker&cr;&lf;[[ string help = "A simple Checkboard OSL sample shader",&cr;&lf; string category = "Textures"&cr;&lf;]]&cr;&lf;(&cr;&lf; point UVW = vector(u,v,0) &cr;&lf; [[ string help="The position to shade. Default to the standard UV space." ]],&cr;&lf; float Scale = 0.25, &cr;&lf; color Color1 = color(1,1.0,0.2), &cr;&lf; color Color2 = color(0.2,0.2,1.0), &cr;&lf;&cr;&lf; output color Col = 0&cr;&lf;)&cr;&lf;{&cr;&lf; point p = UVW / Scale;&cr;&lf; int x = (int)mod(p[0],2.0);&cr;&lf; int y = (int)mod(p[1],2.0);&cr;&lf; int z = (int)mod(p[2],2.0);&cr;&lf;&cr;&lf; if( ((x%2) ^ (y%2)) == (z%2) ){&cr;&lf; Col = Color1;&cr;&lf; } else {&cr;&lf; Col = Color2;&cr;&lf; }&cr;&lf;}"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "Checker"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|Checker", "Compound", "", ""
P: "3dsMax|Checker|Scale", "Float", "", "A",0.25
P: "3dsMax|Checker|Color1", "ColorAndAlpha", "", "A",1,1,0.200000002980232,1
P: "3dsMax|Checker|Color2", "ColorAndAlpha", "", "A",0.200000002980232,0.200000002980232,1,1
P: "3dsMax|Checker|UVW_map", "Reference", "", "A"
P: "3dsMax|Checker|Scale_map", "Reference", "", "A"
P: "3dsMax|Checker|Color1_map", "Reference", "", "A"
P: "3dsMax|Checker|Color2_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137421200, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",0
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137417840, "Texture::Map #7", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #7"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\OSLBitmap.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Lookup a bitmap bitmap with OSL&cr;&lf;// OSLBitmap.osl, by Zap Andersson&cr;&lf;// Modified: 2020-06-23&cr;&lf;// Copyright 2020 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader OSLBitmap2&cr;&lf;[[ string help = "Look up a bitmap from passed in UV coordinates
(through OpenImageIO)",&cr;&lf; string label = "Bitmap Lookup",&cr;&lf; string version = "2.0" ]]&cr;&lf;( &cr;&lf; point Pos = point(u,v,0) &cr;&lf; [[ string label= "UV Coordinate", &cr;&lf; string help = "The 2D coordinate at which the texture is looked up." ]],&cr;&lf; float Scale = 1.0&cr;&lf; [[ string help = "A linear scale factor. For more complex UV manipulation, connect the UVWTransform." ]], &cr;&lf; &cr;&lf; string Filename = "" &cr;&lf; [[ string widget="filename", &cr;&lf; string label="File name",&cr;&lf; string help="The name of the texture to look up" ]], &cr;&lf; string Filename_UDIMList = "" &cr;&lf; [[ string widget = "null",&cr;&lf; string label="Viewport UDIM List",&cr;&lf; string help="The list of UDIM items to load into the viewport. If empty, will be deduced from the file system automatically. " ]], &cr;&lf; string LoadUDIM = "Load UDIM..." &cr;&lf; [[ string widget="max:actionButton", &cr;&lf; string actionID="loadUDIM(\"Filename\")",&cr;&lf; string help="Select a set of files to load as an UDIM.",&cr;&lf; int connectable = 0 ]], &cr;&lf; int UDIM = 0&cr;&lf; [[ string widget="checkBox", string label="UDIM-compatible lookup",&cr;&lf; int connectable = 0,&cr;&lf; string help ="Modifies the UV coordinate so that UDIM's are looked up similar to the max MultiTile map" ]], &cr;&lf; string WrapMode = "periodic"&cr;&lf; [[ string widget="popup", string options = "default|black|clamp|periodic|mirror",&cr;&lf; string label="Wrap Mode",&cr;&lf; string help="How the texture wraps: (black, clamp, periodic or mirror)." ]],&cr;&lf; &cr;&lf; int AutoGamma = 1 &cr;&lf; [[ string widget="checkBox", int connectable=0 ]],&cr;&lf; float ManualGamma = 1.0 &cr;&lf; [[ string label="Manual Gamma" ]],&cr;&lf; &cr;&lf; output color Col = 0 [[ string label="Col (RGB)" ]],&cr;&lf; output float R = 0,&cr;&lf; output float G = 0,&cr;&lf; output float B = 0,&cr;&lf; output float A = 1,&cr;&lf; output float Luminance = 0,&cr;&lf; output float Average = 0&cr;&lf;)&cr;&lf;{&cr;&lf; // Skip empty files&cr;&lf; if (Filename == "")&cr;&lf; return;&cr;&lf; &cr;&lf; point p = Pos / Scale;&cr;&lf;&cr;&lf; // Default lookup, just use u and inverted v...&cr;&lf; float ulookup = p[0];&cr;&lf; float vlookup = 1.0 - p[1];&cr;&lf; &cr;&lf; // But for UDIM compatibility and max's idea that 0,0 is in &cr;&lf; // lower left corner, we need this juggling of v....&cr;&lf; if (UDIM)&cr;&lf; {&cr;&lf; float vfloor = floor(p[1]);&cr;&lf; float vfrac = p[1] - vfloor;&cr;&lf; vlookup = vfloor + (1.0 - vfrac);&cr;&lf; }&cr;&lf; &cr;&lf; Col = texture(Filename, ulookup, vlookup, "wrap", WrapMode, "alpha", A);&cr;&lf; &cr;&lf; int channels;&cr;&lf; gettextureinfo(Filename, "channels", channels);&cr;&lf; if (channels < 4) // No alpha? Set it to opaque&cr;&lf; {&cr;&lf; A = 1.0;&cr;&lf;&cr;&lf; if (WrapMode == "black") // 2018-04-25: Allow Decals&cr;&lf; {&cr;&lf; if (p[0] < 0.0 || p[0] > 1.0 ||&cr;&lf; p[1] < 0.0 || p[1] > 1.0)&cr;&lf; A = 0.0;&cr;&lf; }&cr;&lf; }&cr;&lf; &cr;&lf;&cr;&lf; // Temporary workaround for color space issues&cr;&lf; if (AutoGamma)&cr;&lf; {&cr;&lf; if (!endswith(Filename, ".exr") &&&cr;&lf; !endswith(Filename, ".EXR") &&&cr;&lf; !endswith(Filename, ".hdr") &&&cr;&lf; !endswith(Filename, ".HDR") &&&cr;&lf; !endswith(Filename, ".tx") &&&cr;&lf; !endswith(Filename, ".TX"))&cr;&lf; {&cr;&lf; // Gamma 2.2 for sRGB approx)&cr;&lf; Col = pow(Col, 2.2);&cr;&lf; }&cr;&lf; }&cr;&lf; else&cr;&lf; {&cr;&lf; if (ManualGamma != 1.0)&cr;&lf; Col = pow(Col, ManualGamma);&cr;&lf; }&cr;&lf; &cr;&lf; R = Col[0];&cr;&lf; G = Col[1];&cr;&lf; B = Col[2];&cr;&lf; Luminance = luminance(Col);&cr;&lf; Average = (R + G + B) / 3.0;&cr;&lf;}"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "OSLBitmap2"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|OSLBitmap2", "Compound", "", ""
P: "3dsMax|OSLBitmap2|Scale", "Float", "", "A",1
P: "3dsMax|OSLBitmap2|Filename", "KString", "", "A", "D:\Dev\clean\ufbx\data\textures\checkerboard_diffuse.png"
P: "3dsMax|OSLBitmap2|Filename_UDIMList", "KString", "", "A", ""
P: "3dsMax|OSLBitmap2|LoadUDIM", "KString", "", "A", "Load UDIM..."
P: "3dsMax|OSLBitmap2|UDIM", "Integer", "", "A",0
P: "3dsMax|OSLBitmap2|WrapMode", "KString", "", "A", "periodic"
P: "3dsMax|OSLBitmap2|AutoGamma", "Integer", "", "A",1
P: "3dsMax|OSLBitmap2|ManualGamma", "Float", "", "A",1
P: "3dsMax|OSLBitmap2|Pos_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|Scale_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|Filename_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|Filename_UDIMList_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|WrapMode_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|ManualGamma_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137418800, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",6
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137419280, "Texture::Map #30", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #30"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\UberBitmap.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Load a bitmap into OSL (UBER version, with everything built-in)&cr;&lf;// UberBitmap.osl, by Zap Andersson&cr;&lf;// Modified: 2020-04-14&cr;&lf;// Copyright 2020 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader UberBitmap2&cr;&lf;[[ string help = "All-in-one shader for loading a bitmap via OpenImageIO.
Includes UVW channels and transforms in a monolithic version.",&cr;&lf; string label = "Uber Bitmap",&cr;&lf; string version = "2.0" &cr;&lf;]]&cr;&lf;( &cr;&lf; int UVSet = 1 &cr;&lf; [[ string label="Map Channel",&cr;&lf; string help ="The 3ds max Map channel to look up",&cr;&lf; int min = 0, int max = 99 ]],&cr;&lf; float Scale = 1.0 &cr;&lf; [[ string help="The overall Scale. Larger number = bigger." ]],&cr;&lf; vector Tiling = 1.0 &cr;&lf; [[ string help="A per-axis dividing scale, to subdivide the values. Larger number = smaller." ]],&cr;&lf; vector Offset = 0.0&cr;&lf; [[ string help="Moves the UVW coordinates around" ]],&cr;&lf; &cr;&lf; // Real world parameters &cr;&lf; int RealWorld = 0 &cr;&lf; [[ string widget = "checkBox",&cr;&lf; int connectable = 0,&cr;&lf; string help = "Enable Real-World Scaling" ]],&cr;&lf; float RealWidth = 0.2 &cr;&lf; [[ int worldunits=1,&cr;&lf; string help = "Real Width of one unit of texture space" ]], &cr;&lf; float RealHeight = 0.2 &cr;&lf; [[ int worldunits=1,&cr;&lf; string help = "Real Height of one unit of texture space" ]], &cr;&lf; &cr;&lf; float Rotate = 0.0&cr;&lf; [[ string help="A rotation angle in degrees." ]],,&cr;&lf; point RotCenter = point(0.5,0.5,0) &cr;&lf; [[ string label = "Rotation Center",&cr;&lf; string help = "The center of rotation in UVW space" ]],&cr;&lf; vector RotAxis = vector(0.0,0.0,1.0) &cr;&lf; [[ string label = "Rotation Axis",&cr;&lf; string help = "An axis around which the rotation occurs." ]],&cr;&lf; &cr;&lf; string Filename = "" &cr;&lf; [[ string widget="filename", &cr;&lf; string label="File name",&cr;&lf; string help="The name of the texture to look up" ]], &cr;&lf; &cr;&lf; string Filename_UDIMList = "" &cr;&lf; [[ string widget = "null",&cr;&lf; string label="Viewport UDIM List",&cr;&lf; string help="The list of UDIM items to load into the viewport. If empty, will be deduced from the file system automatically. " ]], &cr;&lf; string LoadUDIM = "Load UDIM..." &cr;&lf; [[ string widget="max:actionButton", &cr;&lf; string actionID="loadUDIM(\"Filename\")",&cr;&lf; string help="Select a set of files to load as an UDIM.",&cr;&lf; int connectable = 0 ]], &cr;&lf; &cr;&lf; int UDIM = 0&cr;&lf; [[ string widget="checkBox", string label="UDIM-compatible lookup",&cr;&lf; int connectable = 0,&cr;&lf; string help ="Modifies the UV coordinate so that UDIM's are looked up similar to the max MultiTile map" ]], &cr;&lf; string WrapMode = "periodic"&cr;&lf; [[ string widget="popup", string options = "default|black|clamp|periodic|mirror",&cr;&lf; string label="Wrap Mode",&cr;&lf; string help="How the texture wraps: (black, clamp, periodic or mirror)." ]],&cr;&lf; &cr;&lf; int AutoGamma = 1 &cr;&lf; [[ string widget="checkBox", int connectable = 0 ]],&cr;&lf; float ManualGamma = 1.0 &cr;&lf; [[ string label="Manual Gamma" ]],&cr;&lf; &cr;&lf; output color Col = 0 [[ string label="Col (RGB)" ]],&cr;&lf; output float R = 0,&cr;&lf; output float G = 0,&cr;&lf; output float B = 0,&cr;&lf; output float A = 1,&cr;&lf; output float Luminance = 0,&cr;&lf; output float Average = 0&cr;&lf;)&cr;&lf;{&cr;&lf; // Skip empty filenames&cr;&lf; if (Filename == "")&cr;&lf; return;&cr;&lf; &cr;&lf; point UVW = point(u,v,0);&cr;&lf;&cr;&lf; // Get UVW channel&cr;&lf; if (!getattribute(format("UV%d", UVSet), UVW))&cr;&lf; {&cr;&lf; // Get MAXtoA style UV&cr;&lf; float w = 0.0;&cr;&lf; &cr;&lf; // Default UV set handled in&cr;&lf; // a special way in MAXtoA&cr;&lf; if (UVSet == 1)&cr;&lf; {&cr;&lf; UVW = vector(u,v,0);&cr;&lf; getattribute("w", w);&cr;&lf; }&cr;&lf; else // ...the others are just attributes&cr;&lf; {&cr;&lf; getattribute(format("uv_%d", UVSet), UVW);&cr;&lf; getattribute(format("w_%d", UVSet), w);&cr;&lf; }&cr;&lf; // Insert 3rd dimension if any&cr;&lf; UVW[2] = w;&cr;&lf; }&cr;&lf;&cr;&lf; vector worldScale = 1.0;&cr;&lf; &cr;&lf; if (RealWorld)&cr;&lf; worldScale = vector(RealWidth, RealHeight, 1.0);&cr;&lf;&cr;&lf; // Do the transform stuff&cr;&lf; point p = rotate(UVW - Offset, radians(Rotate), RotCenter, RotCenter + RotAxis) * Tiling / worldScale / Scale;&cr;&lf;&cr;&lf; // Default lookup, just use u and inverted v...&cr;&lf; float ulookup = p[0];&cr;&lf; float vlookup = 1.0 - p[1];&cr;&lf; &cr;&lf; // But for UDIM compatibility and max's idea that 0,0 is in &cr;&lf; // lower left corner, we need this juggling of v....&cr;&lf; if (UDIM)&cr;&lf; {&cr;&lf; float vfloor = floor(p[1]);&cr;&lf; float vfrac = p[1] - vfloor;&cr;&lf; vlookup = vfloor + (1.0 - vfrac);&cr;&lf; }&cr;&lf; &cr;&lf; Col = texture(Filename, ulookup, vlookup, "wrap", WrapMode, "alpha", A);&cr;&lf; &cr;&lf; int channels;&cr;&lf; gettextureinfo(Filename, "channels", channels);&cr;&lf; if (channels < 4) // No alpha? Set it to opaque&cr;&lf; {&cr;&lf; A = 1.0;&cr;&lf;&cr;&lf; if (WrapMode == "black") // 2018-04-25: Allow Decals&cr;&lf; {&cr;&lf; if (p[0] < 0.0 || p[0] > 1.0 ||&cr;&lf; p[1] < 0.0 || p[1] > 1.0)&cr;&lf; A = 0.0;&cr;&lf; }&cr;&lf; }&cr;&lf;&cr;&lf; // Temporary workaround for color space issues&cr;&lf; if (AutoGamma)&cr;&lf; {&cr;&lf; if (!endswith(Filename, ".exr") &&&cr;&lf; !endswith(Filename, ".EXR") &&&cr;&lf; !endswith(Filename, ".hdr") &&&cr;&lf; !endswith(Filename, ".HDR") &&&cr;&lf; !endswith(Filename, ".tx") &&&cr;&lf; !endswith(Filename, ".TX"))&cr;&lf; {&cr;&lf; // Gamma 2.2 for sRGB approx)&cr;&lf; Col = pow(Col, 2.2);&cr;&lf; }&cr;&lf; }&cr;&lf; else&cr;&lf; {&cr;&lf; if (ManualGamma != 1.0)&cr;&lf; Col = pow(Col, ManualGamma);&cr;&lf; }&cr;&lf; &cr;&lf; R = Col[0];&cr;&lf; G = Col[1];&cr;&lf; B = Col[2];&cr;&lf; Luminance = luminance(Col);&cr;&lf; Average = (R + G + B) / 3.0;&cr;&lf;}"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "UberBitmap2"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|UberBitmap2", "Compound", "", ""
P: "3dsMax|UberBitmap2|UVSet", "Integer", "", "A",1
P: "3dsMax|UberBitmap2|Scale", "Float", "", "A",1
P: "3dsMax|UberBitmap2|Tiling", "Vector", "", "A",1,1,1
P: "3dsMax|UberBitmap2|Offset", "Vector", "", "A",0,0,0
P: "3dsMax|UberBitmap2|RealWorld", "Integer", "", "A",0
P: "3dsMax|UberBitmap2|RealWidth", "Float", "", "A",7.874016
P: "3dsMax|UberBitmap2|RealHeight", "Float", "", "A",7.874016
P: "3dsMax|UberBitmap2|Rotate", "Float", "", "A",0
P: "3dsMax|UberBitmap2|RotCenter", "Vector", "", "A",0.5,0.5,0
P: "3dsMax|UberBitmap2|RotAxis", "Vector", "", "A",0,0,1
P: "3dsMax|UberBitmap2|Filename", "KString", "", "A", "D:\Dev\clean\ufbx\data\textures\checkerboard_ambient.png"
P: "3dsMax|UberBitmap2|Filename_UDIMList", "KString", "", "A", ""
P: "3dsMax|UberBitmap2|LoadUDIM", "KString", "", "A", "Load UDIM..."
P: "3dsMax|UberBitmap2|UDIM", "Integer", "", "A",0
P: "3dsMax|UberBitmap2|WrapMode", "KString", "", "A", "periodic"
P: "3dsMax|UberBitmap2|AutoGamma", "Integer", "", "A",1
P: "3dsMax|UberBitmap2|ManualGamma", "Float", "", "A",1
P: "3dsMax|UberBitmap2|UVSet_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Scale_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Tiling_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Offset_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RealWidth_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RealHeight_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Rotate_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RotCenter_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|RotAxis_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Filename_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|Filename_UDIMList_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|WrapMode_map", "Reference", "", "A"
P: "3dsMax|UberBitmap2|ManualGamma_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137419760, "Texture::Map #17", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #17"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",1181135746
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_dot Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_dot Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_dot Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_dot Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_dot Parameters/Connections|input1", "Vector", "", "A",1,1,1
P: "3dsMax|ai_dot Parameters/Connections|input1.connected", "Bool", "", "A",1
P: "3dsMax|ai_dot Parameters/Connections|input1.shader", "Reference", "", "A"
P: "3dsMax|ai_dot Parameters/Connections|input2", "Vector", "", "A",1,1,1
P: "3dsMax|ai_dot Parameters/Connections|input2.connected", "Bool", "", "A",1
P: "3dsMax|ai_dot Parameters/Connections|input2.shader", "Reference", "", "A"
P: "3dsMax|ai_dot Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137420240, "Texture::Map #16", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #16"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",1181396363
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_mix_rgba Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_mix_rgba Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_mix_rgba Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_mix_rgba Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_mix_rgba Parameters/Connections|input1", "ColorAndAlpha", "", "A",0,0,0,1
P: "3dsMax|ai_mix_rgba Parameters/Connections|input1.connected", "Bool", "", "A",1
P: "3dsMax|ai_mix_rgba Parameters/Connections|input1.shader", "Reference", "", "A"
P: "3dsMax|ai_mix_rgba Parameters/Connections|input2", "ColorAndAlpha", "", "A",0,0,0,1
P: "3dsMax|ai_mix_rgba Parameters/Connections|input2.connected", "Bool", "", "A",1
P: "3dsMax|ai_mix_rgba Parameters/Connections|input2.shader", "Reference", "", "A"
P: "3dsMax|ai_mix_rgba Parameters/Connections|mix", "Float", "", "A",0.5
P: "3dsMax|ai_mix_rgba Parameters/Connections|mix.connected", "Bool", "", "A",1
P: "3dsMax|ai_mix_rgba Parameters/Connections|mix.shader", "Reference", "", "A"
P: "3dsMax|ai_mix_rgba Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399137420720, "Texture::Map #11", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #11"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",-1387024086
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_image Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_image Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_image Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_image Parameters/Connections|filename", "KString", "", "A", "D:\Dev\clean\ufbx\data\textures\checkerboard_metallic.png"
P: "3dsMax|ai_image Parameters/Connections|Image Frame Number", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|color_space", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|filter", "Integer", "", "A",3
P: "3dsMax|ai_image Parameters/Connections|mipmap_bias", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|single_channel", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|start_channel", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|swrap", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|twrap", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|sscale", "Float", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|tscale", "Float", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|sflip", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|tflip", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|soffset", "Float", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|toffset", "Float", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|swap_st", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|uvcoords.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|uvcoords.shader", "Reference", "", "A"
P: "3dsMax|ai_image Parameters/Connections|uvset", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|multiply", "Color", "", "A",1,1,1
P: "3dsMax|ai_image Parameters/Connections|multiply.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|multiply.shader", "Reference", "", "A"
P: "3dsMax|ai_image Parameters/Connections|offset", "Color", "", "A",0,0,0
P: "3dsMax|ai_image Parameters/Connections|offset.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|offset.shader", "Reference", "", "A"
P: "3dsMax|ai_image Parameters/Connections|ignore_missing_textures", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|missing_texture_color", "ColorAndAlpha", "", "A",0,0,0,0
P: "3dsMax|ai_image Parameters/Connections|missing_texture_color.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|missing_texture_color.shader", "Reference", "", "A"
P: "3dsMax|ai_image Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163301104, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",2
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163300624, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",1
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163299664, "Texture::Map #31", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #31"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",560
P: "3dsMax|ClassIDb", "int", "Integer", "",0
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|parameters|mixAmount", "Float", "", "A",0.005
P: "3dsMax|parameters|lower", "Float", "", "A",0.3
P: "3dsMax|parameters|upper", "Float", "", "A",0.7
P: "3dsMax|parameters|useCurve", "Bool", "", "A",0
P: "3dsMax|parameters|color1", "Color", "", "A",0,0,0
P: "3dsMax|parameters|color2", "Color", "", "A",1,1,1
P: "3dsMax|parameters|map1", "Reference", "", "A"
P: "3dsMax|parameters|map2", "Reference", "", "A"
P: "3dsMax|parameters|mask", "Reference", "", "A"
P: "3dsMax|parameters|map1Enabled", "Bool", "", "A",1
P: "3dsMax|parameters|map2Enabled", "Bool", "", "A",1
P: "3dsMax|parameters|maskEnabled", "Bool", "", "A",1
P: "3dsMax|parameters|output", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163301584, "Texture::Map #29", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #29"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\ColorAdd.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Adds (and optionaly scales) two colors&cr;&lf;// ColorAdd.osl, by Zap Andersson&cr;&lf;// Modified: 2019-11-22&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader ColorAdd&cr;&lf;[[ string help = "Adds (and optionaly scales) two colors",&cr;&lf; string label= "Add (color)",&cr;&lf; string category = "Math Color" ]]&cr;&lf;(&cr;&lf; color A = 0.5 [[ string label = "A" ]],&cr;&lf; color B = 0.5 [[ string label = "B" ]],&cr;&lf; float A_Amount = 1.0 [[ string label = "A scale" ]],&cr;&lf; float B_Amount = 1.0 [[ string label = "B scale" ]],&cr;&lf; int Clamp = 0 &cr;&lf; [[ string widget="checkBox", string label = "Clamp Result" ]],&cr;&lf; &cr;&lf; output color Out = 0.0,&cr;&lf;)&cr;&lf;{&cr;&lf; Out = A*A_Amount + B*B_Amount;&cr;&lf; if (Clamp)&cr;&lf; Out = clamp(Out, 0.0, 1.0);&cr;&lf;}&cr;&lf;"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "ColorAdd"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|ColorAdd", "Compound", "", ""
P: "3dsMax|ColorAdd|A", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorAdd|B", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorAdd|A_Amount", "Float", "", "A",1
P: "3dsMax|ColorAdd|B_Amount", "Float", "", "A",1
P: "3dsMax|ColorAdd|Clamp", "Integer", "", "A",0
P: "3dsMax|ColorAdd|A_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|B_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|A_Amount_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|B_Amount_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|Clamp_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163300144, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",0
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163298224, "Texture::Map #26", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #26"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\VectorAdd.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Adds (and optionaly scales) two vectors&cr;&lf;// VectorAdd.osl, by Zap Andersson&cr;&lf;// Modified: 2019-11-26&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader VectorAdd&cr;&lf;[[ string help = "Adds (and optionaly scales) two vectors",&cr;&lf; string label= "Add (vector)",&cr;&lf; string category = "Math Vector" ]]&cr;&lf;(&cr;&lf; vector A = 0.5 [[ string label = "A" ]],&cr;&lf; vector B = 0.5 [[ string label = "B" ]],&cr;&lf; float A_Amount = 1.0 [[ string label = "A scale" ]],&cr;&lf; float B_Amount = 1.0 [[ string label = "B scale" ]],&cr;&lf; &cr;&lf; output vector Out = 0.0,&cr;&lf;)&cr;&lf;{&cr;&lf; Out = A*A_Amount + B*B_Amount;&cr;&lf;}&cr;&lf;"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "VectorAdd"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|VectorAdd", "Compound", "", ""
P: "3dsMax|VectorAdd|A", "Vector", "", "A",0.5,0.5,0.5
P: "3dsMax|VectorAdd|B", "Vector", "", "A",0.5,0.5,0.5
P: "3dsMax|VectorAdd|A_Amount", "Float", "", "A",1
P: "3dsMax|VectorAdd|B_Amount", "Float", "", "A",1
P: "3dsMax|VectorAdd|A_map", "Reference", "", "A"
P: "3dsMax|VectorAdd|B_map", "Reference", "", "A"
P: "3dsMax|VectorAdd|A_Amount_map", "Reference", "", "A"
P: "3dsMax|VectorAdd|B_Amount_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163298704, "Texture::", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",-1989217540
P: "3dsMax|ClassIDb", "int", "Integer", "",1153266751
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|parameters", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "MULTIOUTPUT_TO_OSLMap"
P: "3dsMax|parameters|sourceMap", "Reference", "", "A"
P: "3dsMax|parameters|outputChannelIndex", "Integer", "", "A",0
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399163299184, "Texture::Map #28", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #28"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\OSLBitmap.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Lookup a bitmap bitmap with OSL&cr;&lf;// OSLBitmap.osl, by Zap Andersson&cr;&lf;// Modified: 2020-06-23&cr;&lf;// Copyright 2020 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader OSLBitmap2&cr;&lf;[[ string help = "Look up a bitmap from passed in UV coordinates
(through OpenImageIO)",&cr;&lf; string label = "Bitmap Lookup",&cr;&lf; string version = "2.0" ]]&cr;&lf;( &cr;&lf; point Pos = point(u,v,0) &cr;&lf; [[ string label= "UV Coordinate", &cr;&lf; string help = "The 2D coordinate at which the texture is looked up." ]],&cr;&lf; float Scale = 1.0&cr;&lf; [[ string help = "A linear scale factor. For more complex UV manipulation, connect the UVWTransform." ]], &cr;&lf; &cr;&lf; string Filename = "" &cr;&lf; [[ string widget="filename", &cr;&lf; string label="File name",&cr;&lf; string help="The name of the texture to look up" ]], &cr;&lf; string Filename_UDIMList = "" &cr;&lf; [[ string widget = "null",&cr;&lf; string label="Viewport UDIM List",&cr;&lf; string help="The list of UDIM items to load into the viewport. If empty, will be deduced from the file system automatically. " ]], &cr;&lf; string LoadUDIM = "Load UDIM..." &cr;&lf; [[ string widget="max:actionButton", &cr;&lf; string actionID="loadUDIM(\"Filename\")",&cr;&lf; string help="Select a set of files to load as an UDIM.",&cr;&lf; int connectable = 0 ]], &cr;&lf; int UDIM = 0&cr;&lf; [[ string widget="checkBox", string label="UDIM-compatible lookup",&cr;&lf; int connectable = 0,&cr;&lf; string help ="Modifies the UV coordinate so that UDIM's are looked up similar to the max MultiTile map" ]], &cr;&lf; string WrapMode = "periodic"&cr;&lf; [[ string widget="popup", string options = "default|black|clamp|periodic|mirror",&cr;&lf; string label="Wrap Mode",&cr;&lf; string help="How the texture wraps: (black, clamp, periodic or mirror)." ]],&cr;&lf; &cr;&lf; int AutoGamma = 1 &cr;&lf; [[ string widget="checkBox", int connectable=0 ]],&cr;&lf; float ManualGamma = 1.0 &cr;&lf; [[ string label="Manual Gamma" ]],&cr;&lf; &cr;&lf; output color Col = 0 [[ string label="Col (RGB)" ]],&cr;&lf; output float R = 0,&cr;&lf; output float G = 0,&cr;&lf; output float B = 0,&cr;&lf; output float A = 1,&cr;&lf; output float Luminance = 0,&cr;&lf; output float Average = 0&cr;&lf;)&cr;&lf;{&cr;&lf; // Skip empty files&cr;&lf; if (Filename == "")&cr;&lf; return;&cr;&lf; &cr;&lf; point p = Pos / Scale;&cr;&lf;&cr;&lf; // Default lookup, just use u and inverted v...&cr;&lf; float ulookup = p[0];&cr;&lf; float vlookup = 1.0 - p[1];&cr;&lf; &cr;&lf; // But for UDIM compatibility and max's idea that 0,0 is in &cr;&lf; // lower left corner, we need this juggling of v....&cr;&lf; if (UDIM)&cr;&lf; {&cr;&lf; float vfloor = floor(p[1]);&cr;&lf; float vfrac = p[1] - vfloor;&cr;&lf; vlookup = vfloor + (1.0 - vfrac);&cr;&lf; }&cr;&lf; &cr;&lf; Col = texture(Filename, ulookup, vlookup, "wrap", WrapMode, "alpha", A);&cr;&lf; &cr;&lf; int channels;&cr;&lf; gettextureinfo(Filename, "channels", channels);&cr;&lf; if (channels < 4) // No alpha? Set it to opaque&cr;&lf; {&cr;&lf; A = 1.0;&cr;&lf;&cr;&lf; if (WrapMode == "black") // 2018-04-25: Allow Decals&cr;&lf; {&cr;&lf; if (p[0] < 0.0 || p[0] > 1.0 ||&cr;&lf; p[1] < 0.0 || p[1] > 1.0)&cr;&lf; A = 0.0;&cr;&lf; }&cr;&lf; }&cr;&lf; &cr;&lf;&cr;&lf; // Temporary workaround for color space issues&cr;&lf; if (AutoGamma)&cr;&lf; {&cr;&lf; if (!endswith(Filename, ".exr") &&&cr;&lf; !endswith(Filename, ".EXR") &&&cr;&lf; !endswith(Filename, ".hdr") &&&cr;&lf; !endswith(Filename, ".HDR") &&&cr;&lf; !endswith(Filename, ".tx") &&&cr;&lf; !endswith(Filename, ".TX"))&cr;&lf; {&cr;&lf; // Gamma 2.2 for sRGB approx)&cr;&lf; Col = pow(Col, 2.2);&cr;&lf; }&cr;&lf; }&cr;&lf; else&cr;&lf; {&cr;&lf; if (ManualGamma != 1.0)&cr;&lf; Col = pow(Col, ManualGamma);&cr;&lf; }&cr;&lf; &cr;&lf; R = Col[0];&cr;&lf; G = Col[1];&cr;&lf; B = Col[2];&cr;&lf; Luminance = luminance(Col);&cr;&lf; Average = (R + G + B) / 3.0;&cr;&lf;}"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "OSLBitmap2"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|OSLBitmap2", "Compound", "", ""
P: "3dsMax|OSLBitmap2|Scale", "Float", "", "A",1
P: "3dsMax|OSLBitmap2|Filename", "KString", "", "A", "D:\Dev\clean\ufbx\data\textures\checkerboard_transparency.png"
P: "3dsMax|OSLBitmap2|Filename_UDIMList", "KString", "", "A", ""
P: "3dsMax|OSLBitmap2|LoadUDIM", "KString", "", "A", "Load UDIM..."
P: "3dsMax|OSLBitmap2|UDIM", "Integer", "", "A",0
P: "3dsMax|OSLBitmap2|WrapMode", "KString", "", "A", "periodic"
P: "3dsMax|OSLBitmap2|AutoGamma", "Integer", "", "A",1
P: "3dsMax|OSLBitmap2|ManualGamma", "Float", "", "A",1
P: "3dsMax|OSLBitmap2|Pos_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|Scale_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|Filename_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|Filename_UDIMList_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|WrapMode_map", "Reference", "", "A"
P: "3dsMax|OSLBitmap2|ManualGamma_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399165027568, "Texture::Map #21", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #21"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",1180084351
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_add Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_add Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_add Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_add Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_add Parameters/Connections|input1", "Color", "", "A",0,0,0
P: "3dsMax|ai_add Parameters/Connections|input1.connected", "Bool", "", "A",1
P: "3dsMax|ai_add Parameters/Connections|input1.shader", "Reference", "", "A"
P: "3dsMax|ai_add Parameters/Connections|input2", "Color", "", "A",0,0,0
P: "3dsMax|ai_add Parameters/Connections|input2.connected", "Bool", "", "A",1
P: "3dsMax|ai_add Parameters/Connections|input2.shader", "Reference", "", "A"
P: "3dsMax|ai_add Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399165030448, "Texture::Map #22", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #22"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2121471519
P: "3dsMax|ClassIDb", "int", "Integer", "",-1387024086
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|ai_image Parameter Wrapper", "Compound", "", ""
P: "3dsMax|ai_image Parameter Wrapper|TheList", "Reference", "", "A"
P: "3dsMax|ai_image Parameter Wrapper|Shader Version", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections", "Compound", "", ""
P: "3dsMax|ai_image Parameters/Connections|filename", "KString", "", "A", "D:\Dev\clean\ufbx\data\textures\checkerboard_specular.png"
P: "3dsMax|ai_image Parameters/Connections|Image Frame Number", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|color_space", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|filter", "Integer", "", "A",3
P: "3dsMax|ai_image Parameters/Connections|mipmap_bias", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|single_channel", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|start_channel", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|swrap", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|twrap", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|sscale", "Float", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|tscale", "Float", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|sflip", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|tflip", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|soffset", "Float", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|toffset", "Float", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|swap_st", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|uvcoords.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|uvcoords.shader", "Reference", "", "A"
P: "3dsMax|ai_image Parameters/Connections|uvset", "Integer", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|multiply", "Color", "", "A",1,1,1
P: "3dsMax|ai_image Parameters/Connections|multiply.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|multiply.shader", "Reference", "", "A"
P: "3dsMax|ai_image Parameters/Connections|offset", "Color", "", "A",0,0,0
P: "3dsMax|ai_image Parameters/Connections|offset.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|offset.shader", "Reference", "", "A"
P: "3dsMax|ai_image Parameters/Connections|ignore_missing_textures", "Bool", "", "A",0
P: "3dsMax|ai_image Parameters/Connections|missing_texture_color", "ColorAndAlpha", "", "A",0,0,0,0
P: "3dsMax|ai_image Parameters/Connections|missing_texture_color.connected", "Bool", "", "A",1
P: "3dsMax|ai_image Parameters/Connections|missing_texture_color.shader", "Reference", "", "A"
P: "3dsMax|ai_image Results", "Compound", "", ""
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399165028048, "Texture::Map #19", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #19"
Properties70: {
P: "3dsMax", "Compound", "", ""
P: "3dsMax|ClassIDa", "int", "Integer", "",2140830621
P: "3dsMax|ClassIDb", "int", "Integer", "",1875767309
P: "3dsMax|SuperClassID", "int", "Integer", "",3088
P: "3dsMax|params", "Compound", "", ""
P: "3dsMax|MaxTexture", "KString", "", "", "OSLMap"
P: "3dsMax|params|OSLPath", "KString", "", "A", "C:\Program Files\Autodesk\3ds Max 2023\OSL\ColorAdd.osl"
P: "3dsMax|params|OSLCode", "KString", "", "A", "// Adds (and optionaly scales) two colors&cr;&lf;// ColorAdd.osl, by Zap Andersson&cr;&lf;// Modified: 2019-11-22&cr;&lf;// Copyright 2019 Autodesk Inc, All rights reserved. This file is licensed under Apache 2.0 license&cr;&lf;// https://github.com/ADN-DevTech/3dsMax-OSL-Shaders/blob/license/LICENSE.txt&cr;&lf;&cr;&lf;shader ColorAdd&cr;&lf;[[ string help = "Adds (and optionaly scales) two colors",&cr;&lf; string label= "Add (color)",&cr;&lf; string category = "Math Color" ]]&cr;&lf;(&cr;&lf; color A = 0.5 [[ string label = "A" ]],&cr;&lf; color B = 0.5 [[ string label = "B" ]],&cr;&lf; float A_Amount = 1.0 [[ string label = "A scale" ]],&cr;&lf; float B_Amount = 1.0 [[ string label = "B scale" ]],&cr;&lf; int Clamp = 0 &cr;&lf; [[ string widget="checkBox", string label = "Clamp Result" ]],&cr;&lf; &cr;&lf; output color Out = 0.0,&cr;&lf;)&cr;&lf;{&cr;&lf; Out = A*A_Amount + B*B_Amount;&cr;&lf; if (Clamp)&cr;&lf; Out = clamp(Out, 0.0, 1.0);&cr;&lf;}&cr;&lf;"
P: "3dsMax|params|OSLAutoUpdate", "Bool", "", "A",1
P: "3dsMax|params|OSLShaderName", "KString", "", "A", "ColorAdd"
P: "3dsMax|params|OSLPresetName", "KString", "", "A", ""
P: "3dsMax|ColorAdd", "Compound", "", ""
P: "3dsMax|ColorAdd|A", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorAdd|B", "ColorAndAlpha", "", "A",0.5,0.5,0.5,1
P: "3dsMax|ColorAdd|A_Amount", "Float", "", "A",1
P: "3dsMax|ColorAdd|B_Amount", "Float", "", "A",1
P: "3dsMax|ColorAdd|Clamp", "Integer", "", "A",0
P: "3dsMax|ColorAdd|A_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|B_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|A_Amount_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|B_Amount_map", "Reference", "", "A"
P: "3dsMax|ColorAdd|Clamp_map", "Reference", "", "A"
}
Media: ""
FileName: ""
RelativeFilename: ""
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "None"
Cropping: 0,0,0,0
}
Texture: 1399165028528, "Texture::Map #20", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #20"
Properties70: {
P: "UVSet", "KString", "", "", "UVChannel_1"
P: "UseMaterial", "bool", "", "",1
}
Media: "Video::Map #20"
FileName: "D:\Dev\clean\ufbx\data\textures\checkerboard_emissive.png"
RelativeFilename: "textures\checkerboard_emissive.png"
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "Alpha_Black"
Cropping: 0,0,0,0
}
Texture: 1399165029008, "Texture::Map #32", "" {
Type: "TextureVideoClip"
Version: 202
TextureName: "Texture::Map #32"
Properties70: {
P: "UVSet", "KString", "", "", "UVChannel_1"
P: "UseMaterial", "bool", "", "",1
}
Media: "Video::Map #32"
FileName: "D:\Dev\clean\ufbx\data\textures\checkerboard_displacement.png"
RelativeFilename: "textures\checkerboard_displacement.png"
ModelUVTranslation: 0,0
ModelUVScaling: 1,1
Texture_Alpha_Source: "Alpha_Black"
Cropping: 0,0,0,0
}
Implementation: 1399071644336, "Implementation::Material #25_Implementation", "" {
Version: 100
Properties70: {
P: "ShaderLanguage", "KString", "", "", "StandardSSL"
P: "ShaderLanguageVersion", "KString", "", "", "1.0.1"
P: "RenderAPI", "KString", "", "", "OSL"
P: "RootBindingName", "KString", "", "", "root"
}
}
BindingTable: 1399165032640, "BindingTable::root 4", "" {
Version: 100
Properties70: {
P: "TargetName", "KString", "", "", "root"
P: "TargetType", "KString", "", "", "shader"
}
Entry: "3dsMax|Parameters|material_mode", "FbxPropertyEntry", "material_mode", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|base_weight", "FbxPropertyEntry", "base", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|base_color", "FbxPropertyEntry", "base_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|reflectivity", "FbxPropertyEntry", "specular", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|roughness", "FbxPropertyEntry", "specular_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|roughness_inv", "FbxPropertyEntry", "roughness_inv", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|metalness", "FbxPropertyEntry", "metalness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|refl_color", "FbxPropertyEntry", "specular_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|diff_roughness", "FbxPropertyEntry", "diffuse_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|brdf_mode", "FbxPropertyEntry", "brdf_mode", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|brdf_low", "FbxPropertyEntry", "brdf_low", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|brdf_high", "FbxPropertyEntry", "brdf_high", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|brdf_curve", "FbxPropertyEntry", "brdf_curve", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|anisotropy", "FbxPropertyEntry", "specular_anisotropy", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|anisoangle", "FbxPropertyEntry", "specular_rotation", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|aniso_mode", "FbxPropertyEntry", "aniso_mode", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|aniso_channel", "FbxPropertyEntry", "aniso_channel", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|transparency", "FbxPropertyEntry", "transmission", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_color", "FbxPropertyEntry", "transmission_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_depth", "FbxPropertyEntry", "transmission_depth", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_roughness", "FbxPropertyEntry", "transmission_extra_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_roughness_inv", "FbxPropertyEntry", "trans_roughness_inv", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_roughness_lock", "FbxPropertyEntry", "trans_roughness_lock", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_ior", "FbxPropertyEntry", "specular_IOR", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_walled", "FbxPropertyEntry", "thin_walled", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|dispersion", "FbxPropertyEntry", "transmisison_dispersion", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_scatter_color", "FbxPropertyEntry", "transmission_scatter", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_scatter_aniso", "FbxPropertyEntry", "transmission_scatter_anisotropy", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|scattering", "FbxPropertyEntry", "subsurface", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_color", "FbxPropertyEntry", "subsurface_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_depth", "FbxPropertyEntry", "sss_depth", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_scale", "FbxPropertyEntry", "subsurface_scale", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_scatter_color", "FbxPropertyEntry", "subsurface_radius", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emission", "FbxPropertyEntry", "emission", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emit_color", "FbxPropertyEntry", "emission_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emit_luminance", "FbxPropertyEntry", "emit_luminance", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emit_kelvin", "FbxPropertyEntry", "emit_kelvin", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coating", "FbxPropertyEntry", "coat", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_color", "FbxPropertyEntry", "coat_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_roughness", "FbxPropertyEntry", "coat_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_roughness_inv", "FbxPropertyEntry", "coat_roughness_inv", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_affect_color", "FbxPropertyEntry", "coat_affect_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_affect_roughness", "FbxPropertyEntry", "coat_affect_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_ior", "FbxPropertyEntry", "coat_IOR", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_anisotropy", "FbxPropertyEntry", "coat_anisotropy", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_anisoangle", "FbxPropertyEntry", "coat_rotation", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen", "FbxPropertyEntry", "sheen", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_color", "FbxPropertyEntry", "sheen_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_roughness", "FbxPropertyEntry", "sheen_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film", "FbxPropertyEntry", "thin_film", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film_thickness", "FbxPropertyEntry", "thin_film_thickness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film_ior", "FbxPropertyEntry", "thin_film_IOR", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|base_weight_map", "FbxPropertyEntry", "base", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|base_color_map", "FbxPropertyEntry", "base_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|reflectivity_map", "FbxPropertyEntry", "specular", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|refl_color_map", "FbxPropertyEntry", "specular_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|roughness_map", "FbxPropertyEntry", "specular_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|metalness_map", "FbxPropertyEntry", "metalness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|diff_rough_map", "FbxPropertyEntry", "diffuse_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|anisotropy_map", "FbxPropertyEntry", "specular_anisotropy", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|aniso_angle_map", "FbxPropertyEntry", "specular_rotation", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|transparency_map", "FbxPropertyEntry", "transmission", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_color_map", "FbxPropertyEntry", "transmission_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_rough_map", "FbxPropertyEntry", "transmission_extra_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_ior_map", "FbxPropertyEntry", "specular_IOR", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|scattering_map", "FbxPropertyEntry", "subsurface", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_color_map", "FbxPropertyEntry", "subsurface_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_scale_map", "FbxPropertyEntry", "subsurface_scale", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emission_map", "FbxPropertyEntry", "emission", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emit_color_map", "FbxPropertyEntry", "emission_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_map", "FbxPropertyEntry", "coat", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_color_map", "FbxPropertyEntry", "coat_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_rough_map", "FbxPropertyEntry", "coat_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|displacement_map", "FbxPropertyEntry", "displacement_map", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|cutout_map", "FbxPropertyEntry", "opacity", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_aniso_map", "FbxPropertyEntry", "coat_anisotropy", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_aniso_angle_map", "FbxPropertyEntry", "coat_rotation", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_map", "FbxPropertyEntry", "sheen", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_color_map", "FbxPropertyEntry", "sheen_color", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_rough_map", "FbxPropertyEntry", "sheen_roughness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film_map", "FbxPropertyEntry", "thin_film_thickness", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film_ior_map", "FbxPropertyEntry", "thin_film_IOR", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|base_weight_map_on", "FbxPropertyEntry", "base_weight_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|base_color_map_on", "FbxPropertyEntry", "base_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|reflectivity_map_on", "FbxPropertyEntry", "reflectivity_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|refl_color_map_on", "FbxPropertyEntry", "refl_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|roughness_map_on", "FbxPropertyEntry", "roughness_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|metalness_map_on", "FbxPropertyEntry", "metalness_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|diff_rough_map_on", "FbxPropertyEntry", "diff_rough_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|anisotropy_map_on", "FbxPropertyEntry", "anisotropy_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|aniso_angle_map_on", "FbxPropertyEntry", "aniso_angle_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|transparency_map_on", "FbxPropertyEntry", "transparency_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_color_map_on", "FbxPropertyEntry", "trans_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_rough_map_on", "FbxPropertyEntry", "trans_rough_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|trans_ior_map_on", "FbxPropertyEntry", "trans_ior_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|scattering_map_on", "FbxPropertyEntry", "scattering_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_color_map_on", "FbxPropertyEntry", "sss_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sss_scale_map_on", "FbxPropertyEntry", "sss_scale_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emission_map_on", "FbxPropertyEntry", "emission_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|emit_color_map_on", "FbxPropertyEntry", "emit_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_map_on", "FbxPropertyEntry", "coat_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_color_map_on", "FbxPropertyEntry", "coat_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_rough_map_on", "FbxPropertyEntry", "coat_rough_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_aniso_map_on", "FbxPropertyEntry", "coat_aniso_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|coat_aniso_angle_map_on", "FbxPropertyEntry", "coat_aniso_angle_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_map_on", "FbxPropertyEntry", "sheen_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_color_map_on", "FbxPropertyEntry", "sheen_color_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|sheen_rough_map_on", "FbxPropertyEntry", "sheen_rough_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film_map_on", "FbxPropertyEntry", "thin_film_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|thin_film_ior_map_on", "FbxPropertyEntry", "thin_film_ior_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|displacement_map_on", "FbxPropertyEntry", "displacement_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|cutout_map_on", "FbxPropertyEntry", "cutout_map_on", "FbxSemanticEntry"
Entry: "3dsMax|Parameters|displacement_map_amt", "FbxPropertyEntry", "displacement_map_amt", "FbxSemanticEntry"
}
AnimationStack: 1399077187968, "AnimStack::Take 001", "" {
Properties70: {
P: "LocalStop", "KTime", "Time", "",153953860000
P: "ReferenceStop", "KTime", "Time", "",153953860000
}
}
AnimationLayer: 1399066525488, "AnimLayer::BaseLayer", "" {
}
}
; Object connections
;------------------------------------------------------------------
Connections: {
;Model::Box001, Model::RootNode
C: "OO",1399168483248,0
;AnimLayer::BaseLayer, AnimStack::Take 001
C: "OO",1399066525488,1399077187968
;Geometry::, Model::Box001
C: "OO",1399172077888,1399168483248
;Material::Material #25, Model::Box001
C: "OO",1396940711680,1399168483248
;Texture::Map #13, Material::Material #25
C: "OP",1399172076448,1396940711680, "DiffuseColor"
;Texture::, Material::Material #25
C: "OP",1399137418800,1396940711680, "ShininessExponent"
;Texture::Map #17, Material::Material #25
C: "OP",1399137419760,1396940711680, "3dsMax|Parameters|base_weight_map"
;Texture::Map #13, Material::Material #25
C: "OP",1399172076448,1396940711680, "3dsMax|Parameters|base_color_map"
;Texture::, Material::Material #25
C: "OP",1399137418800,1396940711680, "3dsMax|Parameters|roughness_map"
;Texture::Map #31, Material::Material #25
C: "OP",1399163299664,1396940711680, "3dsMax|Parameters|emission_map"
;Texture::Map #15, Texture::Map #13
C: "OP",1399172075488,1399172076448, "3dsMax|ColorMax|A_map"
;Texture::Map #6, Texture::Map #13
C: "OP",1399172075968,1399172076448, "3dsMax|ColorMax|B_map"
;Texture::, Texture::Map #15
C: "OP",1399172077408,1399172075488, "3dsMax|TriTone|Input_map"
;Texture::Map #14, Texture::
C: "OP",1399172076928,1399172077408, "3dsMax|parameters|sourceMap"
;Texture::Map #2, Texture::Map #6
C: "OP",1399172074528,1399172075968, "3dsMax|ColorMul|A_map"
;Texture::, Texture::Map #6
C: "OP",1399137421200,1399172075968, "3dsMax|ColorMul|B_map"
;Texture::Map #1, Texture::Map #2
C: "OP",1399172075008,1399172074528, "3dsMax|ai_add Parameters/Connections|input1.shader"
;Texture::Map #3, Texture::Map #2
C: "OP",1399137418320,1399172074528, "3dsMax|ai_add Parameters/Connections|input2.shader"
;Texture::Map #7, Texture::
C: "OP",1399137417840,1399137421200, "3dsMax|parameters|sourceMap"
;Texture::Map #30, Texture::
C: "OP",1399137419280,1399137418800, "3dsMax|parameters|sourceMap"
;Texture::Map #16, Texture::Map #17
C: "OP",1399137420240,1399137419760, "3dsMax|ai_dot Parameters/Connections|input1.shader"
;Texture::Map #13, Texture::Map #16
C: "OP",1399172076448,1399137420240, "3dsMax|ai_mix_rgba Parameters/Connections|input1.shader"
;Texture::Map #11, Texture::Map #16
C: "OP",1399137420720,1399137420240, "3dsMax|ai_mix_rgba Parameters/Connections|input2.shader"
;Texture::, Texture::Map #16
C: "OP",1399163300624,1399137420240, "3dsMax|ai_mix_rgba Parameters/Connections|mix.shader"
;Texture::, Texture::Map #11
C: "OP",1399163301104,1399137420720, "3dsMax|ai_image Parameters/Connections|offset.shader"
;Texture::Map #7, Texture::
C: "OP",1399137417840,1399163301104, "3dsMax|parameters|sourceMap"
;Texture::Map #7, Texture::
C: "OP",1399137417840,1399163300624, "3dsMax|parameters|sourceMap"
;Texture::Map #29, Texture::Map #31
C: "OP",1399163301584,1399163299664, "3dsMax|parameters|map1"
;Texture::Map #32, Texture::Map #31
C: "OP",1399165029008,1399163299664, "3dsMax|parameters|map2"
;Texture::, Texture::Map #29
C: "OP",1399163300144,1399163301584, "3dsMax|ColorAdd|A_map"
;Texture::Map #26, Texture::Map #29
C: "OP",1399163298224,1399163301584, "3dsMax|ColorAdd|B_map"
;Texture::Map #30, Texture::
C: "OP",1399137419280,1399163300144, "3dsMax|parameters|sourceMap"
;Texture::, Texture::Map #26
C: "OP",1399163298704,1399163298224, "3dsMax|VectorAdd|A_map"
;Texture::Map #21, Texture::Map #26
C: "OP",1399165027568,1399163298224, "3dsMax|VectorAdd|B_map"
;Texture::Map #28, Texture::
C: "OP",1399163299184,1399163298704, "3dsMax|parameters|sourceMap"
;Texture::Map #22, Texture::Map #21
C: "OP",1399165030448,1399165027568, "3dsMax|ai_add Parameters/Connections|input1.shader"
;Texture::Map #19, Texture::Map #21
C: "OP",1399165028048,1399165027568, "3dsMax|ai_add Parameters/Connections|input2.shader"
;Texture::Map #20, Texture::Map #19
C: "OP",1399165028528,1399165028048, "3dsMax|ColorAdd|A_map"
;Video::Map #20, Texture::Map #20
C: "OO",1399165029488,1399165028528
;Video::Map #32, Texture::Map #32
C: "OO",1399165029968,1399165029008
;Material::Material #25, Implementation::Material #25_Implementation
C: "OO",1396940711680,1399071644336
;BindingTable::root 4, Implementation::Material #25_Implementation
C: "OO",1399165032640,1399071644336
}
;Takes section
;----------------------------------------------------
Takes: {
Current: ""
Take: "Take 001" {
FileName: "Take_001.tak"
LocalTime: 0,153953860000
ReferenceTime: 0,153953860000
}
}