Process SMIL directives in XML data: Difference between revisions

From Rosetta Code
Content added Content deleted
(initial version, mostly a draft)
 
m (wikipedia links)
Line 1: Line 1:
One very common task in OpenGL is to load data from a file that contains geometry. These datas most often also contain additional informations, for example animation informations. In this task we propose to load X3D geometric datas with additional Smil animation statments. X3D is not particularly supposed to be mixed with Smil, but Smil is supposed to be mixable with any XML format.
One very common task in OpenGL is to load data from a file that contains geometry. These datas most often also contain additional informations, for example animation informations. In this task we propose to load X3D geometric datas with additional Smil animation statments. X3D ([http://en.wikipedia.org/wiki/X3D WP]) is not particularly supposed to be mixed with Smil ([http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language WP]), but Smil is supposed to be mixable with any XML format.


Here is the pure X3D base of our file:
Here is the pure X3D base of our file:
Line 6: Line 6:
<X3D>
<X3D>
<Scene>
<Scene>
<PointLight color='1 1 1' location='0 0 0'/>
<Viewpoint orientation="0 0 1 0" position="0 0 0"/>
<Transform translation='-2.4 0.2 1.0' scale='1 1 1'>
<PointLight color='1 1 1' location='0 2 0'/>
<Transform translation='0.0 0.0 -3.0' scale='1 1 1'>
<Shape>
<Shape>
<Box size='2 1 2'/>
<Box size='2 1 2'/>
Line 24: Line 25:
<X3D>
<X3D>
<Scene>
<Scene>
<PointLight color='1 1 1' location='0 0 0'/>
<Viewpoint orientation="0 0 1 0" position="0 0 0"/>
<Transform translation='-2.4 0.2 1.0' scale='1 1 1'>
<PointLight color='1 1 1' location='0 2 0'/>
<Transform translation='0.0 0.0 -3.0' scale='1 1 1'>
<Shape>
<Shape>
<Box size='2 1 2'>
<Box size='2 1 2'>

Revision as of 20:08, 2 January 2010

One very common task in OpenGL is to load data from a file that contains geometry. These datas most often also contain additional informations, for example animation informations. In this task we propose to load X3D geometric datas with additional Smil animation statments. X3D (WP) is not particularly supposed to be mixed with Smil (WP), but Smil is supposed to be mixable with any XML format.

Here is the pure X3D base of our file:

<lang xml><?xml version="1.0" ?> <X3D>

 <Scene>
   <Viewpoint orientation="0 0 1 0" position="0 0 0"/>
   <PointLight color='1 1 1' location='0 2 0'/>
   <Transform translation='0.0 0.0 -3.0' scale='1 1 1'>
     <Shape>
       <Box size='2 1 2'/>
       <Appearance>
         <Material diffuseColor='0.0 0.6 1.0'/>
       </Appearance>
     </Shape>
   </Transform>
 </Scene>

</X3D></lang>

And here is the same datas with additional Smil statments that you should load, display and animate with OpenGL:

<lang xml><?xml version="1.0" ?> <smil> <X3D>

 <Scene>
   <Viewpoint orientation="0 0 1 0" position="0 0 0"/>
   <PointLight color='1 1 1' location='0 2 0'/>
   <Transform translation='0.0 0.0 -3.0' scale='1 1 1'>
     <Shape>
       <Box size='2 1 2'>
         <animate attributeName="size" from="2 1 2"
                                         to="1 2 1" begin="0s" dur="10s"/>
       </Box>
       <Appearance>
         <Material diffuseColor='0.0 0.6 1.0'>
           <animate attributeName="diffuseColor" from="0.0 0.6 1.0"
                                                   to="1.0 0.4 0.0" begin="0s" dur="10s"/>
         </Material>
       </Appearance>
     </Shape>
   </Transform>
 </Scene>

</X3D></smil></lang>

Try to make it possible to insert "animate" tags for animating every attribute of the base file.