@prefix :        <https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/PhysicalMaterialNormalMap.ttl#> .
@prefix owl:     <http://www.w3.org/2002/07/owl#> .
@prefix rdf:     <http://www.w3.org/1999/02/22-rdf-syntax-ns#> .
@prefix rdfs:    <http://www.w3.org/2000/01/rdf-schema#> .
@prefix schema:  <http://schema.org/> .
@prefix dcterms: <http://purl.org/dc/terms/> .
@prefix xsd:     <http://www.w3.org/2001/XMLSchema#> .
@prefix x3d:     <https://www.web3d.org/specifications/x3d-4.0.xsd#> .
@prefix x3do:    <https://www.web3d.org/specifications/X3dOntology4.0#> .

:X3D a owl:NamedIndividual, x3do:X3D ;
  x3do:hasHead :head ;
  x3do:hasScene :Scene ;
  x3do:profile 'Interchange' ;
  x3do:version '4.0' ;
  x3do:noNamespaceSchemaLocation 'https://www.web3d.org/specifications/x3d-4.0.xsd' .
:head a owl:NamedIndividual, x3do:head ;
  x3do:hasParent :X3D ;
  x3do:hasComponent :component_1_1 ;
  x3do:hasMeta :meta_1_2, :meta_1_3, :meta_1_4, :meta_1_5, :meta_1_6, :meta_1_7, :meta_1_8, :meta_1_9, :meta_1_10, :meta_1_11, :meta_1_12, :meta_1_13 .
:component_1_1 a owl:NamedIndividual, x3do:component ;
  x3do:hasParent :head ;
  x3do:level 2 ;
  x3do:name 'Shape' .
:meta_1_2 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'PhysicalMaterialNormalMap.x3d' ;
  x3do:name 'title' .
:meta_1_3 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'PhysicalMaterialNormalMap.blend' ;
  x3do:name 'reference' .
:meta_1_4 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Example of PhysicalMaterial node to give appearance of brass metal, converted from Blender source. This example material uses normal map defined by ImageTexture to show indentations. This file was generated from a Blender scene exported to glTF, then converted to X3D by Castle Model Viewer. Additional editing by X3D-Edit to achieve conformance with X3D V4' ;
  x3do:name 'description' .
:meta_1_5 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Vincent Marchetti' ;
  x3do:name 'creator' .
:meta_1_6 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '13 December 2025' ;
  x3do:name 'created' .
:meta_1_7 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content '20 December 2025' ;
  x3do:name 'modified' .
:meta_1_8 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'Blender 4.2 https://www.blender.org' ;
  x3do:name 'generator' .
:meta_1_9 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'castle-model-viewer, https://castle-engine.io/castle-model-viewer' ;
  x3do:name 'generator' .
:meta_1_10 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit' ;
  x3do:name 'generator' .
:meta_1_11 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'PhysicalMaterialNormalMap.glb' ;
  x3do:name 'source' .
:meta_1_12 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/PhysicalMaterialNormalMap.x3d' ;
  x3do:name 'identifier' .
:meta_1_13 a owl:NamedIndividual, x3do:meta ;
  x3do:hasParent :head ;
  x3do:content 'https://www.web3d.org/x3d/content/examples/license.html' ;
  x3do:name 'license' .
:meta dcterms:title "PhysicalMaterialNormalMap.x3d" .
:meta dcterms:reference "PhysicalMaterialNormalMap.blend" .
:meta dcterms:description "Example of PhysicalMaterial node to give appearance of brass metal, converted from Blender source. This example material uses normal map defined by ImageTexture to show indentations. This file was generated from a Blender scene exported to glTF, then converted to X3D by Castle Model Viewer. Additional editing by X3D-Edit to achieve conformance with X3D V4" .
:meta dcterms:creator "Vincent Marchetti" .
:meta dcterms:created "13 December 2025" .
:meta dcterms:modified "20 December 2025" .
:meta dcterms:generator "Blender 4.2 https://www.blender.org" .
:meta dcterms:generator "castle-model-viewer, https://castle-engine.io/castle-model-viewer" .
:meta dcterms:generator "X3D-Edit 4.0, https://www.web3d.org/x3d/tools/X3D-Edit" .
:meta dcterms:identifier "https://www.web3d.org/x3d/content/examples/X3dForAdvancedModeling/Conversions/PhysicalMaterialNormalMap.x3d" .
:meta dcterms:license "https://www.web3d.org/x3d/content/examples/license.html" .
:Scene a owl:NamedIndividual, x3do:Scene ;
  x3do:hasParent :X3D ;
  x3do:hasChildren :CastleEncoded_Shape_IndexedFaceSet46001 .
