InitialObjectDescriptor { objectDescriptorID 1 ODProfileLevelIndication 0xFF sceneProfileLevelIndication 0xFE audioProfileLevelIndication 0xFF visualProfileLevelIndication 0xFF graphicsProfileLevelIndication 0xFE esdescr [ ES_Descriptor { es_id 1 decConfigDescr DecoderConfigDescriptor { streamType 3 decSpecificInfo BIFSConfig { isCommandStream true pixelMetric true pixelWidth 400 pixelHeight 200 } } } ES_Descriptor { es_id 2 decConfigDescr DecoderConfigDescriptor { streamType 1 } } ] } OrderedGroup { children [ Background2D {backColor 1 1 1 url "od:10"} MediaControl {url "od:10" loop TRUE} WorldInfo { title "Layer3D test" info ["This shows several Layer3D nodes" "offering different views of the same scene" "navigation is not enabled on all layers" "" "GPAC Regression Tests" "(C) 2002-2004 GPAC Team"] } Transform2D { translation -100 0 children [ Shape { appearance DEF TXTAPP Appearance { material Material2D { emissiveColor 1 0 0 filled TRUE } } geometry Text { string ["This text" "is behind"] fontStyle FontStyle { size 26 justify ["MIDDLE", "BEGIN"] } } } Layer3D { #SHORTCUT inline viewpoint otherwise the rotation will make all models rotate viewpoint Viewpoint {position 0 -100 1000 } # this forbids navigation in layer navigationInfo NavigationInfo {type ["None"]} size 200 200 children [ DEF TR Transform { children [ DEF NEF Inline { url "D:\CVS\gpac\regression_tests\auxiliary_files\nefertiti.wrl" } ] } ] } Shape { appearance USE TXTAPP geometry Text { string ["This text" "is in front"] fontStyle FontStyle { size 26 justify ["MIDDLE", "END"] } } } ] } Transform2D { translation 100 50 children [ Layer3D { viewpoint Viewpoint {position 0 -100 1000 } navigationInfo NavigationInfo {type ["EXAMINE"] } size 200 100 children [ Background2D {url "20" } USE NEF ] } ] } Transform2D { translation 100 -50 children [ Layer3D { viewpoint Viewpoint {position 0 -100 1000 } navigationInfo NavigationInfo {headlight FALSE} size 200 100 children [ Background2D { backColor 0 0 1 } DEF DL DirectionalLight { color 0.8 0.2 0.2 direction 0 0 -1 } USE NEF ] } ] } DEF TS TimeSensor { cycleInterval 8.0 loop TRUE } DEF OI OrientationInterpolator { key [0 0.5 1] keyValue [0 1 0 0, 0 1 0 3.14, 0 1 0 6.26] } DEF OI_L PositionInterpolator { key [0 0.25 0.5 0.75 1] keyValue [-1 0 0, 0 0 -1, 1 0 0, 0 0 -1, -1 0 0] } ] } ROUTE TS.fraction_changed TO OI.set_fraction ROUTE OI.value_changed TO TR.rotation ROUTE TS.fraction_changed TO OI_L.set_fraction ROUTE OI_L.value_changed TO DL.direction AT 0 { UPDATE OD [ ObjectDescriptor { objectDescriptorID 10 esDescr [ ES_Descriptor { ES_ID 10 OCR_ES_ID 10 muxInfo MuxInfo { fileName "auxiliary_files/enst_video.h264" } } ] } ObjectDescriptor { objectDescriptorID 20 esDescr [ ES_Descriptor { ES_ID 20 muxInfo MuxInfo { fileName "auxiliary_files/logo.png" } } ] } ] }