element PhysicalMaterial
diagram x3d-4.0_diagrams/x3d-4.0_p174.png
type extension of X3DOneSidedMaterialNode
properties
content complex
children IS MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString ImageTexture MovieTexture PixelTexture ProtoInstance
used by
group AppearanceChildContentModelNoProtoInstance
attributes
Name  Type  Use  Default  Fixed  Annotation
DEF  xs:ID        
appinfo

                    DEF defines a unique ID name for each node, referenceable by other nodes.
               
USE  xs:IDREF        
appinfo

                    USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
               
class  xs:NMTOKENS        
appinfo

                    The class attribute is a space-separated list of classes, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
id  xs:NMTOKEN        
appinfo

                    The id attribute is a unique identifier, reserved for use by HTML5/DOM pages, independent of DEF labeling and internal X3D node referencing.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
style  SFString        
appinfo

                    The style attribute provides an inline block of CSS for element styling, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
emissiveTextureMapping  xs:NMTOKEN        
normalScale  derived by: SFFloat    1    
appinfo
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shape"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
normalTextureMapping  xs:NMTOKEN        
baseColor  SFColor    1 1 1    
baseTextureMapping  xs:NMTOKEN        
emissiveColor  SFColor    0 0 0    
appinfo

                                A Material with emissiveColor not equal to (0,0,0) and diffuseColor equal to (0,0,0) is an unlit material.
                           
metallic  unitIntervalType    1    
metallicRoughnessTextureMapping  xs:NMTOKEN        
documentation
Special node correspondences
occlusionStrength  unitIntervalType    1    
occlusionTextureMapping  xs:NMTOKEN        
documentation
Special node correspondences
roughness  unitIntervalType    1    
transparency  unitIntervalType    0    
containerField  xs:NMTOKEN    material    
annotation
appinfo
<xs:element name="baseTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
<xs:element name="emissiveTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
<xs:element name="metallicRoughnessTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
<xs:element name="normalTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
<xs:element name="occlusionTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shape"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
source <xs:element name="PhysicalMaterial">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:element name="baseTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
     
<xs:element name="emissiveTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
     
<xs:element name="metallicRoughnessTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
     
<xs:element name="normalTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
     
<xs:element name="occlusionTexture" type="SFNode" fixed="inputOutputField" default="X3DSingleTextureNode"/>
     
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shape"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="2"/>
   
</xs:appinfo>
   
<xs:documentation source="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shape.html#PhysicalMaterial"/>
 
</xs:annotation>
 
<xs:complexType>
   
<xs:complexContent>
     
<xs:extension base="X3DOneSidedMaterialNode">
       
<xs:choice minOccurs="0" maxOccurs="5">
         
<xs:annotation>
           
<xs:documentation>baseTexture, emissiveTexture, metallicRoughnessTexture, normalTextuer, occlusionTexture</xs:documentation>
         
</xs:annotation>
         
<!-- TODO strictly one of each field, any order -->
         
<xs:element ref="ImageTexture"/>
         
<xs:element ref="MovieTexture"/>
         
<xs:element ref="PixelTexture"/>
         
<xs:element ref="ProtoInstance">
           
<xs:annotation>
             
<xs:documentation>Appropriately typed substitution node</xs:documentation>
           
</xs:annotation>
         
</xs:element>
       
</xs:choice>
       
<xs:attribute name="baseColor" type="SFColor" default="1 1 1"/>
       
<xs:attribute name="baseTextureMapping" type="xs:NMTOKEN"/>
       
<xs:attribute name="emissiveColor" type="SFColor" default="0 0 0">
         
<xs:annotation>
           
<xs:appinfo>
                                A Material with emissiveColor not equal to (0,0,0) and diffuseColor equal to (0,0,0) is an unlit material.
                           
</xs:appinfo>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="metallic" type="unitIntervalType" default="1"/>
       
<xs:attribute name="metallicRoughnessTextureMapping" type="xs:NMTOKEN">
         
<xs:annotation>
           
<xs:documentation>Special node correspondences</xs:documentation>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="occlusionStrength" type="unitIntervalType" default="1"/>
       