:CastleEncoded_Shape_IndexedFaceSet46001 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :Scene ;
  x3do:hasChildren :CastleEncoded_Shape_IndexedFaceSet46001_2 ;
  x3do:DEF 'CastleEncoded_Shape_IndexedFaceSet46001' .
:CastleEncoded_Shape_IndexedFaceSet46001_2 a owl:NamedIndividual, x3do:Group ;
  x3do:hasParent :CastleEncoded_Shape_IndexedFaceSet46001 ;
  x3do:hasChildren :Transform_2_1_1_1 ;
  x3do:DEF 'CastleEncoded_Shape_IndexedFaceSet46001_2' .
:Transform_2_1_1_1 a owl:NamedIndividual, x3do:Transform ;
  x3do:hasParent :CastleEncoded_Shape_IndexedFaceSet46001_2 ;
  x3do:hasChildren :CastleEncoded_Shape_IndexedFaceSet46001_Primitive0 ;
  x3do:scale ( 0.4 0.4 0.4 ) .
:CastleEncoded_Shape_IndexedFaceSet46001_Primitive0 a owl:NamedIndividual, x3do:Shape ;
  x3do:hasParent :Transform_2_1_1_1 ;
  x3do:hasAppearance :dimpled_brass ;
  x3do:hasGeometry :IndexedTriangleSet_2_1_1_1_1_2 ;
  x3do:DEF 'CastleEncoded_Shape_IndexedFaceSet46001_Primitive0' ;
  x3do:bboxSize ( 16 9 0 ) .
:dimpled_brass a owl:NamedIndividual, x3do:Appearance ;
  x3do:hasParent :CastleEncoded_Shape_IndexedFaceSet46001_Primitive0 ;
  x3do:hasMaterial :PhysicalMaterial_2_1_1_1_1_1_1 ;
  x3do:DEF 'dimpled_brass' ;
  x3do:alphaMode 'OPAQUE' .
:PhysicalMaterial_2_1_1_1_1_1_1 a owl:NamedIndividual, x3do:PhysicalMaterial ;
  x3do:hasParent :dimpled_brass ;
  x3do:hasNormalTexture :normal_map_dimples ;
  x3do:baseColor ( 0.7529 0.5332 0.1559 ) ;
  x3do:metallic 0.80179 ;
  x3do:normalTextureMapping 'TEXCOORD_0' ;
  x3do:roughness 0.1491 .
:normal_map_dimples a owl:NamedIndividual, x3do:ImageTexture ;
  x3do:hasParent :PhysicalMaterial_2_1_1_1_1_1_1 ;
  x3do:hasTextureProperties :TextureProperties_2_1_1_1_1_1_1_1_1 ;
  x3do:DEF 'normal_map_dimples' ;
  x3do:url '"normal_map_dimples.png" "http://www.example.com/normal_map_dimples.png"' .
:TextureProperties_2_1_1_1_1_1_1_1_1 a owl:NamedIndividual, x3do:TextureProperties ;
  x3do:hasParent :normal_map_dimples ;
  x3do:generateMipMaps true ;
  x3do:magnificationFilter 'AVG_PIXEL' ;
  x3do:minificationFilter 'AVG_PIXEL_AVG_MIPMAP' .
:IndexedTriangleSet_2_1_1_1_1_2 a owl:NamedIndividual, x3do:IndexedTriangleSet ;
  x3do:hasParent :CastleEncoded_Shape_IndexedFaceSet46001_Primitive0 ;
  x3do:hasCoord :Coordinate_2_1_1_1_1_2_1 ;
  x3do:hasTexCoord :MultiTextureCoordinate_2_1_1_1_1_2_2 ;
  x3do:index ( 0 1 3 0 3 2 ) ;
  x3do:solid false ;
  x3do:ccw true ;
  x3do:colorPerVertex true ;
  x3do:normalPerVertex true .
:Coordinate_2_1_1_1_1_2_1 a owl:NamedIndividual, x3do:Coordinate ;
  x3do:hasParent :IndexedTriangleSet_2_1_1_1_1_2 ;
  x3do:point ( -8 -4.5 0 8 -4.5 0 -8 4.5 0 8 4.5 0 ) .
:MultiTextureCoordinate_2_1_1_1_1_2_2 a owl:NamedIndividual, x3do:MultiTextureCoordinate ;
  x3do:hasParent :IndexedTriangleSet_2_1_1_1_1_2 ;
  x3do:hasTexCoord :TextureCoordinate_2_1_1_1_1_2_2_1 .
:TextureCoordinate_2_1_1_1_1_2_2_1 a owl:NamedIndividual, x3do:TextureCoordinate ;
  x3do:hasParent :MultiTextureCoordinate_2_1_1_1_1_2_2 ;
  x3do:mapping 'TEXCOORD_0' ;
  x3do:point ( 4 1 0 1 4 -1.25 0 -1.25 ) .
