1 |
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
<!DOCTYPE X3D PUBLIC "ISO//Web3D//DTD X3D 3.0//EN" "https://www.web3d.org/specifications/x3d-3.0.dtd">
|
3 | <X3D profile='Immersive' version='3.0' xmlns:xsd='http://www.w3.org/2001/XMLSchema-instance' xsd:noNamespaceSchemaLocation='https://www.web3d.org/specifications/x3d-3.0.xsd'> |
4 | <head> |
5 | <meta name='title' content='WallLamp.x3d'/> |
6 | <meta name='description' content='A reusable wall lamp: prototype using an inverted cone with embedded PointLight.'/> |
7 | <meta name='creator' content='Frederic Roussille'/> |
8 | <meta name='created' content='1 April 2001'/> |
9 | <meta name='modified' content='20 October 2019'/> |
10 | <meta name='identifier' content='https://www.web3d.org/x3d/content/examples/Basic/StudentProjects/WallLamp.x3d'/> |
11 | <meta name='generator' content='X3D-Edit 3.3, https://savage.nps.edu/X3D-Edit'/> |
12 | <meta name='license' content='../license.html'/> |
13 | </head> |
14 | <Scene> |
15 | <WorldInfo title='WallLamp.x3d'/> |
16 | <ProtoDeclare name='WallLamp'> |
17 | <ProtoInterface> |
18 | <field name='lampColor' type='SFColor' value='0 0 1' accessType='inputOutput'/> |
19 | <field name='lightColor' type='SFColor' value='0.7 0.5 0' accessType='inputOutput'/> |
20 | <field name='lightIntensity' type='SFFloat' value='0.8' accessType='inputOutput'/> |
21 | <field name='lightAttenuation' type='SFVec3f' value='0 0.6 0' accessType='inputOutput'/> |
22 | <field name='radius' type='SFFloat' value='50' accessType='inputOutput'/> |
23 | <field name='lightLocation' type='SFVec3f' value='0 0 5' accessType='inputOutput'/> |
24 | </ProtoInterface> |
25 | <ProtoBody> |
26 | <Group> |
27 | <Shape> |
28 | <Appearance> |
29 | <Material DEF='lamp_color'> |
30 | <IS> |
31 | <connect nodeField='diffuseColor' protoField='lampColor'/> |
32 | </IS> |
33 | </Material> |
34 | </Appearance> |
35 | <IndexedFaceSet creaseAngle='1.57' solid='false' coordIndex='0 9 1 -1 1 9 2 -1 2 9 3 -1 3 9 4 -1 4 9 5 -1 5 9 6 -1 6 9 7 -1 7 9 8 -1 9 0 8 -1'> |
36 | <Coordinate point='-1 0 0 -0.92 0 0.38 -0.71 0 0.71 -0.38 0 0.92 0 0 1 0.38 0 0.92 0.71 0 0.71 0.92 0 0.38 1 0 0 0 -3 0'/> |
37 | </IndexedFaceSet> |
38 | </Shape> |
39 | <PointLight DEF='lamp_light'> |
40 | <IS> |
41 | <connect nodeField='color' protoField='lightColor'/> |
42 | <connect nodeField='intensity' protoField='lightIntensity'/> |
43 | <connect nodeField='attenuation' protoField='lightAttenuation'/> |
44 | <connect nodeField='radius' protoField='radius'/> |
45 | <connect nodeField='location' protoField='lightLocation'/> |
46 | </IS> |
47 | </PointLight> |
48 | </Group> |
49 | </ProtoBody> |
50 | </ProtoDeclare> |
51 | <ProtoInstance name='WallLamp'/> |
52 | </Scene> |
53 | </X3D> |
<!--
Color legend: X3D terminology
<X3dNode
DEF='idName' field='value'/>
matches XML terminology
<XmlElement
DEF='idName' attribute='value'/>
(Light-blue background: event-based behavior node or statement)
(Grey background inside box: inserted documentation)
(Magenta background: X3D Extensibility)
<ProtoInstance name='ProtoName'>
<field
name='fieldName'/> ProtoInstance>
-->
<!-- For additional help information about X3D scenes, please see X3D Tooltips, X3D Resources, and X3D Scene Authoring Hints. -->