<xs:attribute name="occlusionTextureMapping" type="xs:NMTOKEN">
         
<xs:annotation>
           
<xs:documentation>Special node correspondences</xs:documentation>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="roughness" type="unitIntervalType" default="1"/>
       
<xs:attribute name="transparency" type="unitIntervalType" default="0"/>
       
<xs:attribute name="containerField" type="xs:NMTOKEN" default="material"/>
     
</xs:extension>
   
</xs:complexContent>
 
</xs:complexType>
</xs:element>

attribute PhysicalMaterial/@baseColor
type SFColor
properties
default 1 1 1
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+]?((0(\.[0-9]*)?|\.[0-9]+)|1(\.0*)?)([Ee][+-]?[0-9]+)?)\s+){2}([+]?((0(\.[0-9]*)?|\.[0-9]+)|1(\.0*)?)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="baseColor" type="SFColor" default="1 1 1"/>

attribute PhysicalMaterial/@baseTextureMapping
type xs:NMTOKEN
source <xs:attribute name="baseTextureMapping" type="xs:NMTOKEN"/>

attribute PhysicalMaterial/@emissiveColor
type SFColor
properties
default 0 0 0
facets
Kind Value Annotation
whiteSpace collapse
pattern \s*(([+]?((0(\.[0-9]*)?|\.[0-9]+)|1(\.0*)?)([Ee][+-]?[0-9]+)?)\s+){2}([+]?((0(\.[0-9]*)?|\.[0-9]+)|1(\.0*)?)([Ee][+-]?[0-9]+)?)\s*
annotation
appinfo

                                A Material with emissiveColor not equal to (0,0,0) and diffuseColor equal to (0,0,0) is an unlit material.
                           
source <xs:attribute name="emissiveColor" type="SFColor" default="0 0 0">
 
<xs:annotation>
   
<xs:appinfo>
                                A Material with emissiveColor not equal to (0,0,0) and diffuseColor equal to (0,0,0) is an unlit material.
                           
</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute PhysicalMaterial/@metallic
type unitIntervalType
properties
default 1
facets
Kind Value Annotation
minInclusive 0
maxInclusive 1
pattern \s*([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="metallic" type="unitIntervalType" default="1"/>

attribute PhysicalMaterial/@metallicRoughnessTextureMapping
type xs:NMTOKEN
annotation
documentation
Special node correspondences
source <xs:attribute name="metallicRoughnessTextureMapping" type="xs:NMTOKEN">
 
<xs:annotation>
   
<xs:documentation>Special node correspondences</xs:documentation>
 
</xs:annotation>
</xs:attribute>

attribute PhysicalMaterial/@occlusionStrength
type unitIntervalType
properties
default 1
facets
Kind Value Annotation
minInclusive 0
maxInclusive 1
pattern \s*([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="occlusionStrength" type="unitIntervalType" default="1"/>

attribute PhysicalMaterial/@occlusionTextureMapping
type xs:NMTOKEN
annotation
documentation
Special node correspondences
source <xs:attribute name="occlusionTextureMapping" type="xs:NMTOKEN">
 
<xs:annotation>
   
<xs:documentation>Special node correspondences</xs:documentation>
 
</xs:annotation>
</xs:attribute>

attribute PhysicalMaterial/@roughness
type unitIntervalType
properties
default 1
facets
Kind Value Annotation
minInclusive 0
maxInclusive 1
pattern \s*([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="roughness" type="unitIntervalType" default="1"/>

attribute PhysicalMaterial/@transparency
type unitIntervalType
properties
default 0
facets
Kind Value Annotation
minInclusive 0
maxInclusive 1
pattern \s*([+-]?((0|[1-9][0-9]*)(\.[0-9]*)?|\.[0-9]+)([Ee][+-]?[0-9]+)?)\s*
source <xs:attribute name="transparency" type="unitIntervalType" default="0"/>

attribute PhysicalMaterial/@containerField
type xs:NMTOKEN
properties
default material
source <xs:attribute name="containerField" type="xs:NMTOKEN" default="material"/>


XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy