summaryrefslogtreecommitdiffstats
path: root/examples
diff options
context:
space:
mode:
authorTomi Korpipaa <tomi.korpipaa@qt.io>2018-05-04 13:52:44 +0300
committerTomi Korpipää <tomi.korpipaa@qt.io>2018-05-14 07:58:45 +0000
commit184ec7e548b03a21836fb3c69c517a5bf5b0f854 (patch)
tree70f9599d19c9fbfa1dca82040ee68123c14899de /examples
parent0dc12ad0f8c79cb444d7fba74a56683f7e4f42e9 (diff)
Update SampleProject
Task-number: QT3DS-1541 Change-Id: Icda4411f35b724e03291f07a7ccd29d8136ac839 Reviewed-by: Tomi Korpipää <tomi.korpipaa@qt.io>
Diffstat (limited to 'examples')
-rw-r--r--examples/studio3d/SampleProject/SampleProject.uia12
-rw-r--r--examples/studio3d/SampleProject/SampleProject.uip557
-rw-r--r--examples/studio3d/SampleProject/effects/Corona.effect97
-rw-r--r--examples/studio3d/SampleProject/effects/VignetteEffect.effect41
-rw-r--r--examples/studio3d/SampleProject/fonts/TitilliumWeb-Regular.ttfbin0 -> 63752 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/Icon_TurnLeft_ON.pngbin0 -> 16151 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/OpenfootageNET_garage-512.hdrbin0 -> 422659 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/Rpm7.pngbin0 -> 29968 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/effects/noise.ddsbin4224 -> 0 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/gradient_lines_001.pngbin0 -> 285262 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/kmh260.pngbin0 -> 20767 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/materials/shadow.pngbin334 -> 0 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/materials/spherical_checker.pngbin11066 -> 0 bytes
-rw-r--r--examples/studio3d/SampleProject/maps/road.pngbin0 -> 21290 bytes
-rw-r--r--examples/studio3d/SampleProject/materials/simple_glass.material197
-rw-r--r--examples/studio3d/SampleProject/models/Ring_2/Ring_2.import18
-rw-r--r--examples/studio3d/SampleProject/models/Ring_2/meshes/qt_gauge_ring_2.meshbin0 -> 25608 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Speedometer/Speedometer.import39
-rw-r--r--examples/studio3d/SampleProject/models/Speedometer/maps/Speed.pngbin485677 -> 0 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Speedometer/meshes/NeedleSpeed.meshbin10880 -> 0 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Speedometer/meshes/Speedometer.meshbin484416 -> 0 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Sportscar_15k/Sportscar_15k.import62
-rw-r--r--examples/studio3d/SampleProject/models/Sportscar_15k/maps/c_tex.jpgbin0 -> 145692 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyBack.meshbin0 -> 1361004 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyFront.meshbin0 -> 858284 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Sportscar_15k/meshes/backWheels.meshbin0 -> 427336 bytes
-rw-r--r--examples/studio3d/SampleProject/models/Sportscar_15k/meshes/frontWheels.meshbin0 -> 426216 bytes
-rw-r--r--examples/studio3d/SampleProject/models/needle_2/meshes/qt_gauge_needles_2.meshbin0 -> 16860 bytes
-rw-r--r--examples/studio3d/SampleProject/models/needle_2/needle_2.import20
-rw-r--r--examples/studio3d/SampleProject/models/roundbg_1/maps/gradient.pngbin0 -> 164954 bytes
-rw-r--r--examples/studio3d/SampleProject/models/roundbg_1/meshes/qt_gauge_background_round_1.meshbin0 -> 2892 bytes
-rw-r--r--examples/studio3d/SampleProject/models/roundbg_1/roundbg_1.import24
-rw-r--r--examples/studio3d/SampleProject/models/tickmark_260/meshes/qt_gauge_tickmarks_260.meshbin0 -> 40952 bytes
-rw-r--r--examples/studio3d/SampleProject/models/tickmark_260/tickmark_260.import18
-rw-r--r--examples/studio3d/SampleProject/models/tickmark_8_small/meshes/qt_gauge_tickmarks_8_small.meshbin0 -> 2248 bytes
-rw-r--r--examples/studio3d/SampleProject/models/tickmark_8_small/tickmark_8_small.import18
-rw-r--r--examples/studio3d/SampleProject/scripts/Map.jpgbin0 -> 48073 bytes
-rw-r--r--examples/studio3d/SampleProject/scripts/Navigation.qml74
38 files changed, 783 insertions, 394 deletions
diff --git a/examples/studio3d/SampleProject/SampleProject.uia b/examples/studio3d/SampleProject/SampleProject.uia
index d59165ec..3550fbe3 100644
--- a/examples/studio3d/SampleProject/SampleProject.uia
+++ b/examples/studio3d/SampleProject/SampleProject.uia
@@ -1,9 +1,13 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<application xmlns="http://qt.io/qt3dstudio/uia">
+<?xml version="1.0" encoding="UTF-8" ?>
+<application>
<assets initial="SampleProject">
- <presentation id="SampleProject" src="SampleProject.uip"/>
+ <presentation id="SampleProject" src="SampleProject.uip"/>
+ <presentation-qml id="mapView" args="scripts/Navigation.qml"/>
+ <dataInput name="speed" type="Ranged Number" min="0" max="260"/>
+ <dataInput name="rpm" type="Ranged Number" min="0" max="7"/>
+ <dataInput name="slide" type="String"/>
+ <dataInput name="dateAndTime" type="String"/>
</assets>
-
<statemachine ref="#logic">
<visual-states>
<state ref="Initial">
diff --git a/examples/studio3d/SampleProject/SampleProject.uip b/examples/studio3d/SampleProject/SampleProject.uip
index 37b0cdfb..aaac343c 100644
--- a/examples/studio3d/SampleProject/SampleProject.uip
+++ b/examples/studio3d/SampleProject/SampleProject.uip
@@ -1,78 +1,521 @@
<?xml version="1.0" encoding="UTF-8" ?>
<UIP version="3" >
<Project >
- <ProjectSettings author="" company="" presentationWidth="800" presentationHeight="800" maintainAspect="True" >
- <CustomColors count="16" >#ff5500 #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff</CustomColors>
+ <ProjectSettings author="" company="" presentationWidth="1280" presentationHeight="480" maintainAspect="False" >
+ <CustomColors count="16" >#7391ff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff #ffffff</CustomColors>
</ProjectSettings>
+ <BufferData >
+ <ImageBuffer sourcepath="maps/Icon_TurnLeft_ON.png" hasTransparency="True" />
+ <ImageBuffer sourcepath="maps/Rpm7.png" hasTransparency="True" />
+ <ImageBuffer sourcepath="maps/kmh260.png" hasTransparency="True" />
+ <ImageBuffer sourcepath="models/roundbg_1/maps/gradient.png" hasTransparency="True" />
+ </BufferData>
<Classes >
- <Effect id="Corona" name="Corona" sourcepath="effects/Corona.effect" />
- <CustomMaterial id="simple_glass" name="simple_glass" sourcepath="materials/simple_glass.material" />
+ <Effect id="VignetteEffect" name="VignetteEffect" sourcepath="effects/VignetteEffect.effect" />
</Classes>
<Graph >
- <Scene id="Scene" >
- <Layer id="Layer2" >
- <Camera id="Camera_001" />
- <Light id="Light_001" />
- <Model id="NeedleSpeed_001" name="NeedleSpeed" importid="NeedleSpeed" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/Speedometer/meshes/NeedleSpeed.mesh" >
- <Material id="NeedleBlack_002" name="NeedleBlack" blendmode="Normal" diffuse="0 0 0" emissivepower="0" importid="NeedleBlack" opacity="100" specularamount="0" specularroughness="9.41177" />
- <Material id="NeedleWhite_002" />
- </Model>
- <Effect id="Corona_001" class="#Corona" />
+ <Scene id="Scene" controlledproperty="slide @slide" >
+ <Layer id="ClusterText" >
+ <Camera id="Camera_003" />
+ <Group id="Telltales" >
+ <Component id="TurnSignals" >
+ <Group id="TurnSignals_001" >
+ <Model id="Icon_TurnLeft_ON2er" >
+ <Material id="Material_001" >
+ <Image id="Material_001_diffusemap" />
+ </Material>
+ </Model>
+ <Model id="Icon_TurnLeft_ON" >
+ <Material id="Material_002" >
+ <Image id="Material_002_diffusemap" />
+ </Material>
+ </Model>
+ </Group>
+ </Component>
+ </Group>
+ <Text id="DateAndTime" />
+ </Layer>
+ <Layer id="Cluster3D2" >
+ <Camera id="Camera_002" />
+ <Group id="Cluster_001" >
+ <Group id="Background_001" />
+ <Group id="MainGauges" >
+ <Group id="LeftGauge_001" >
+ <Group id="GaugeBackground" >
+ <Group id="roundbg_1" importid="__import__root__" >
+ <Model id="qt_gauge_background_round_1" name="qt_gauge_background_round_1" importid="qt_gauge_background_round_1" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/roundbg_1/meshes/qt_gauge_background_round_1.mesh" >
+ <Material id="background_1" name="background_1" blendmode="Normal" diffuse="1 1 1" diffusemap="#background_1_diffusemap" emissivepower="0" importid="background_1" opacity="100" specularamount="0" >
+ <Image id="background_1_diffusemap" name="background_1_diffusemap" importid="background_1_diffusemap" sourcepath="models/roundbg_1/maps/gradient.png" />
+ <Image id="background_1_specularreflection" />
+ </Material>
+ </Model>
+ </Group>
+ <Group id="Ring_2" importid="__import__root__" >
+ <Model id="qt_gauge_ring_2" name="qt_gauge_ring_2" importid="qt_gauge_ring_2" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/Ring_2/meshes/qt_gauge_ring_2.mesh" >
+ <Material id="Default_white" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="Default_white" opacity="100" specularamount="0" >
+ <Image id="Default_white_specularreflection" />
+ </Material>
+ </Model>
+ </Group>
+ </Group>
+ <Component id="GaugeNeedle" >
+ <Group id="GaugeNeedle_001" >
+ <Light id="Light" />
+ <Group id="needle_2" importid="__import__root__" >
+ <Model id="qt_gauge_needles_2" name="qt_gauge_needles_2" importid="qt_gauge_needles_2" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/needle_2/meshes/qt_gauge_needles_2.mesh" >
+ <Material id="qt_gauge_needles:red_transparent" name="qt_gauge_needles:red_transparent" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="qt_gauge_needles:red_transparent" opacity="100" specularamount="0" />
+ <Material id="qt_gauge_needles:black_solid" name="qt_gauge_needles:black_solid" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="qt_gauge_needles:black_solid" opacity="100" specularamount="0" />
+ <Material id="qt_gauge_needles:solidWhite" name="qt_gauge_needles:solidWhite" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="qt_gauge_needles:solidWhite" opacity="100" specularamount="0" >
+ <Image id="qt_gauge_needles:solidWhite_specularreflection" />
+ </Material>
+ </Model>
+ </Group>
+ </Group>
+ </Component>
+ <Group id="GaugeTickmarks" >
+ <Group id="tickmark_260" importid="__import__root__" >
+ <Model id="qt_gauge_tickmarks_260" name="qt_gauge_tickmarks_260" importid="qt_gauge_tickmarks_260" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/tickmark_260/meshes/qt_gauge_tickmarks_260.mesh" >
+ <Material id="Default_white_001" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="Default_white" opacity="100" specularamount="0" />
+ </Model>
+ </Group>
+ </Group>
+ <Group id="GaugeNumbers" >
+ <Model id="kmh260" >
+ <Material id="Material_003" >
+ <Image id="Material_003_diffusemap" />
+ </Material>
+ </Model>
+ </Group>
+ </Group>
+ <Group id="RightGauge_001" >
+ <Group id="GaugeBackground_001" >
+ <Group id="roundbg_1_001" importid="__import__root__" >
+ <Model id="qt_gauge_background_round_1_001" name="qt_gauge_background_round_1" importid="qt_gauge_background_round_1" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/roundbg_1/meshes/qt_gauge_background_round_1.mesh" >
+ <Material id="background_1_001" name="background_1" blendmode="Normal" diffuse="1 1 1" diffusemap="#background_1_001_diffusemap" emissivepower="0" importid="background_1" opacity="100" specularamount="0" >
+ <Image id="background_1_001_diffusemap" name="background_1_diffusemap" importid="background_1_diffusemap" sourcepath="models/roundbg_1/maps/gradient.png" />
+ <Image id="background_1_001_specularreflection" />
+ </Material>
+ </Model>
+ </Group>
+ <Group id="Ring_2_001" importid="__import__root__" >
+ <Model id="qt_gauge_ring_2_001" name="qt_gauge_ring_2" importid="qt_gauge_ring_2" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/Ring_2/meshes/qt_gauge_ring_2.mesh" >
+ <Material id="Default_white_002" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="Default_white" opacity="100" specularamount="0" >
+ <Image id="Default_white_002_specularreflection" />
+ </Material>
+ </Model>
+ </Group>
+ </Group>
+ <Component id="GaugeNeedle_002" >
+ <Group id="GaugeNeedle_003" >
+ <Light id="Light_002" />
+ <Group id="needle_2_001" importid="__import__root__" >
+ <Model id="qt_gauge_needles_2_001" name="qt_gauge_needles_2" importid="qt_gauge_needles_2" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/needle_2/meshes/qt_gauge_needles_2.mesh" >
+ <Material id="qt_gauge_needles:red_transparent_001" name="qt_gauge_needles:red_transparent" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="qt_gauge_needles:red_transparent" opacity="100" specularamount="0" />
+ <Material id="qt_gauge_needles:black_solid_001" name="qt_gauge_needles:black_solid" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="qt_gauge_needles:black_solid" opacity="100" specularamount="0" />
+ <Material id="qt_gauge_needles:solidWhite_001" name="qt_gauge_needles:solidWhite" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="qt_gauge_needles:solidWhite" opacity="100" specularamount="0" >
+ <Image id="qt_gauge_needles:solidWhite_001_specularreflection" />
+ </Material>
+ </Model>
+ </Group>
+ </Group>
+ </Component>
+ <Group id="GaugeTickmarks_001" >
+ <Group id="tickmark_8_small" importid="__import__root__" >
+ <Model id="qt_gauge_tickmarks_8_small" name="qt_gauge_tickmarks_8_small" importid="qt_gauge_tickmarks_8_small" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/tickmark_8_small/meshes/qt_gauge_tickmarks_8_small.mesh" >
+ <Material id="Default_white_003" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" importid="Default_white" opacity="100" specularamount="0" />
+ </Model>
+ </Group>
+ </Group>
+ <Group id="GaugeNumbers_001" >
+ <Model id="Rpm7" >
+ <Material id="Material_004" >
+ <Image id="Material_004_diffusemap" />
+ </Material>
+ </Model>
+ </Group>
+ <Group id="GaugeText_001" />
+ </Group>
+ </Group>
+ </Group>
</Layer>
- <Layer id="Layer" >
- <Camera id="Camera" />
- <Light id="Light" />
- <Group id="Speedometer" importid="__import__root__" >
- <Group id="Group_Speedometer_Master" name="Group_Speedometer_Master" importid="Group_Speedometer_Master" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" >
- <Model id="Speedometer_001" name="Speedometer" importid="Speedometer" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="models/Speedometer/meshes/Speedometer.mesh" >
- <CustomMaterial id="BaseMetal" class="#simple_glass" />
- <ReferencedMaterial id="HighLight" />
- <Material id="NeedleWhite_001" name="NeedleWhite" blendmode="Normal" diffuse="0.8 0.8 0.8" emissivepower="0" importid="NeedleWhite_0005" opacity="100" specularamount="0" specularroughness="27.451" />
- <Material id="BlackMetalRing" name="BlackMetalRing" blendmode="Normal" diffuse="0.0578313 0.0578313 0.0578313" emissivepower="0" importid="BlackMetalRing" opacity="100" specularamount="0" specularroughness="99.8039" />
- <Material id="NeedleBlack_001" name="NeedleBlack" blendmode="Normal" diffuse="0 0 0" emissivepower="0" importid="NeedleBlack_0006" opacity="100" specularamount="0" specularroughness="9.41177" />
- <Material id="SpeedometerBg" name="SpeedometerBg" blendmode="Normal" diffuse="1 1 1" diffusemap="#SpeedometerBg_diffusemap" emissivepower="0" importid="SpeedometerBg" opacity="100" specularamount="0" specularroughness="9.41177" >
- <Image id="SpeedometerBg_diffusemap" name="SpeedometerBg_diffusemap" importid="SpeedometerBg_diffusemap" sourcepath="models/Speedometer/maps/Speed.png" />
+ <Layer id="Road3D" >
+ <Camera id="Camera_004" />
+ <Light id="Light_001" />
+ <Effect id="VignetteEffect_002" class="#VignetteEffect" />
+ <Component id="Car" >
+ <Group id="Sportscar_15k" importid="__import__root__" >
+ <Model id="BodyFront" name="BodyFront" importid="BodyFront" orientation="Right Handed" position="-12.4369 103.274 765.204" rotation="-90 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="models/Sportscar_15k/meshes/BodyFront.mesh" >
+ <ReferencedMaterial id="glass_tex2" />
+ <ReferencedMaterial id="rubber2" />
+ <Material id="black2" name="black2" blendmode="Normal" diffuse="0 0 0" emissivepower="0" importid="black2" opacity="100" specularamount="0" specularroughness="0.980392" />
+ <ReferencedMaterial id="body2" />
+ </Model>
+ <Model id="backWheels" name="backWheels" importid="backWheels" orientation="Right Handed" position="326.242 131.284 491.438" rotation="-90 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="models/Sportscar_15k/meshes/backWheels.mesh" >
+ <Material id="chrome" name="chrome" blendmode="Normal" diffuse="0.668235 0.668235 0.705882" emissivepower="0" importid="chrome" opacity="100" specularamount="0" specularroughness="6.27451" >
+ <Image id="chrome_specularreflection" />
+ </Material>
+ <Material id="rubber" name="rubber" blendmode="Normal" diffuse="0.095729 0.095729 0.095729" emissivepower="0" importid="rubber" opacity="100" specularamount="0" specularroughness="7.84314" />
+ <Material id="rims" name="rims" blendmode="Normal" diffuse="0.142219 0.142219 0.142219" emissivepower="0" importid="rims" opacity="100" specularamount="0" specularroughness="6.27451" >
+ <Image id="rims_specularreflection" />
+ </Material>
+ <Material id="silver" name="silver" blendmode="Normal" diffuse="0.476863 0.486275 0.486275" emissivepower="0" importid="silver" opacity="100" specularamount="0" specularroughness="6.47059" >
+ <Image id="silver_specularreflection" />
</Material>
</Model>
+ <Model id="BodyBack" name="BodyBack" importid="BodyBack" orientation="Right Handed" position="-12.4369 103.274 765.204" rotation="-90 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="models/Sportscar_15k/meshes/BodyBack.mesh" >
+ <Material id="glass_tex" name="glass_tex" blendmode="Normal" diffuse="1 1 1" diffusemap="#glass_tex_diffusemap" emissivepower="0" importid="glass_tex" opacity="100" specularamount="0" specularroughness="5.88235" >
+ <Image id="glass_tex_diffusemap" name="glass_tex_diffusemap" importid="glass_tex_diffusemap" sourcepath="models/Sportscar_15k/maps/c_tex.jpg" />
+ <Image id="glass_tex_specularreflection" />
+ </Material>
+ <ReferencedMaterial id="chrome_001" />
+ <ReferencedMaterial id="silver_001" />
+ <Material id="body" name="body" blendmode="Normal" diffuse="0.527059 0.0313726 0.0313726" emissivepower="0" importid="body" opacity="100" specularamount="0" specularroughness="31.9608" >
+ <Image id="body_specularreflection" />
+ </Material>
+ <ReferencedMaterial id="rubber_001" />
+ <Material id="black" name="black" blendmode="Normal" diffuse="0 0 0" emissivepower="0" importid="black" opacity="100" specularamount="0" specularroughness="0.980392" >
+ <Image id="black_specularreflection" />
+ </Material>
+ <Material id="d_glass" name="d_glass" blendmode="Normal" diffuse="0.160894 0.16512 0.154057" emissivepower="0" importid="d_glass" opacity="100" specularamount="0" specularroughness="6.27451" >
+ <Image id="d_glass_specularreflection" />
+ </Material>
+ </Model>
+ <Model id="frontWheels" name="frontWheels" importid="frontWheels" orientation="Right Handed" position="326.242 131.284 -518.562" rotation="169.137 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="models/Sportscar_15k/meshes/frontWheels.mesh" >
+ <ReferencedMaterial id="chrome_002" />
+ <ReferencedMaterial id="rubber_002" />
+ <ReferencedMaterial id="rims_001" />
+ <ReferencedMaterial id="silver_002" />
+ </Model>
</Group>
- </Group>
+ </Component>
+ <Component id="Rectangle" >
+ <Model id="Rectangle_001" >
+ <Material id="Default" name="Default" >
+ <Image id="Default_diffusemap" />
+ </Material>
+ </Model>
+ </Component>
+ </Layer>
+ <Layer id="BackgroundContent" >
+ <Camera id="Camera_001" />
+ <Light id="Light_003" />
+ <Effect id="VignetteEffect_001" class="#VignetteEffect" />
+ <Component id="Map" >
+ <Model id="Map_001" >
+ <Material id="Material" >
+ <Image id="Material_diffusemap" />
+ </Material>
+ </Model>
+ </Component>
</Layer>
</Scene>
</Graph>
<Logic >
<State name="Master Slide" component="#Scene" >
- <Add ref="#Layer" multisampleaa="SSAA" probebright="500" />
- <Add ref="#Camera" fov="30" position="0 0 -400" />
- <Add ref="#Light" brightness="200" lightdiffuse="1 1 1" lightspecular="0 0.666667 1" lighttype="Point" pivot="100 0 0" position="0 0 -50" >
- <AnimationTrack property="rotation.x" type="EaseInOut" >0 0 100 100 5 0 100 100</AnimationTrack>
- <AnimationTrack property="rotation.y" type="EaseInOut" >0 0 100 100 5 0 100 100</AnimationTrack>
- <AnimationTrack property="rotation.z" type="EaseInOut" >0 45 100 100 5 -225 100 100</AnimationTrack>
+ <Add ref="#ClusterText" name="Telltales" multisampleaa="None" probebright="231" progressiveaa="None" temporalaa="True" />
+ <Add ref="#Camera_003" fov="8.16" orthographic="True" position="0 0 -435" />
+ <Add ref="#Telltales" name="Telltales" />
+ <Add ref="#TurnSignals" name="TurnSignals" />
+ <Add ref="#DateAndTime" name="DateAndTime" controlledproperty="dateAndTime textstring" font="TitilliumWeb-Regular" position="0 193 0" scale="0.2 0.2 0.2" size="120" textstring="Date and Time" />
+ <Add ref="#Cluster3D2" name="Cluster3D" aodither="False" multisampleaa="4x" probe2fade="1" probebright="231" probefov="169.26" probehorizon="-1" progressiveaa="None" temporalaa="False" />
+ <Add ref="#Camera_002" fov="8.16" position="0 0 -435" />
+ <Add ref="#Cluster_001" name="Cluster" position="0 0 0" />
+ <Add ref="#Background_001" name="Background" position="0 0 0" rotation="-90 0 0" scale="1.2 1.2 1.2" />
+ <Add ref="#MainGauges" name="MainGauges" />
+ <Add ref="#LeftGauge_001" name="LeftGauge" position="-52 0 0" rotation="-60 -30 0" scale="2 2 2" />
+ <Add ref="#GaugeBackground" name="GaugeBackground" locked="False" position="0 0 0" scale="1 1 1" />
+ <Add ref="#roundbg_1" name="roundbg_1" importfile="models/roundbg_1/roundbg_1.import" locked="False" scale="0.9 0.9 0.9" sourcepath="models/roundbg_1/roundbg_1.import" />
+ <Add ref="#qt_gauge_background_round_1" importfile="models/roundbg_1/roundbg_1.import" locked="False" />
+ <Add ref="#background_1" bumpamount="1" importfile="models/roundbg_1/roundbg_1.import" ior="0.18" locked="False" specularamount="0.5" specularreflection="#background_1_specularreflection" specularroughness="0.321" />
+ <Add ref="#background_1_diffusemap" importfile="models/roundbg_1/roundbg_1.import" locked="False" sourcepath="maps/gradient_lines_001.png" />
+ <Add ref="#background_1_specularreflection" locked="False" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#Ring_2" name="Ring_2" importfile="models/Ring_2/Ring_2.import" locked="False" sourcepath="models/Ring_2/Ring_2.import" />
+ <Add ref="#qt_gauge_ring_2" importfile="models/Ring_2/Ring_2.import" locked="False" />
+ <Add ref="#Default_white" diffuse="0.0980392 0.0980392 0.0980392" importfile="models/Ring_2/Ring_2.import" locked="False" specularamount="1" specularreflection="#Default_white_specularreflection" />
+ <Add ref="#Default_white_specularreflection" locked="False" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#GaugeNeedle" name="GaugeNeedle" controlledproperty="speed @timeline" position="0 -2.5 0" />
+ <Add ref="#GaugeTickmarks" name="GaugeTickmarks" />
+ <Add ref="#tickmark_260" name="tickmark_260" importfile="models/tickmark_260/tickmark_260.import" sourcepath="models/tickmark_260/tickmark_260.import" />
+ <Add ref="#qt_gauge_tickmarks_260" importfile="models/tickmark_260/tickmark_260.import" />
+ <Add ref="#Default_white_001" diffuse="1 1 1" importfile="models/tickmark_260/tickmark_260.import" />
+ <Add ref="#GaugeNumbers" name="GaugeNumbers" position="0.597784 2 0.170977" rotation="90 0 0" scale="0.17 0.17 0.17" />
+ <Add ref="#kmh260" name="kmh260" position="1.52588e-05 -3.8147e-06 11.4355" rotation="0 0 0" scale="1.024 1.024 1" sourcepath="#Rectangle" />
+ <Add ref="#Material_003" bumpamount="0.5" diffusemap="#Material_003_diffusemap" emissivepower="0" shaderlighting="None" />
+ <Add ref="#Material_003_diffusemap" sourcepath="maps/kmh260.png" />
+ <Add ref="#RightGauge_001" name="RightGauge" position="52 0 0" rotation="-60 30 0" scale="2 2 2" />
+ <Add ref="#GaugeBackground_001" name="GaugeBackground" position="0 0 0" scale="1 1 1" />
+ <Add ref="#roundbg_1_001" name="roundbg_1" importfile="models/roundbg_1/roundbg_1.import" scale="0.9 0.9 0.9" sourcepath="models/roundbg_1/roundbg_1.import" />
+ <Add ref="#qt_gauge_background_round_1_001" importfile="models/roundbg_1/roundbg_1.import" />
+ <Add ref="#background_1_001" bumpamount="1" importfile="models/roundbg_1/roundbg_1.import" ior="0.19" specularamount="0.5" specularreflection="#background_1_001_specularreflection" specularroughness="0.31069" />
+ <Add ref="#background_1_001_diffusemap" importfile="models/roundbg_1/roundbg_1.import" sourcepath="maps/gradient_lines_001.png" />
+ <Add ref="#background_1_001_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#Ring_2_001" name="Ring_2" importfile="models/Ring_2/Ring_2.import" sourcepath="models/Ring_2/Ring_2.import" />
+ <Add ref="#qt_gauge_ring_2_001" importfile="models/Ring_2/Ring_2.import" />
+ <Add ref="#Default_white_002" diffuse="0.0980392 0.0980392 0.0980392" importfile="models/Ring_2/Ring_2.import" specularamount="1" specularreflection="#Default_white_002_specularreflection" />
+ <Add ref="#Default_white_002_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#GaugeNeedle_002" name="GaugeNeedle" controlledproperty="rpm @timeline" position="0 0.5 0" />
+ <Add ref="#GaugeTickmarks_001" name="GaugeTickmarks" />
+ <Add ref="#tickmark_8_small" name="tickmark_8_small" importfile="models/tickmark_8_small/tickmark_8_small.import" scale="1.3 1.3 1.3" sourcepath="models/tickmark_8_small/tickmark_8_small.import" />
+ <Add ref="#qt_gauge_tickmarks_8_small" importfile="models/tickmark_8_small/tickmark_8_small.import" />
+ <Add ref="#Default_white_003" importfile="models/tickmark_8_small/tickmark_8_small.import" />
+ <Add ref="#GaugeNumbers_001" name="GaugeNumbers" rotation="90 0 0" scale="0.17 0.17 0.17" />
+ <Add ref="#Rpm7" name="Rpm7" position="1.77449 4.30839 0" scale="1.24 1.24 1.24" sourcepath="#Rectangle" />
+ <Add ref="#Material_004" diffusemap="#Material_004_diffusemap" shaderlighting="None" />
+ <Add ref="#Material_004_diffusemap" sourcepath="maps/Rpm7.png" />
+ <Add ref="#GaugeText_001" name="GaugeText" />
+ <Add ref="#Road3D" name="Road3D" aostrength="0" disabledepthtest="False" height="60" heightunits="percent" left="20" leftunits="percent" multisampleaa="SSAA" progressiveaa="8x" temporalaa="False" top="20" topunits="percent" width="60" widthunits="percent" />
+ <Add ref="#Camera_004" fov="51.12" orthographic="False" scaleanchor="Center" />
+ <Add ref="#Light_001" name="Light" brightness="200" expfade="0" lighttype="Point" position="0 0 -575" />
+ <Add ref="#VignetteEffect_002" name="VignetteEffect" vig_color="0 0 0" vig_radius="0.4" vig_strenght="15" />
+ <Add ref="#Rectangle" name="Rectangle" scale="0.8 0.8 0.8" />
+ <Add ref="#BackgroundContent" name="Map" aostrength="0" height="60" heightunits="percent" left="20" leftunits="percent" top="20" topunits="percent" width="60" widthunits="percent" />
+ <Add ref="#Camera_001" fov="4.58" />
+ <Add ref="#Light_003" name="Light" lighttype="Point" position="0 0 -23" />
+ <Add ref="#VignetteEffect_001" name="VignetteEffect" vig_color="0 0 0" vig_radius="0.35" vig_strenght="15" />
+ <Add ref="#Map" name="Map" />
+ <State id="Scene-Front" name="Front" playmode="Stop at end" playthroughto="Next" >
+ <Set ref="#Scene" >
+ <Action id="Scene-Action" eyeball="True" triggerObject="#Scene" event="onPressureDown" targetObject="#Scene" handler="Go to Slide" >
+ <HandlerArgument name="Slide" type="String" argtype="Slide" value="Angle" />
+ </Action>
+ </Set>
+ <Set ref="#ClusterText" endtime="4000" />
+ <Set ref="#Camera_003" endtime="4000" />
+ <Set ref="#Telltales" endtime="4000" />
+ <Set ref="#TurnSignals" endtime="4000" />
+ <Set ref="#DateAndTime" endtime="4000" />
+ <Set ref="#Cluster3D2" endtime="4000" />
+ <Set ref="#Camera_002" endtime="4000" />
+ <Set ref="#Cluster_001" endtime="4000" />
+ <Set ref="#Background_001" endtime="4000" />
+ <Set ref="#MainGauges" endtime="4000" />
+ <Set ref="#LeftGauge_001" endtime="4000" rotation="-90 0 0" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" dynamic="True" >0 -90 0 0 1 -90 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" dynamic="True" >0 0 0 0 1 0 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" dynamic="True" >0 0 0 0 1 0 0 0</AnimationTrack>
+ </Set>
+ <Set ref="#GaugeBackground" endtime="4000" />
+ <Set ref="#roundbg_1" endtime="4000" />
+ <Set ref="#qt_gauge_background_round_1" endtime="4000" />
+ <Set ref="#Ring_2" endtime="4000" />
+ <Set ref="#qt_gauge_ring_2" endtime="4000" />
+ <Set ref="#GaugeNeedle" endtime="4000" />
+ <Set ref="#GaugeTickmarks" endtime="4000" />
+ <Set ref="#tickmark_260" endtime="4000" />
+ <Set ref="#qt_gauge_tickmarks_260" endtime="4000" />
+ <Set ref="#GaugeNumbers" endtime="4000" />
+ <Set ref="#kmh260" endtime="4000" />
+ <Set ref="#RightGauge_001" endtime="4000" rotation="-90 0 0" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" dynamic="True" >0 -90 0 0 1 -90 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" dynamic="True" >0 0 0 0 1 0 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" dynamic="True" >0 0 0 0 1 0 0 0</AnimationTrack>
+ </Set>
+ <Set ref="#GaugeBackground_001" endtime="4000" />
+ <Set ref="#roundbg_1_001" endtime="4000" />
+ <Set ref="#qt_gauge_background_round_1_001" endtime="4000" />
+ <Set ref="#Ring_2_001" endtime="4000" />
+ <Set ref="#qt_gauge_ring_2_001" endtime="4000" />
+ <Set ref="#GaugeNeedle_002" endtime="4000" />
+ <Set ref="#GaugeTickmarks_001" endtime="4000" />
+ <Set ref="#tickmark_8_small" endtime="4000" />
+ <Set ref="#qt_gauge_tickmarks_8_small" endtime="4000" />
+ <Set ref="#GaugeNumbers_001" endtime="4000" />
+ <Set ref="#Rpm7" endtime="4000" />
+ <Set ref="#GaugeText_001" endtime="4000" />
+ <Set ref="#Road3D" endtime="4000" />
+ <Set ref="#Camera_004" endtime="4000" />
+ <Set ref="#Light_001" endtime="4000" />
+ <Set ref="#VignetteEffect_002" endtime="4000" />
+ <Set ref="#Rectangle" endtime="4000" />
+ <Set ref="#BackgroundContent" endtime="4000" eyeball="False" />
+ <Set ref="#Camera_001" endtime="4000" />
+ <Set ref="#Light_003" endtime="4000" />
+ <Set ref="#VignetteEffect_001" endtime="4000" />
+ <Set ref="#Map" endtime="4000" />
+ <Add ref="#Car" name="Car" endtime="4000" position="14.2649 -2.34836 -562.801" scale="0.15 0.15 0.15" />
+ </State>
+ <State id="Scene-Angle" name="Angle" initialplaystate="Play" playmode="Stop at end" playthroughto="Previous" >
+ <Set ref="#Scene" >
+ <Action id="Scene-Action_001" eyeball="True" triggerObject="#Scene" event="onPressureDown" targetObject="#Scene" handler="Go to Slide" >
+ <HandlerArgument name="Slide" type="String" argtype="Slide" value="Front" />
+ </Action>
+ </Set>
+ <Set ref="#ClusterText" endtime="3000" />
+ <Set ref="#Camera_003" endtime="3000" />
+ <Set ref="#Telltales" endtime="3000" />
+ <Set ref="#TurnSignals" endtime="3000" />
+ <Set ref="#DateAndTime" endtime="3000" />
+ <Set ref="#Cluster3D2" endtime="3000" />
+ <Set ref="#Camera_002" endtime="3000" />
+ <Set ref="#Cluster_001" endtime="3000" />
+ <Set ref="#Background_001" endtime="3000" />
+ <Set ref="#MainGauges" endtime="3000" />
+ <Set ref="#LeftGauge_001" endtime="3000" rotation="-60 -30 0" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" dynamic="True" >0 -90 0 0 1 -60 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" dynamic="True" >0 0 0 0 1 -30 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" dynamic="True" >0 0 0 0 1 0 0 0</AnimationTrack>
+ </Set>
+ <Set ref="#GaugeBackground" endtime="3000" />
+ <Set ref="#roundbg_1" endtime="3000" />
+ <Set ref="#qt_gauge_background_round_1" endtime="3000" />
+ <Set ref="#Ring_2" endtime="3000" />
+ <Set ref="#qt_gauge_ring_2" endtime="3000" />
+ <Set ref="#GaugeNeedle" endtime="3000" />
+ <Set ref="#GaugeTickmarks" endtime="3000" />
+ <Set ref="#tickmark_260" endtime="3000" />
+ <Set ref="#qt_gauge_tickmarks_260" endtime="3000" />
+ <Set ref="#GaugeNumbers" endtime="3000" />
+ <Set ref="#kmh260" endtime="3000" />
+ <Set ref="#RightGauge_001" endtime="3000" rotation="-60 30 0" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" dynamic="True" >0 -90 0 0 1 -60 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" dynamic="True" >0 0 0 0 1 30 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" dynamic="True" >0 0 0 0 1 0 0 0</AnimationTrack>
+ </Set>
+ <Set ref="#GaugeBackground_001" endtime="3000" />
+ <Set ref="#roundbg_1_001" endtime="3000" />
+ <Set ref="#qt_gauge_background_round_1_001" endtime="3000" />
+ <Set ref="#Ring_2_001" endtime="3000" />
+ <Set ref="#qt_gauge_ring_2_001" endtime="3000" />
+ <Set ref="#GaugeNeedle_002" endtime="3000" />
+ <Set ref="#GaugeTickmarks_001" endtime="3000" />
+ <Set ref="#tickmark_8_small" endtime="3000" />
+ <Set ref="#qt_gauge_tickmarks_8_small" endtime="3000" />
+ <Set ref="#GaugeNumbers_001" endtime="3000" />
+ <Set ref="#Rpm7" endtime="3000" />
+ <Set ref="#GaugeText_001" endtime="3000" />
+ <Set ref="#Road3D" endtime="3000" eyeball="False" />
+ <Set ref="#Camera_004" endtime="3000" />
+ <Set ref="#Light_001" endtime="3000" />
+ <Set ref="#VignetteEffect_002" endtime="3000" />
+ <Set ref="#Rectangle" endtime="3000" />
+ <Set ref="#BackgroundContent" endtime="3000" />
+ <Set ref="#Camera_001" endtime="3000" />
+ <Set ref="#Light_003" endtime="3000" />
+ <Set ref="#VignetteEffect_001" endtime="3000" />
+ <Set ref="#Map" endtime="3000" />
+ </State>
+ </State>
+ <State name="Master Slide" component="#TurnSignals" >
+ <Add ref="#TurnSignals_001" name="TurnSignals" />
+ <Add ref="#Icon_TurnLeft_ON2er" name="Icon_TurnLeft_ON2er" position="915.849 6.15812e-07 0" rotation="0 0 180" scale="0.7 0.7 1" sourcepath="#Rectangle" >
+ <AnimationTrack property="opacity" type="EaseInOut" >0 100 0 0 1 0 0 0</AnimationTrack>
+ </Add>
+ <Add ref="#Material_001" diffuse="1 1 1" diffusemap="#Material_001_diffusemap" shaderlighting="None" />
+ <Add ref="#Material_001_diffusemap" sourcepath="maps/Icon_TurnLeft_ON.png" />
+ <Add ref="#Icon_TurnLeft_ON" name="Icon_TurnLeft_ON" position="-913 0 0" scale="0.7 0.7 1" sourcepath="#Rectangle" >
+ <AnimationTrack property="opacity" type="EaseInOut" >0 100 0 0 1 0 0 0</AnimationTrack>
+ </Add>
+ <Add ref="#Material_002" diffuse="1 1 1" diffusemap="#Material_002_diffusemap" shaderlighting="None" />
+ <Add ref="#Material_002_diffusemap" sourcepath="maps/Icon_TurnLeft_ON.png" />
+ <State id="TurnSignals-Slide1" name="Slide1" playmode="Looping" >
+ <Set ref="#TurnSignals_001" endtime="1000" />
+ <Set ref="#Icon_TurnLeft_ON2er" endtime="1000" />
+ <Set ref="#Icon_TurnLeft_ON" endtime="1000" />
+ </State>
+ </State>
+ <State name="Master Slide" component="#GaugeNeedle" >
+ <Add ref="#GaugeNeedle_001" name="GaugeNeedle" endtime="3000" position="0 3 1.31134e-07" rotation="4.07111e-13 -136 4.07111e-13" scale="0.9 0.9 0.9" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" >0 0 0 0 10 6.10667e-13 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" >0 -136 0 0 10 134 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" >0 0 0 0 10 -1.01778e-12 0 0</AnimationTrack>
+ </Add>
+ <Add ref="#Light" name="Light" brightness="100" endtime="3000" lighttype="Point" position="0 10 12" >
+ <AnimationTrack property="lightdiffuse.x" type="EaseInOut" >0 1 100 100</AnimationTrack>
+ <AnimationTrack property="lightdiffuse.y" type="EaseInOut" >0 1 100 100</AnimationTrack>
+ <AnimationTrack property="lightdiffuse.z" type="EaseInOut" >0 1 100 100</AnimationTrack>
+ </Add>
+ <Add ref="#needle_2" name="needle_2" endtime="3000" importfile="models/needle_2/needle_2.import" sourcepath="models/needle_2/needle_2.import" />
+ <Add ref="#qt_gauge_needles_2" endtime="3000" importfile="models/needle_2/needle_2.import" />
+ <Add ref="#qt_gauge_needles:red_transparent" diffuse="1 1 1" importfile="models/needle_2/needle_2.import" shaderlighting="None" />
+ <Add ref="#qt_gauge_needles:black_solid" diffuse="0.34902 0.34902 0.34902" importfile="models/needle_2/needle_2.import" />
+ <Add ref="#qt_gauge_needles:solidWhite" diffuse="0 0 0" importfile="models/needle_2/needle_2.import" specularamount="2.5" specularreflection="#qt_gauge_needles:solidWhite_specularreflection" />
+ <Add ref="#qt_gauge_needles:solidWhite_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <State id="GaugeNeedle-Slide1" name="Slide1" initialplaystate="Play" playmode="PingPong" />
+ </State>
+ <State name="Master Slide" component="#GaugeNeedle_002" >
+ <Add ref="#GaugeNeedle_003" name="GaugeNeedle" endtime="3000" rotation="4.07111e-13 -136 4.07111e-13" scale="0.9 0.9 0.9" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" >0 4.07111e-13 0 0 7 0 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" >0 -136 0 0 7 136 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" >0 4.07111e-13 0 0 7 0 0 0</AnimationTrack>
</Add>
- <State id="Scene-Slide1" name="Slide1" playmode="PingPong" playthroughto="Next" >
- <Set ref="#Layer" endtime="5000" />
- <Set ref="#Camera" endtime="5000" />
- <Set ref="#Light" endtime="5000" />
- <Add ref="#Layer2" name="Layer2" endtime="5000" multisampleaa="None" progressiveaa="8x" />
- <Add ref="#Camera_001" endtime="5000" fov="30" position="0 0 -600" />
- <Add ref="#Light_001" endtime="5000" />
- <Add ref="#NeedleSpeed_001" name="NeedleSpeed" endtime="5000" importfile="models/Speedometer/Speedometer.import" pivot="5 5 0" >
- <AnimationTrack property="rotation.x" type="EaseInOut" >0 0 100 100 2.13 0 0 0 5 0 100 100</AnimationTrack>
- <AnimationTrack property="rotation.y" type="EaseInOut" >0 0 100 100 2.13 0 0 0 5 0 100 100</AnimationTrack>
- <AnimationTrack property="rotation.z" type="EaseInOut" >0 0 100 100 2.13 -105.249 0 0 5 -270 100 100</AnimationTrack>
+ <Add ref="#Light_002" name="Light" brightness="100" endtime="3000" lighttype="Point" position="0 10 12" />
+ <Add ref="#needle_2_001" name="needle_2" endtime="3000" importfile="models/needle_2/needle_2.import" sourcepath="models/needle_2/needle_2.import" />
+ <Add ref="#qt_gauge_needles_2_001" endtime="3000" importfile="models/needle_2/needle_2.import" />
+ <Add ref="#qt_gauge_needles:red_transparent_001" importfile="models/needle_2/needle_2.import" shaderlighting="None" />
+ <Add ref="#qt_gauge_needles:black_solid_001" diffuse="0.34902 0.34902 0.34902" importfile="models/needle_2/needle_2.import" shaderlighting="Pixel" />
+ <Add ref="#qt_gauge_needles:solidWhite_001" diffuse="0 0 0" importfile="models/needle_2/needle_2.import" specularamount="2.5" specularreflection="#qt_gauge_needles:solidWhite_001_specularreflection" />
+ <Add ref="#qt_gauge_needles:solidWhite_001_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <State id="GaugeNeedle-Slide1_001" name="Slide1" initialplaystate="Play" playmode="PingPong" >
+ <Set ref="#GaugeNeedle_003" endtime="7000" />
+ <Set ref="#Light_002" endtime="7000" />
+ <Set ref="#needle_2_001" endtime="7000" />
+ <Set ref="#qt_gauge_needles_2_001" endtime="7000" />
+ </State>
+ </State>
+ <State name="Master Slide" component="#Car" >
+ <State id="Car-Slide1" name="Slide1" playmode="Looping" >
+ <Add ref="#Sportscar_15k" name="Sportscar_15k" endtime="4000" importfile="models/Sportscar_15k/Sportscar_15k.import" position="0 -65.64 0" rotation="0 -180 0" scale="0.1 0.1 0.1" sourcepath="models/Sportscar_15k/Sportscar_15k.import" >
+ <AnimationTrack property="position.x" type="EaseInOut" >0 0 0 0 2 -96.16 0 0 4 0 0 0</AnimationTrack>
+ <AnimationTrack property="position.y" type="EaseInOut" >0 -65.64 0 0 2 -65.64 0 0 4 -65.64 0 0</AnimationTrack>
+ <AnimationTrack property="position.z" type="EaseInOut" >0 0 0 0 2 0 0 0 4 0 0 0</AnimationTrack>
+ </Add>
+ <Add ref="#BodyFront" endtime="4000" importfile="models/Sportscar_15k/Sportscar_15k.import" />
+ <Add ref="#glass_tex2" name="glass_tex2" endtime="4000" referencedmaterial="#glass_tex" />
+ <Add ref="#rubber2" name="rubber2" endtime="4000" referencedmaterial="#rubber" />
+ <Add ref="#black2" importfile="models/Sportscar_15k/Sportscar_15k.import" />
+ <Add ref="#body2" name="body2" endtime="4000" referencedmaterial="#body" />
+ <Add ref="#backWheels" endtime="4000" importfile="models/Sportscar_15k/Sportscar_15k.import" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" >0 0 0 0 4 900 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" >0 0 0 0 4 0 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" >0 0 0 0 4 0 0 0</AnimationTrack>
</Add>
- <Add ref="#NeedleBlack_002" diffuse="0 0.333333 1" importfile="models/Speedometer/Speedometer.import" />
- <Add ref="#NeedleWhite_002" name="NeedleWhite" diffuse="1 1 1" specularamount="0" />
- <Add ref="#Corona_001" name="Corona" GlowCol="0 0.333333 1" NoiseRatio="0" NoiseScale="0" Trailfade="0.96" endtime="5000" />
- <Add ref="#Speedometer" name="Speedometer" endtime="5000" importfile="models/Speedometer/Speedometer.import" position="0 0 0" scale="0.7 0.7 0.7" sourcepath="models/Speedometer/Speedometer.import" />
- <Add ref="#Group_Speedometer_Master" endtime="5000" importfile="models/Speedometer/Speedometer.import" />
- <Add ref="#Speedometer_001" endtime="5000" importfile="models/Speedometer/Speedometer.import" />
- <Add ref="#BaseMetal" name="BaseMetal" glass_color="0 0.333333 1" />
- <Add ref="#HighLight" name="HighLight" endtime="5000" referencedmaterial="#BaseMetal" />
- <Add ref="#NeedleWhite_001" importfile="models/Speedometer/Speedometer.import" />
- <Add ref="#BlackMetalRing" diffuse="0 0.0862745 0.596078" importfile="models/Speedometer/Speedometer.import" specularamount="0" />
- <Add ref="#NeedleBlack_001" importfile="models/Speedometer/Speedometer.import" />
- <Add ref="#SpeedometerBg" diffuse="0.270588 0.501961 1" importfile="models/Speedometer/Speedometer.import" specularamount="0.1" specularroughness="1" speculartint="0.529412 0.772549 1" />
- <Add ref="#SpeedometerBg_diffusemap" importfile="models/Speedometer/Speedometer.import" />
+ <Add ref="#chrome" importfile="models/Sportscar_15k/Sportscar_15k.import" specularamount="0.5" specularmodel="Default" specularreflection="#chrome_specularreflection" specularroughness="1" />
+ <Add ref="#chrome_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#rubber" importfile="models/Sportscar_15k/Sportscar_15k.import" specularamount="0.1" />
+ <Add ref="#rims" importfile="models/Sportscar_15k/Sportscar_15k.import" specularamount="1" specularreflection="#rims_specularreflection" specularroughness="1" />
+ <Add ref="#rims_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#silver" importfile="models/Sportscar_15k/Sportscar_15k.import" specularamount="0.2" specularreflection="#silver_specularreflection" />
+ <Add ref="#silver_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#BodyBack" endtime="4000" importfile="models/Sportscar_15k/Sportscar_15k.import" />
+ <Add ref="#glass_tex" importfile="models/Sportscar_15k/Sportscar_15k.import" specularreflection="#glass_tex_specularreflection" />
+ <Add ref="#glass_tex_diffusemap" importfile="models/Sportscar_15k/Sportscar_15k.import" />
+ <Add ref="#glass_tex_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#chrome_001" name="chrome" endtime="4000" referencedmaterial="#chrome" />
+ <Add ref="#silver_001" name="silver" endtime="4000" referencedmaterial="#silver" />
+ <Add ref="#body" diffuse="0.286275 0.396078 0.556863" importfile="models/Sportscar_15k/Sportscar_15k.import" ior="0.29" specularamount="0.6" specularreflection="#body_specularreflection" specularroughness="1" speculartint="0.376471 0.376471 0.376471" />
+ <Add ref="#body_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#rubber_001" name="rubber" endtime="4000" referencedmaterial="#rubber" />
+ <Add ref="#black" importfile="models/Sportscar_15k/Sportscar_15k.import" specularreflection="#black_specularreflection" />
+ <Add ref="#black_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#d_glass" diffuse="0.423529 0.423529 0.423529" importfile="models/Sportscar_15k/Sportscar_15k.import" specularamount="0.2" specularreflection="#d_glass_specularreflection" />
+ <Add ref="#d_glass_specularreflection" mappingmode="Environmental Mapping" sourcepath="maps/OpenfootageNET_garage-512.hdr" />
+ <Add ref="#frontWheels" endtime="4000" importfile="models/Sportscar_15k/Sportscar_15k.import" >
+ <AnimationTrack property="rotation.x" type="EaseInOut" >0 0 0 0 4 900 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.y" type="EaseInOut" >0 0 0 0 4 0 0 0</AnimationTrack>
+ <AnimationTrack property="rotation.z" type="EaseInOut" >0 0 0 0 4 0 0 0</AnimationTrack>
+ </Add>
+ <Add ref="#chrome_002" name="chrome" endtime="4000" referencedmaterial="#chrome" />
+ <Add ref="#rubber_002" name="rubber" endtime="4000" referencedmaterial="#rubber" />
+ <Add ref="#rims_001" name="rims" endtime="4000" referencedmaterial="#rims" />
+ <Add ref="#silver_002" name="silver" endtime="4000" referencedmaterial="#silver" />
+ </State>
+ </State>
+ <State name="Master Slide" component="#Rectangle" >
+ <Add ref="#Rectangle_001" name="Rectangle" endtime="3000" opacity="100" position="0 -15 -518" rotation="90 0 0" scale="0.586792 95.052 1" sourcepath="#Rectangle" />
+ <Add ref="#Default" diffusemap="#Default_diffusemap" />
+ <Add ref="#Default_diffusemap" scalev="100" sourcepath="maps/road.png" tilingmodehorz="Tiled" tilingmodevert="Tiled" >
+ <AnimationTrack property="positionv" type="EaseInOut" >0 0 0 0 4 0.1 0 0</AnimationTrack>
+ </Add>
+ <State id="Rectangle-Slide1" name="Slide1" playmode="Looping" >
+ <Set ref="#Rectangle_001" endtime="4000" />
+ </State>
+ </State>
+ <State name="Master Slide" component="#Map" >
+ <Add ref="#Map_001" name="Map" edgetess="1" endtime="3000" innertess="64" position="0 0 0" rotation="60 0 0" scale="1.4 1.4 1" sourcepath="#Rectangle" tessellation="None" />
+ <Add ref="#Material" bumpamount="4.5" diffuselightwrap="0.24" diffusemap="#Material_diffusemap" displaceamount="0" fresnelPower="0" ior="0.17" opacity="100" shaderlighting="Pixel" specularamount="0.05" specularmodel="Default" specularroughness="0.11089" speculartint="0.607843 0.607843 0.607843" />
+ <Add ref="#Material_diffusemap" scaleu="1" scalev="1" sourcepath="scripts/Map.jpg" subpresentation="mapView" tilingmodehorz="Tiled" tilingmodevert="Tiled" />
+ <State id="Map-Slide1" name="Slide1" playmode="Looping" >
+ <Set ref="#Map_001" endtime="25000" />
</State>
</State>
</Logic>
diff --git a/examples/studio3d/SampleProject/effects/Corona.effect b/examples/studio3d/SampleProject/effects/Corona.effect
deleted file mode 100644
index 4fc77755..00000000
--- a/examples/studio3d/SampleProject/effects/Corona.effect
+++ /dev/null
@@ -1,97 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<Effect>
- <MetaData>
- <!--Creates a corona around a sprite.-->
- <Property name="HBlurBias" formalName="Horizontal Blur" min="0" max="10" default="2" description="Amount of corona horizontally."/>
- <Property name="VBlurBias" formalName="Vertical Blur" min="0" max="10" default="2" description="Amount of corona vertically."/>
- <Property name="Trailfade" formalName="Fade Amount" min="0" max="1" default="0.8" description="0=no glow, 0.5=fade quickly, 1.0=persistent trails"/>
- <Property name="GlowSampler" filter="nearest" clamp="clamp" type="Texture" />
- <Property name="GlowCol" formalName="Glow Color" type="Color" default="1 0.6 0.0" description="The color to use for the glow."/>
- <Property name="NoiseSamp" formalName="Noise" filter="linear" clamp="repeat" default="./maps/effects/noise.png" type="Texture" description="Texture to be used for the noise texture"/>
- <Property name="NoiseScale" formalName="Noise Density" min="0" max="10" default="2" description="The density of the noise in corona. The higher the value, the denser and smaller of the noise; the lower the value, the bigger of the noise scale."/>
- <Property name="NoiseBright" formalName="Noise Brightness" min="0" max="5" default="4" description="Brightness of the noise."/>
- <Property name="NoiseRatio" formalName="Noise Amount" min="0" max="1" default=".15" description="Magnitude of the noise."/>
- <Property name="CrawlLen" formalName="Crawl Length" min="0" max="1" default=".3" description="Length of the corona trail in animation."/>
- <Property name="CrawlAngle" formalName="Crawl Angle" default="0" description="Angle of the corona trail in animation."/>
- <Property name="Sprite" filter="nearest" clamp="clamp" type="Texture" />
- </MetaData>
- <Shaders>
- <Shared>
-#include "blur.glsllib"
-uniform float AppFrame; // frame number since app starts
-uniform float FPS;
- </Shared>
- <Shader name="CORONA_HBLUR">
- <Shared>
-varying vec2 crawl; // corona crawl direction and magnitude
- </Shared>
- <VertexShader>
-void vert ()
-{
- SetupHorizontalGaussianBlur(Texture0Info.x, HBlurBias, TexCoord);
- // compute crawl
- float alpha = radians(CrawlAngle + 180.0);
- crawl = vec2(CrawlLen * sin(alpha), CrawlLen * cos(alpha));
-}
- </VertexShader>
- <FragmentShader>
-void frag()
-{
- //Passing in 1.0 means the value will not get alpha-multiplied again
- float OutCol = GaussianAlphaBlur( GlowSampler, 1.0 );
- OutCol *= Trailfade; // fade away glow color
- OutCol += texture2D_0( TexCoord ).a; // add glow color in the original tex area
-
- vec2 nuv = NoiseScale * TexCoord3 + AppFrame / FPS * crawl;
- vec4 noise = texture2D_NoiseSamp(fract(nuv));
- float ns = (1.0 - NoiseRatio) + NoiseRatio * NoiseBright * noise.x;
- OutCol *= ns;
- gl_FragColor = vec4( OutCol );
-}
- </FragmentShader>
- </Shader>
- <Shader name="CORONA_VBLUR">
- <VertexShader>
-void vert ()
-{
- SetupVerticalGaussianBlur( Texture0Info.y, VBlurBias, TexCoord );
-}
- </VertexShader>
- <FragmentShader>
-void frag() // PS_Blur_Vertical_9tap
-{
- float OutCol = GaussianAlphaBlur( Texture0, Texture0Info.z );
- gl_FragColor = OutCol * vec4(GlowCol, 1.0);
-}
- </FragmentShader>
- </Shader>
- <Shader name="CORONA_BLEND">
- <VertexShader>
-void vert()
-{
-}
- </VertexShader>
- <FragmentShader>
-void frag ()
-{
- vec4 src = texture2D_0( TexCoord );
- vec4 dst = texture2D_Sprite(TexCoord);
- colorOutput( src * (1.0 - dst.a) + dst );
-}
- </FragmentShader>
- </Shader>
- </Shaders>
- <Passes>
- <Buffer name="glow_buffer" type="ubyte" format="rgba" filter="linear" wrap="clamp" size="0.55" lifetime="scene"/>
- <Buffer name="temp_buffer" type="ubyte" format="rgba" filter="linear" wrap="clamp" size="0.55" lifetime="frame"/>
-
- <Pass shader="CORONA_HBLUR" input="[source]" output="temp_buffer">
- <BufferInput param="GlowSampler" value="glow_buffer"/>
- </Pass>
- <Pass shader="CORONA_VBLUR" input="temp_buffer" output="glow_buffer"/>
-
- <Pass shader="CORONA_BLEND" input="glow_buffer">
- <BufferInput param="Sprite" value="[source]"/>
- </Pass>
- </Passes>
-</Effect>
diff --git a/examples/studio3d/SampleProject/effects/VignetteEffect.effect b/examples/studio3d/SampleProject/effects/VignetteEffect.effect
new file mode 100644
index 00000000..a4591208
--- /dev/null
+++ b/examples/studio3d/SampleProject/effects/VignetteEffect.effect
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Effect>
+ <MetaData>
+ <Property name="vig_color" formalName="Vignet Color" type="Color" default="0.5 0.5 0.5" description="The color to use for the Vignetting."/>
+ <Property name="vig_strenght" formalName="Strenght" min="0" max="15" default="15.0" description="Strenght of Vignetting."/>
+ <Property name="vig_radius" formalName="Radius" min="0" max="5" default="0.35" description="Size of Vignetting."/>
+ </MetaData>
+ <Shaders>
+ <Shared></Shared>
+ <VertexShaderShared></VertexShaderShared>
+ <FragmentShaderShared></FragmentShaderShared>
+ <Shader name="main">
+ <VertexShader></VertexShader>
+ <FragmentShader><![CDATA[
+
+void frag()
+{
+ float radius = vig_radius;
+ vec4 origColor = texture2D_0(TexCoord);
+ vec2 uv = TexCoord.xy;
+ vec2 center = vec2(0.5);
+
+ vec4 bg = origColor;
+
+ uv *= 1.0 - uv.yx;
+ float vig = uv.x*uv.y * vig_strenght;
+ vig = pow(vig, vig_radius);
+
+ vec4 vigmixcolor = vec4(vig_color,vig) * vec4(vig);
+ gl_FragColor = vec4(mix(origColor,vigmixcolor,1.0-vig));
+
+}
+ ]]></FragmentShader>
+ </Shader>
+ </Shaders>
+ <Passes>
+ <Pass shader="main" input="[source]" output="[dest]"/>
+ </Passes>
+</Effect>
+
+
diff --git a/examples/studio3d/SampleProject/fonts/TitilliumWeb-Regular.ttf b/examples/studio3d/SampleProject/fonts/TitilliumWeb-Regular.ttf
new file mode 100644
index 00000000..6da82193
--- /dev/null
+++ b/examples/studio3d/SampleProject/fonts/TitilliumWeb-Regular.ttf
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/Icon_TurnLeft_ON.png b/examples/studio3d/SampleProject/maps/Icon_TurnLeft_ON.png
new file mode 100644
index 00000000..d886ede9
--- /dev/null
+++ b/examples/studio3d/SampleProject/maps/Icon_TurnLeft_ON.png
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/OpenfootageNET_garage-512.hdr b/examples/studio3d/SampleProject/maps/OpenfootageNET_garage-512.hdr
new file mode 100644
index 00000000..015b4789
--- /dev/null
+++ b/examples/studio3d/SampleProject/maps/OpenfootageNET_garage-512.hdr
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/Rpm7.png b/examples/studio3d/SampleProject/maps/Rpm7.png
new file mode 100644
index 00000000..08ba173e
--- /dev/null
+++ b/examples/studio3d/SampleProject/maps/Rpm7.png
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/effects/noise.dds b/examples/studio3d/SampleProject/maps/effects/noise.dds
deleted file mode 100644
index fdb5f205..00000000
--- a/examples/studio3d/SampleProject/maps/effects/noise.dds
+++ /dev/null
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/gradient_lines_001.png b/examples/studio3d/SampleProject/maps/gradient_lines_001.png
new file mode 100644
index 00000000..f63aa7cc
--- /dev/null
+++ b/examples/studio3d/SampleProject/maps/gradient_lines_001.png
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/kmh260.png b/examples/studio3d/SampleProject/maps/kmh260.png
new file mode 100644
index 00000000..7a4aac67
--- /dev/null
+++ b/examples/studio3d/SampleProject/maps/kmh260.png
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/materials/shadow.png b/examples/studio3d/SampleProject/maps/materials/shadow.png
deleted file mode 100644
index 599b1ccc..00000000
--- a/examples/studio3d/SampleProject/maps/materials/shadow.png
+++ /dev/null
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/materials/spherical_checker.png b/examples/studio3d/SampleProject/maps/materials/spherical_checker.png
deleted file mode 100644
index e42394dd..00000000
--- a/examples/studio3d/SampleProject/maps/materials/spherical_checker.png
+++ /dev/null
Binary files differ
diff --git a/examples/studio3d/SampleProject/maps/road.png b/examples/studio3d/SampleProject/maps/road.png
new file mode 100644
index 00000000..ace1f612
--- /dev/null
+++ b/examples/studio3d/SampleProject/maps/road.png
Binary files differ
diff --git a/examples/studio3d/SampleProject/materials/simple_glass.material b/examples/studio3d/SampleProject/materials/simple_glass.material
deleted file mode 100644
index a6b4ee09..00000000
--- a/examples/studio3d/SampleProject/materials/simple_glass.material
+++ /dev/null
@@ -1,197 +0,0 @@
-<Material name="simple_glass" version="1.0">
- <MetaData >
- <Property formalName="Environment Map" name="uEnvironmentTexture" description="Environment texture for the material" type="Texture" filter="linear" minfilter="linearMipmapLinear" clamp="repeat" usage="environment" default="./maps/materials/spherical_checker.png" category="Material"/>
- <Property formalName="Enable Environment" name="uEnvironmentMappingEnabled" description="Enable environment mapping" type="Boolean" default="True" category="Material"/>
- <Property formalName="Baked Shadow Map" name="uBakedShadowTexture" description="Baked shadow texture for the material" type="Texture" filter="linear" minfilter="linearMipmapLinear" clamp="repeat" usage="shadow" default="./maps/materials/shadow.png" category="Material"/>
- <Property formalName="Enable Shadow Mapping" name="uShadowMappingEnabled" description="Enable shadow mapping" type="Boolean" default="False" category="Material"/>
- <Property formalName="Fresnel Power" name="uFresnelPower" description="Fresnel power of the material" type="Float" default="1.0" category="Material"/>
- <Property formalName="Minimum Opacity" name="uMinOpacity" description="Minimum opacity of the material" type="Float" default="0.5" category="Material"/>
- <Property formalName="Reflectivity" name="reflectivity_amount" type="Float" min="0.000000" max="1.000000" default="1.000000" description="Reflectivity factor" category="Material"/>
- <Property formalName="Glass ior" name="glass_ior" hidden="True" type="Float" default="1.100000" description="Index of refraction of the material" category="Material"/>
- <Property formalName="Glass Color" name="glass_color" type="Color" default="0.9 0.9 0.9" description="Color of the material" category="Material"/>
- </MetaData>
- <Shaders type="GLSL" version="330">
- <Shader>
- <Shared> </Shared>
-<VertexShader>
- </VertexShader>
- <FragmentShader>
-
-// add enum defines
-#define scatter_reflect 0
-#define scatter_transmit 1
-#define scatter_reflect_transmit 2
-
-#define QT3DS_ENABLE_UV0 1
-#define QT3DS_ENABLE_WORLD_POSITION 1
-#define QT3DS_ENABLE_TEXTAN 1
-#define QT3DS_ENABLE_BINORMAL 0
-
-#include "vertexFragmentBase.glsllib"
-
-// set shader output
-out vec4 fragColor;
-
-// add structure defines
-struct layer_result
-{
- vec4 base;
- vec4 layer;
- mat3 tanFrame;
-};
-
-
-// temporary declarations
-vec3 ftmp0;
- vec4 tmpShadowTerm;
-
-layer_result layers[1];
-
-#include "SSAOCustomMaterial.glsllib"
-#include "sampleLight.glsllib"
-#include "sampleProbe.glsllib"
-#include "sampleArea.glsllib"
-#include "square.glsllib"
-#include "calculateRoughness.glsllib"
-#include "evalBakedShadowMap.glsllib"
-#include "evalEnvironmentMap.glsllib"
-#include "luminance.glsllib"
-#include "microfacetBSDF.glsllib"
-#include "physGlossyBSDF.glsllib"
-#include "simpleGlossyBSDF.glsllib"
-#include "abbeNumberIOR.glsllib"
-#include "fresnelLayer.glsllib"
-#include "refraction.glsllib"
-
-bool evalTwoSided()
-{
- return( true );
-}
-
-vec3 computeFrontMaterialEmissive()
-{
- return( vec3( 0, 0, 0 ) );
-}
-
-void computeFrontLayerColor( in vec3 normal, in vec3 lightDir, in vec3 viewDir, in vec3 lightDiffuse, in vec3 lightSpecular, in float materialIOR, float aoFactor )
-{
-#if QT3DS_ENABLE_CG_LIGHTING
- layers[0].base += tmpShadowTerm * microfacetBSDF( layers[0].tanFrame, lightDir, viewDir, lightSpecular, materialIOR, 0.000000, 0.000000, scatter_reflect_transmit );
-
-#endif
-}
-
-void computeFrontAreaColor( in int lightIdx, in vec4 lightDiffuse, in vec4 lightSpecular )
-{
-#if QT3DS_ENABLE_CG_LIGHTING
- layers[0].base += tmpShadowTerm * lightSpecular * sampleAreaGlossy( layers[0].tanFrame, varWorldPos, lightIdx, viewDir, 0.000000, 0.000000 );
-
-#endif
-}
-
-void computeFrontLayerEnvironment( in vec3 normal, in vec3 viewDir, float aoFactor )
-{
-#if !QT3DS_ENABLE_LIGHT_PROBE
- layers[0].base += tmpShadowTerm * microfacetSampledBSDF( layers[0].tanFrame, viewDir, 0.000000, 0.000000, scatter_reflect_transmit );
-
-#else
- layers[0].base += tmpShadowTerm * sampleGlossyAniso( layers[0].tanFrame, viewDir, 0.000000, 0.000000 );
-
-#endif
-}
-
-vec3 computeBackMaterialEmissive()
-{
- return( vec3(0, 0, 0) );
-}
-
-void computeBackLayerColor( in vec3 normal, in vec3 lightDir, in vec3 viewDir, in vec3 lightDiffuse, in vec3 lightSpecular, in float materialIOR, float aoFactor )
-{
-#if QT3DS_ENABLE_CG_LIGHTING
- layers[0].base += vec4( 0.0, 0.0, 0.0, 1.0 );
- layers[0].layer += vec4( 0.0, 0.0, 0.0, 1.0 );
-#endif
-}
-
-void computeBackAreaColor( in int lightIdx, in vec4 lightDiffuse, in vec4 lightSpecular )
-{
-#if QT3DS_ENABLE_CG_LIGHTING
- layers[0].base += vec4( 0.0, 0.0, 0.0, 1.0 );
- layers[0].layer += vec4( 0.0, 0.0, 0.0, 1.0 );
-#endif
-}
-
-void computeBackLayerEnvironment( in vec3 normal, in vec3 viewDir, float aoFactor )
-{
-#if !QT3DS_ENABLE_LIGHT_PROBE
- layers[0].base += vec4( 0.0, 0.0, 0.0, 1.0 );
- layers[0].layer += vec4( 0.0, 0.0, 0.0, 1.0 );
-#else
- layers[0].base += vec4( 0.0, 0.0, 0.0, 1.0 );
- layers[0].layer += vec4( 0.0, 0.0, 0.0, 1.0 );
-#endif
-}
-
-float computeIOR()
-{
- return( true ? 1.0 : luminance( vec3( abbeNumberIOR(glass_ior, 0.000000 ) ) ) );
-}
-
-float evalCutout()
-{
- return( 1.000000 );
-}
-
-vec3 computeNormal()
-{
- return( normal );
-}
-
-void computeTemporaries()
-{
- ftmp0 = vec3( reflectivity_amount );
- tmpShadowTerm = evalBakedShadowMap( texCoord0 );
-}
-
-vec4 computeLayerWeights( in float alpha )
-{
- vec4 color;
- color = layers[0].base * vec4( ftmp0, 1.0);
- return color;
-}
-
-
-void initializeLayerVariables(void)
-{
- // clear layers
- layers[0].base = vec4(0.0, 0.0, 0.0, 1.0);
- layers[0].layer = vec4(0.0, 0.0, 0.0, 1.0);
- layers[0].tanFrame = orthoNormalize( tangentFrame( normal, varWorldPos ) );
-}
-
-vec4 computeGlass(in vec3 normal, in float materialIOR, in float alpha, in vec4 color)
-{
- vec4 rgba = color;
- float ratio = simpleFresnel( normal, materialIOR, uFresnelPower );
- vec3 absorb_color = ( log( glass_color )/-1.000000 );
- // prevent log(0) -> inf number issue
- if ( isinf(absorb_color.r) ) absorb_color.r = 1.0;
- if ( isinf(absorb_color.g) ) absorb_color.g = 1.0;
- if ( isinf(absorb_color.b) ) absorb_color.b = 1.0;
- rgba.rgb = mix(vec3(1.0) - absorb_color, rgba.rgb * (vec3(1.0) - absorb_color), ratio);
- rgba.a = mix(uMinOpacity, alpha, ratio);
- return rgba;
-}
-
- </FragmentShader>
- </Shader>
- </Shaders>
-<Passes >
- <ShaderKey value="36"/>
- <LayerKey count="1"/>
- <Pass >
- <Blending source="SrcAlpha" dest="OneMinusSrcAlpha"/>
- <RenderState name="CullFace"/>
- </Pass>
-</Passes>
-</Material>
diff --git a/examples/studio3d/SampleProject/models/Ring_2/Ring_2.import b/examples/studio3d/SampleProject/models/Ring_2/Ring_2.import
new file mode 100644
index 00000000..ca9354dc
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Ring_2/Ring_2.import
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP Version="1" >
+ <Project Revision="1" >
+ <Graph >
+ <Group id="__import__root__" >
+ <Model id="qt_gauge_ring_2" name="qt_gauge_ring_2" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/qt_gauge_ring_2.mesh" >
+ <Material id="Default_white" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" opacity="100" specularamount="0" />
+ </Model>
+ </Group>
+ </Graph>
+ <Import SrcFile="../../../../3D Models/Automotive/Cluster/Other/Ring_2.fbx" ImageDir="Images" MeshDir="Meshes" >
+ <Mesh >
+ <Source >qt_gauge_ring_2</Source>
+ <Dest >meshes/qt_gauge_ring_2.mesh</Dest>
+ </Mesh>
+ </Import>
+ </Project>
+</UIP>
diff --git a/examples/studio3d/SampleProject/models/Ring_2/meshes/qt_gauge_ring_2.mesh b/examples/studio3d/SampleProject/models/Ring_2/meshes/qt_gauge_ring_2.mesh
new file mode 100644
index 00000000..743e448c
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Ring_2/meshes/qt_gauge_ring_2.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Speedometer/Speedometer.import b/examples/studio3d/SampleProject/models/Speedometer/Speedometer.import
deleted file mode 100644
index d74ef62d..00000000
--- a/examples/studio3d/SampleProject/models/Speedometer/Speedometer.import
+++ /dev/null
@@ -1,39 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" ?>
-<UIP Version="1" >
- <Project Revision="1" >
- <Graph >
- <Group id="__import__root__" >
- <Group id="Group_Speedometer_Master" name="Group_Speedometer_Master" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" >
- <Model id="NeedleSpeed" name="NeedleSpeed" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/NeedleSpeed.mesh" >
- <Material id="NeedleBlack" name="NeedleBlack" blendmode="Normal" diffuse="0 0 0" emissivepower="0" opacity="100" specularamount="0" specularroughness="9.41177" />
- <Material id="NeedleWhite" name="NeedleWhite" blendmode="Normal" diffuse="0.8 0.8 0.8" emissivepower="0" opacity="100" specularamount="0" specularroughness="27.451" />
- </Model>
- <Model id="Speedometer" name="Speedometer" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/Speedometer.mesh" >
- <Material id="BaseMetal" name="BaseMetal" blendmode="Normal" diffuse="0.01728 0.01728 0.01728" emissivepower="0" opacity="100" specularamount="0" specularroughness="11.3725" />
- <Material id="HighLight" name="HighLight" blendmode="Normal" diffuse="0.298 0.54088 0.8" emissivepower="0" opacity="66.8675" specularamount="0" specularroughness="100" />
- <Material id="NeedleWhite_0005" name="NeedleWhite" blendmode="Normal" diffuse="0.8 0.8 0.8" emissivepower="0" opacity="100" specularamount="0" specularroughness="27.451" />
- <Material id="BlackMetalRing" name="BlackMetalRing" blendmode="Normal" diffuse="0.0578313 0.0578313 0.0578313" emissivepower="0" opacity="100" specularamount="0" specularroughness="99.8039" />
- <Material id="NeedleBlack_0006" name="NeedleBlack" blendmode="Normal" diffuse="0 0 0" emissivepower="0" opacity="100" specularamount="0" specularroughness="9.41177" />
- <Material id="SpeedometerBg" name="SpeedometerBg" blendmode="Normal" diffuse="1 1 1" diffusemap="SpeedometerBg_diffusemap" emissivepower="0" opacity="100" specularamount="0" specularroughness="9.41177" >
- <Image id="SpeedometerBg_diffusemap" name="SpeedometerBg_diffusemap" sourcepath="maps/Speed.png" />
- </Material>
- </Model>
- </Group>
- </Group>
- </Graph>
- <Import SrcFile="" ImageDir="Images" MeshDir="Meshes" >
- <Image >
- <Source >Speed.png</Source>
- <Dest >maps/Speed.png</Dest>
- </Image>
- <Mesh >
- <Source >Speedometer</Source>
- <Dest >meshes/Speedometer.mesh</Dest>
- </Mesh>
- <Mesh >
- <Source >NeedleSpeed</Source>
- <Dest >meshes/NeedleSpeed.mesh</Dest>
- </Mesh>
- </Import>
- </Project>
-</UIP>
diff --git a/examples/studio3d/SampleProject/models/Speedometer/maps/Speed.png b/examples/studio3d/SampleProject/models/Speedometer/maps/Speed.png
deleted file mode 100644
index 84b7e4db..00000000
--- a/examples/studio3d/SampleProject/models/Speedometer/maps/Speed.png
+++ /dev/null
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Speedometer/meshes/NeedleSpeed.mesh b/examples/studio3d/SampleProject/models/Speedometer/meshes/NeedleSpeed.mesh
deleted file mode 100644
index 72220cd6..00000000
--- a/examples/studio3d/SampleProject/models/Speedometer/meshes/NeedleSpeed.mesh
+++ /dev/null
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Speedometer/meshes/Speedometer.mesh b/examples/studio3d/SampleProject/models/Speedometer/meshes/Speedometer.mesh
deleted file mode 100644
index 9f7ba34b..00000000
--- a/examples/studio3d/SampleProject/models/Speedometer/meshes/Speedometer.mesh
+++ /dev/null
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Sportscar_15k/Sportscar_15k.import b/examples/studio3d/SampleProject/models/Sportscar_15k/Sportscar_15k.import
new file mode 100644
index 00000000..32e0f192
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Sportscar_15k/Sportscar_15k.import
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP Version="1" >
+ <Project Revision="1" >
+ <Graph >
+ <Group id="__import__root__" >
+ <Model id="BodyFront" name="BodyFront" orientation="Right Handed" position="-12.4369 103.274 765.204" rotation="-90 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="meshes/BodyFront.mesh" >
+ <Material id="glass_tex2" name="glass_tex2" blendmode="Normal" diffuse="1 1 1" diffusemap="glass_tex2_diffusemap" emissivepower="0" opacity="100" specularamount="0" specularroughness="5.88235" >
+ <Image id="glass_tex2_diffusemap" name="glass_tex2_diffusemap" sourcepath="maps/c_tex.jpg" />
+ </Material>
+ <Material id="rubber2" name="rubber2" blendmode="Normal" diffuse="0.095729 0.095729 0.095729" emissivepower="0" opacity="100" specularamount="0" specularroughness="7.84314" />
+ <Material id="black2" name="black2" blendmode="Normal" diffuse="0 0 0" emissivepower="0" opacity="100" specularamount="0" specularroughness="0.980392" />
+ <Material id="body2" name="body2" blendmode="Normal" diffuse="0.527059 0.0313726 0.0313726" emissivepower="0" opacity="100" specularamount="0" specularroughness="31.9608" />
+ </Model>
+ <Model id="backWheels" name="backWheels" orientation="Right Handed" position="326.242 131.284 491.438" rotation="-90 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="meshes/backWheels.mesh" >
+ <Material id="chrome" name="chrome" blendmode="Normal" diffuse="0.668235 0.668235 0.705882" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.27451" />
+ <Material id="rubber" name="rubber" blendmode="Normal" diffuse="0.095729 0.095729 0.095729" emissivepower="0" opacity="100" specularamount="0" specularroughness="7.84314" />
+ <Material id="rims" name="rims" blendmode="Normal" diffuse="0.142219 0.142219 0.142219" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.27451" />
+ <Material id="silver" name="silver" blendmode="Normal" diffuse="0.476863 0.486275 0.486275" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.47059" />
+ </Model>
+ <Model id="BodyBack" name="BodyBack" orientation="Right Handed" position="-12.4369 103.274 765.204" rotation="-90 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="meshes/BodyBack.mesh" >
+ <Material id="glass_tex" name="glass_tex" blendmode="Normal" diffuse="1 1 1" diffusemap="glass_tex_diffusemap" emissivepower="0" opacity="100" specularamount="0" specularroughness="5.88235" >
+ <Image id="glass_tex_diffusemap" name="glass_tex_diffusemap" sourcepath="maps/c_tex.jpg" />
+ </Material>
+ <Material id="chrome_0001" name="chrome" blendmode="Normal" diffuse="0.668235 0.668235 0.705882" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.27451" />
+ <Material id="silver_0001" name="silver" blendmode="Normal" diffuse="0.476863 0.486275 0.486275" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.47059" />
+ <Material id="body" name="body" blendmode="Normal" diffuse="0.527059 0.0313726 0.0313726" emissivepower="0" opacity="100" specularamount="0" specularroughness="31.9608" />
+ <Material id="rubber_0002" name="rubber" blendmode="Normal" diffuse="0.095729 0.095729 0.095729" emissivepower="0" opacity="100" specularamount="0" specularroughness="7.84314" />
+ <Material id="black" name="black" blendmode="Normal" diffuse="0 0 0" emissivepower="0" opacity="100" specularamount="0" specularroughness="0.980392" />
+ <Material id="d_glass" name="d_glass" blendmode="Normal" diffuse="0.160894 0.16512 0.154057" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.27451" />
+ </Model>
+ <Model id="frontWheels" name="frontWheels" orientation="Right Handed" position="326.242 131.284 -518.562" rotation="169.137 -0 0" rotationorder="XYZr" scale="9.85043 9.85043 9.85043" sourcepath="meshes/frontWheels.mesh" >
+ <Material id="chrome_0002" name="chrome" blendmode="Normal" diffuse="0.668235 0.668235 0.705882" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.27451" />
+ <Material id="rubber_0003" name="rubber" blendmode="Normal" diffuse="0.095729 0.095729 0.095729" emissivepower="0" opacity="100" specularamount="0" specularroughness="7.84314" />
+ <Material id="rims_0001" name="rims" blendmode="Normal" diffuse="0.142219 0.142219 0.142219" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.27451" />
+ <Material id="silver_0002" name="silver" blendmode="Normal" diffuse="0.476863 0.486275 0.486275" emissivepower="0" opacity="100" specularamount="0" specularroughness="6.47059" />
+ </Model>
+ </Group>
+ </Graph>
+ <Import SrcFile="../../../Sportscar_15k.fbx" ImageDir="Images" MeshDir="Meshes" >
+ <Image >
+ <Source >c_tex.jpg</Source>
+ <Dest >maps/c_tex.jpg</Dest>
+ </Image>
+ <Mesh >
+ <Source >frontWheels</Source>
+ <Dest >meshes/frontWheels.mesh</Dest>
+ </Mesh>
+ <Mesh >
+ <Source >backWheels</Source>
+ <Dest >meshes/backWheels.mesh</Dest>
+ </Mesh>
+ <Mesh >
+ <Source >BodyBack</Source>
+ <Dest >meshes/BodyBack.mesh</Dest>
+ </Mesh>
+ <Mesh >
+ <Source >BodyFront</Source>
+ <Dest >meshes/BodyFront.mesh</Dest>
+ </Mesh>
+ </Import>
+ </Project>
+</UIP>
diff --git a/examples/studio3d/SampleProject/models/Sportscar_15k/maps/c_tex.jpg b/examples/studio3d/SampleProject/models/Sportscar_15k/maps/c_tex.jpg
new file mode 100644
index 00000000..b1b3b100
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Sportscar_15k/maps/c_tex.jpg
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyBack.mesh b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyBack.mesh
new file mode 100644
index 00000000..bd1cd657
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyBack.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyFront.mesh b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyFront.mesh
new file mode 100644
index 00000000..cb7705f8
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/BodyFront.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/backWheels.mesh b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/backWheels.mesh
new file mode 100644
index 00000000..bf15dd8f
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/backWheels.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/frontWheels.mesh b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/frontWheels.mesh
new file mode 100644
index 00000000..5410200d
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/Sportscar_15k/meshes/frontWheels.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/needle_2/meshes/qt_gauge_needles_2.mesh b/examples/studio3d/SampleProject/models/needle_2/meshes/qt_gauge_needles_2.mesh
new file mode 100644
index 00000000..6498edfc
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/needle_2/meshes/qt_gauge_needles_2.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/needle_2/needle_2.import b/examples/studio3d/SampleProject/models/needle_2/needle_2.import
new file mode 100644
index 00000000..b4204ebf
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/needle_2/needle_2.import
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP Version="1" >
+ <Project Revision="1" >
+ <Graph >
+ <Group id="__import__root__" >
+ <Model id="qt_gauge_needles_2" name="qt_gauge_needles_2" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/qt_gauge_needles_2.mesh" >
+ <Material id="qt_gauge_needles:red_transparent" name="qt_gauge_needles:red_transparent" blendmode="Normal" diffuse="1 1 1" emissivepower="0" opacity="100" specularamount="0" />
+ <Material id="qt_gauge_needles:black_solid" name="qt_gauge_needles:black_solid" blendmode="Normal" diffuse="1 1 1" emissivepower="0" opacity="100" specularamount="0" />
+ <Material id="qt_gauge_needles:solidWhite" name="qt_gauge_needles:solidWhite" blendmode="Normal" diffuse="1 1 1" emissivepower="0" opacity="100" specularamount="0" />
+ </Model>
+ </Group>
+ </Graph>
+ <Import SrcFile="../../../../3D Models/Automotive/Cluster/Needles/needle_2.fbx" ImageDir="Images" MeshDir="Meshes" >
+ <Mesh >
+ <Source >qt_gauge_needles_2</Source>
+ <Dest >meshes/qt_gauge_needles_2.mesh</Dest>
+ </Mesh>
+ </Import>
+ </Project>
+</UIP>
diff --git a/examples/studio3d/SampleProject/models/roundbg_1/maps/gradient.png b/examples/studio3d/SampleProject/models/roundbg_1/maps/gradient.png
new file mode 100644
index 00000000..70b9fb8b
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/roundbg_1/maps/gradient.png
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/roundbg_1/meshes/qt_gauge_background_round_1.mesh b/examples/studio3d/SampleProject/models/roundbg_1/meshes/qt_gauge_background_round_1.mesh
new file mode 100644
index 00000000..511e46ca
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/roundbg_1/meshes/qt_gauge_background_round_1.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/roundbg_1/roundbg_1.import b/examples/studio3d/SampleProject/models/roundbg_1/roundbg_1.import
new file mode 100644
index 00000000..653f759c
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/roundbg_1/roundbg_1.import
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP Version="1" >
+ <Project Revision="1" >
+ <Graph >
+ <Group id="__import__root__" >
+ <Model id="qt_gauge_background_round_1" name="qt_gauge_background_round_1" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/qt_gauge_background_round_1.mesh" >
+ <Material id="background_1" name="background_1" blendmode="Normal" diffuse="1 1 1" diffusemap="background_1_diffusemap" emissivepower="0" opacity="100" specularamount="0" >
+ <Image id="background_1_diffusemap" name="background_1_diffusemap" sourcepath="maps/gradient.png" />
+ </Material>
+ </Model>
+ </Group>
+ </Graph>
+ <Import SrcFile="../../../../3D Models/Automotive/Cluster/GaugeBackgrounds/roundbg_1.fbx" ImageDir="Images" MeshDir="Meshes" >
+ <Image >
+ <Source >roundbg_1.fbm/gradient.png</Source>
+ <Dest >maps/gradient.png</Dest>
+ </Image>
+ <Mesh >
+ <Source >qt_gauge_background_round_1</Source>
+ <Dest >meshes/qt_gauge_background_round_1.mesh</Dest>
+ </Mesh>
+ </Import>
+ </Project>
+</UIP>
diff --git a/examples/studio3d/SampleProject/models/tickmark_260/meshes/qt_gauge_tickmarks_260.mesh b/examples/studio3d/SampleProject/models/tickmark_260/meshes/qt_gauge_tickmarks_260.mesh
new file mode 100644
index 00000000..d5119b00
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/tickmark_260/meshes/qt_gauge_tickmarks_260.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/tickmark_260/tickmark_260.import b/examples/studio3d/SampleProject/models/tickmark_260/tickmark_260.import
new file mode 100644
index 00000000..b95b5805
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/tickmark_260/tickmark_260.import
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP Version="1" >
+ <Project Revision="1" >
+ <Graph >
+ <Group id="__import__root__" >
+ <Model id="qt_gauge_tickmarks_260" name="qt_gauge_tickmarks_260" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/qt_gauge_tickmarks_260.mesh" >
+ <Material id="Default_white" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" opacity="100" specularamount="0" />
+ </Model>
+ </Group>
+ </Graph>
+ <Import SrcFile="../../../../3D Models/Automotive/Cluster/Tickmarks/tickmark_260.fbx" ImageDir="Images" MeshDir="Meshes" >
+ <Mesh >
+ <Source >qt_gauge_tickmarks_260</Source>
+ <Dest >meshes/qt_gauge_tickmarks_260.mesh</Dest>
+ </Mesh>
+ </Import>
+ </Project>
+</UIP>
diff --git a/examples/studio3d/SampleProject/models/tickmark_8_small/meshes/qt_gauge_tickmarks_8_small.mesh b/examples/studio3d/SampleProject/models/tickmark_8_small/meshes/qt_gauge_tickmarks_8_small.mesh
new file mode 100644
index 00000000..32dd46db
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/tickmark_8_small/meshes/qt_gauge_tickmarks_8_small.mesh
Binary files differ
diff --git a/examples/studio3d/SampleProject/models/tickmark_8_small/tickmark_8_small.import b/examples/studio3d/SampleProject/models/tickmark_8_small/tickmark_8_small.import
new file mode 100644
index 00000000..d3437193
--- /dev/null
+++ b/examples/studio3d/SampleProject/models/tickmark_8_small/tickmark_8_small.import
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<UIP Version="1" >
+ <Project Revision="1" >
+ <Graph >
+ <Group id="__import__root__" >
+ <Model id="qt_gauge_tickmarks_8_small" name="qt_gauge_tickmarks_8_small" orientation="Right Handed" position="0 0 -0" rotation="0 -0 0" rotationorder="XYZr" scale="1 1 1" sourcepath="meshes/qt_gauge_tickmarks_8_small.mesh" >
+ <Material id="Default_white" name="Default_white" blendmode="Normal" diffuse="1 1 1" emissivepower="0" opacity="100" specularamount="0" />
+ </Model>
+ </Group>
+ </Graph>
+ <Import SrcFile="../../../../3D Models/Automotive/Cluster/Tickmarks/tickmark_8_small.fbx" ImageDir="Images" MeshDir="Meshes" >
+ <Mesh >
+ <Source >qt_gauge_tickmarks_8_small</Source>
+ <Dest >meshes/qt_gauge_tickmarks_8_small.mesh</Dest>
+ </Mesh>
+ </Import>
+ </Project>
+</UIP>
diff --git a/examples/studio3d/SampleProject/scripts/Map.jpg b/examples/studio3d/SampleProject/scripts/Map.jpg
new file mode 100644
index 00000000..4db7a3fd
--- /dev/null
+++ b/examples/studio3d/SampleProject/scripts/Map.jpg
Binary files differ
diff --git a/examples/studio3d/SampleProject/scripts/Navigation.qml b/examples/studio3d/SampleProject/scripts/Navigation.qml
new file mode 100644
index 00000000..7635d985
--- /dev/null
+++ b/examples/studio3d/SampleProject/scripts/Navigation.qml
@@ -0,0 +1,74 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 The Qt Company Ltd.
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the Qt 3D Studio.
+**
+** $QT_BEGIN_LICENSE:BSD$
+** Commercial License Usage
+** Licensees holding valid commercial Qt licenses may use this file in
+** accordance with the commercial license agreement provided with the
+** Software or, alternatively, in accordance with the terms contained in
+** a written agreement between you and The Qt Company. For licensing terms
+** and conditions see https://www.qt.io/terms-conditions. For further
+** information use the contact form at https://www.qt.io/contact-us.
+**
+** BSD License Usage
+** Alternatively, you may use this file under the terms of the BSD license
+** as follows:
+**
+** "Redistribution and use in source and binary forms, with or without
+** modification, are permitted provided that the following conditions are
+** met:
+** * Redistributions of source code must retain the above copyright
+** notice, this list of conditions and the following disclaimer.
+** * Redistributions in binary form must reproduce the above copyright
+** notice, this list of conditions and the following disclaimer in
+** the documentation and/or other materials provided with the
+** distribution.
+** * Neither the name of The Qt Company Ltd nor the names of its
+** contributors may be used to endorse or promote products derived
+** from this software without specific prior written permission.
+**
+**
+** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+
+import QtQuick 2.0
+
+Item {
+ width: 768
+ height: 288
+
+ Image {
+ id: fakeMap
+ source: "./Map.jpg"
+ y: -231
+ width: 768
+ height: 462
+ }
+
+ PropertyAnimation {
+ target: fakeMap
+ property: "y"
+ loops: Animation.Infinite
+ duration: 25000
+ running: true
+ from: -231
+ to: 0
+ }
+}