Index: /data/branches/png2/AUTHORS
===================================================================
--- /data/branches/png2/AUTHORS (revision 7245)
+++ /data/branches/png2/AUTHORS (revision 7245)
@@ -0,0 +1,563 @@
+Here we list the authors of all the media files in this repository. All files are released under the CC by-sa license which can be found in the LICENSE file in this directory, unless otherwise specified.
+
+File Author
+audio/ambient/default/allgorythm-lift_up.ogg All-Go-Rhythm - Thierry Zaugg (www.bediff.com)
+audio/ambient/default/allgorythm-resonance_blaster.ogg All-Go-Rhythm - Thierry Zaugg (www.bediff.com)
+audio/ambient/default/AlphaCentauri.ogg Kevin Young
+audio/ambient/default/Asteroid_rocks.ogg Kevin Young - Samples (License: CC Sampling+) from: ERH (Cinematic Deep Bass Rumble) and Jovica (ESERBEZE Granular Scape 22)
+audio/ambient/default/Earth.ogg Kevin Young
+audio/ambient/default/Fight1.ogg Kevin Young
+audio/ambient/default/Ganymede.ogg Kevin Young - Samples (License: CC Sampling+) from: yewbic (Ambience 3)
+audio/ambient/default/Jupiter.ogg Kevin Young - Samples (License: CC Sampling+) from: yewbic (Ambience 3)
+audio/ambient/default/luke_grey_-_hypermode.ogg Lukas Grauer
+audio/ambient/default/mainmenu.ogg Raphaël Jecker
+audio/ambient/default/Mars.ogg Kevin Young
+audio/ambient/default/Nebula_metal.ogg Kevin Young - Samples (License: CC Sampling+) from: Sea Fury (Zap2) and Digifishmusic (Infinite Thunder)
+audio/ambient/dnb/AlphaCentauri.ogg Blal - Carnivore (Shadow Infestation EP), Licence: CC by-nc-nd 2.5
+audio/ambient/dnb/Asteroid_rocks.ogg Kevin Young - Samples (License: CC Sampling+) from: ERH (Cinematic Deep Bass Rumble) and Jovica (ESERBEZE Granular Scape 22)
+audio/ambient/dnb/Earth.ogg 403 - Unmute (Unmute EP), License: CC by-nc-sa 3.0
+audio/ambient/dnb/Fight1.ogg Throttler - Obey (Shadow Infestation EP), Licence: CC by-nc-nd 2.5
+audio/ambient/dnb/Ganymede.ogg Nekura - Not Now (Shadow Infestation EP), Licence: CC by-nc-nd 2.5
+audio/ambient/dnb/Jupiter.ogg ICR - Even When Your Shadow Leaves You (ICR), Licence: CC by-nc-nd 2.5, www.exegene.com
+audio/ambient/dnb/mainmenu.ogg ICR - Shinumade Tatakau (ICR), Licence: CC by-nc-nd 2.5, www.exegene.com
+audio/ambient/dnb/Mars.ogg Medium - Dead Effect (Shadow Infestation EP), Licence: CC by-nc-nd 2.5
+audio/ambient/dnb/Nebula_metal.ogg Kevin Young - Samples (License: CC Sampling+) from: Sea Fury (Zap2) and Digifishmusic (Infinite Thunder)
+audio/ambient/eightbit/AlphaCentauri.ogg Dr. Zilog - Sanguinary Sect Of Worship (All Hallows Eve in 8bit Hell), License: CC by-nc-sa 3.0 US
+audio/ambient/eightbit/Asteroid_rocks.ogg Kevin Young - Samples (License: CC Sampling+) from: ERH (Cinematic Deep Bass Rumble) and Jovica (ESERBEZE Granular Scape 22)
+audio/ambient/eightbit/Earth.ogg Erik Skiff- We're The Resistors (Resistor Anthems), License: CC by 3.0 US
+audio/ambient/eightbit/Fight1.ogg Baphomania - Roaming Spectral Shores (All Hallows Eve in 8bit Hell), License: CC by-nc-sa 3.0 US
+audio/ambient/eightbit/Ganymede.ogg Erik Skiff- All Of Us (Resistor Anthems), License: CC by 3.0 US
+audio/ambient/eightbit/Jupiter.ogg NESMETAL - The Throes Of Wickedness (All Hallows Eve in 8bit Hell), License: CC by-nc-sa 3.0 US
+audio/ambient/eightbit/mainmenu.ogg H-Pizzle - Ghosts Of A Fallen Empire (All Hallows Eve in 8bit Hell), License: CC by-nc-sa 3.0 US
+audio/ambient/eightbit/Mars.ogg Erik Skiff- Underclocked (Resistor Anthems), License: CC by 3.0 US
+audio/ambient/eightbit/Nebula_metal.ogg Kevin Young - Samples (License: CC Sampling+) from: Sea Fury (Zap2) and Digifishmusic (Infinite Thunder)
+audio/ambient/jazz/AlphaCentauri.ogg cdk - Midnight Theme (cdk mix), License: CC by 3.0
+audio/ambient/jazz/Asteroid_rocks.ogg KCentric - OxyMoron, License: CC by 3.0
+audio/ambient/jazz/Earth.ogg echoed - Window like, License: CC by 3.0
+audio/ambient/jazz/Fight1.ogg Damian Frick - Samples (License: CC by 3.0) from: stefsax - Awel
+audio/ambient/jazz/Ganymede.ogg cdk - pieces of life, License: CC by 3.0
+audio/ambient/jazz/Jupiter.ogg gurdonark - Caper, CC by 3.0
+audio/ambient/jazz/mainmenu.ogg Citizen Nyx - Undercover, License: CC by 3.0
+audio/ambient/jazz/Mars.ogg shragrugge - Sax, Flute, n Glass, License: CC by 3.0
+audio/ambient/jazz/Nebula_metal.ogg Coriolis Effect - Mseq, License: CC by 3.0
+audio/sounds/Button_press1.ogg Corsica S - blip10, License: CC Sampling+
+audio/sounds/Button_press2.ogg Corsica S - blip11, License: CC Sampling+
+audio/sounds/Button_press3.ogg Corsica S - blip12, License: CC Sampling+
+audio/sounds/Engine_charge.ogg Kevin Young - Samples (License: CC Sampling+) from: ReWire (SHMIR and Vents)
+audio/sounds/Engine_high.ogg Kevin Young - Samples (License: CC Sampling+) from: ReWire (SHMIR and Vents)
+audio/sounds/Engine_idle.ogg Kevin Young - Samples (License: CC Sampling+) from: ReWire (SHMIR and Vents)
+audio/sounds/Engine_low.ogg Kevin Young - Samples (License: CC Sampling+) from: ReWire (SHMIR and Vents)
+audio/sounds/Engine_off.ogg Kevin Young - Samples (License: CC Sampling+) from: ReWire (SHMIR and Vents)
+audio/sounds/laser1.wav unknown
+audio/sounds/pong_bat.wav Erwin Herrsche?
+audio/sounds/pong_score.wav Erwin Herrsche?
+audio/sounds/pong_side.wav Erwin Herrsche?
+audio/sounds/Rocket_engine.ogg Kevin Young
+audio/sounds/Rocket_explosion.ogg Kevin Young - Samples (License: CC Sampling+) from: sleep (BOMB)
+audio/sounds/Rocket_launch.ogg Kevin Young
+audio/sounds/Ship_explosion.ogg Kevin Young - Samples (License: CC Sampling+) from: ERH (distant shot rumble 37 and distant shot 33)
+audio/sounds/Weapon_Chaingun.ogg Kevin Young - Samples (License: CC Sampling+) from: tcpp (Machinegun_ish) and joly1 (eurocopter_b2)
+audio/sounds/Weapon_HsW01.ogg Kevin Young - Samples (License: CC Sampling+) from: Infinity (smalllas)
+audio/sounds/Weapon_Laser.ogg Kevin Young - Samples (License: CC Sampling+) from: alienbomb (hit.2)
+audio/sounds/Weapon_LightningGun.ogg Kevin Young
+audio/sounds/Weapon_Plasma.ogg Kevin Young - Samples (License: CC Sampling+) from: DeadlyMustard (SP0000)
+fonts/bluebold.ttf Larabie fonts “read_me.html"
+fonts/bluecond.ttf Larabie fonts “read_me.html"
+fonts/bluehigh.ttf Larabie fonts “read_me.html"
+fonts/console.fontdef Felix Schulthess?
+fonts/LiberationMono.fontdef Larabie fonts “read_me.html"
+fonts/LiberationMono.ttf Larabie fonts “read_me.html"
+fonts/Monofur.fontdef Larabie fonts “read_me.html"
+fonts/Monofur.ttf Larabie fonts “read_me.html"
+fonts/MonoSpatial.fontdef Larabie fonts “read_me.html"
+fonts/ShareTechMono.fontdef Larabie fonts “read_me.html"
+fonts/MonoSpatial.ttf Larabie fonts “read_me.html"
+fonts/read_me.html Larabie fonts “read_me.html"
+fonts/sample.fontdef Larabie fonts “read_me.html"
+fonts/SaxMono.fontdef Larabie fonts “read_me.html"
+fonts/SaxMono.ttf Larabie fonts “read_me.html"
+fonts/Selectric.fontdef Larabie fonts “read_me.html"
+fonts/Selectric.ttf Larabie fonts “read_me.html"
+fonts/ShareTechMono.ttf Larabie fonts “read_me.html"
+fonts/solo5.ttf Larabie fonts “read_me.html"
+fonts/Tt-Kp.fontdef Larabie fonts “read_me.html"
+fonts/Tt-Kp.ttf Larabie fonts “read_me.html"
+fonts/typewriter.ttf Felix Schulthess?
+fonts/VeraMono.fontdef Larabie fonts “read_me.html"
+fonts/VeraMono.ttf Larabie fonts “read_me.html"
+gui/fonts/bluehigh.ttf http://www.iconian.com/
+gui/fonts/bluehighway-10.font http://www.iconian.com/
+gui/fonts/bluehighway-12.font http://www.iconian.com/
+gui/fonts/bluehighway-8.font http://www.iconian.com/
+gui/fonts/common.txt http://www.iconian.com/
+gui/fonts/Commonv2c.ttf http://www.iconian.com/
+gui/fonts/Commonwealth-10.font http://www.iconian.com/
+gui/fonts/DejaVuSans-10.font http://www.iconian.com/
+gui/fonts/DejaVuSans.ttf http://www.iconian.com/
+gui/fonts/FairChar-30.font http://www.iconian.com/
+gui/fonts/fkp-16.font http://www.iconian.com/
+gui/fonts/fkp.de.pcf http://www.iconian.com/
+gui/fonts/Font.xsd http://www.iconian.com/
+gui/fonts/Iconified-12.font http://www.iconian.com/
+gui/fonts/Iconiv2.ttf http://www.iconian.com/
+gui/fonts/icon.txt Daniel Zadorozny - http://www.iconian.com/
+gui/fonts/Legal.txt Andrew Zabolotny
+gui/fonts/README http://www.iconian.com/
+gui/imagesets/DriveIcons.imageset Reto Grieder?
+gui/imagesets/DriveIcons.png Reto Grieder?
+gui/imagesets/FairChar.imageset Reto Grieder?
+gui/imagesets/FairChar.tga Reto Grieder?
+gui/imagesets/GPN-2000-001437.tga GRIN (http://grin.hq.nasa.gov/)
+gui/imagesets/Imageset.xsd Reto Grieder?
+gui/imagesets/main_menu_1.jpg Reto Grieder
+gui/imagesets/MainMenuBackground.imageset Benjamin Knecht
+gui/imagesets/pickup.tga Damian Frick, Eric Beier and Benedict Simlinger
+gui/imagesets/PickupInventory.imageset Damian Frick, Eric Beier and Benedict Simlinger
+gui/imagesets/sleekspace.imageset Seth Yastrov
+gui/imagesets/sleekspace.png Seth Yastrov
+gui/imagesets/TaharezLook.imageset Lars "Taharez" Rinde
+gui/imagesets/TaharezLook.tga Lars "Taharez" Rinde
+gui/imagesets/Vanilla.imageset Shane Parker
+gui/imagesets/vanilla.tga Shane Parker
+gui/imagesets/WindowsLook.imageset Paul "CrazyEddie" Turner
+gui/imagesets/WindowsLook.tga Paul "CrazyEddie" Turner
+gui/looknfeel/Falagard.xsd unknown
+gui/looknfeel/sleekspace.looknfeel Seth Yastrov
+gui/looknfeel/TaharezLook.looknfeel Lars "Taharez" Rinde
+gui/looknfeel/Vanilla.looknfeel Shane Parker
+gui/looknfeel/WindowsLook.looknfeel Paul "CrazyEddie" Turner
+materials/programs/AmbientOneTexture.glsl unknown
+materials/programs/Blur0_ps20.hlsl Janis Edelmann?
+materials/programs/Blur0_vs11.hlsl Janis Edelmann?
+materials/programs/Blur0_vs.glsl Janis Edelmann?
+materials/programs/Blur1_ps20.hlsl Janis Edelmann?
+materials/programs/Blur1_vs11.hlsl Janis Edelmann?
+materials/programs/Blur1_vs.glsl Janis Edelmann?
+materials/programs/Blur_ps.glsl Janis Edelmann?
+materials/programs/BumpMapping.cg Janis Edelmann?
+materials/programs/Combine_fp.cg Janis Edelmann?
+materials/programs/Example_Basic.cg Reto Grieder
+materials/programs/Example_Basic.hlsl Reto Grieder
+materials/programs/GlassFP.cg Fabian Landau?
+materials/programs/Grass.cg Reto Grieder
+materials/programs/GrayScale.cg Fabian Landau?
+materials/programs/hdr_bloom.glsl Fabian Landau?
+materials/programs/hdr.cg Reto Grieder
+materials/programs/hdr_downscale2x2luminence.glsl Fabian Landau?
+materials/programs/hdr_downscale3x3brightpass.glsl Fabian Landau?
+materials/programs/hdr_downscale3x3.glsl Fabian Landau?
+materials/programs/hdr_finalToneMapping.glsl Fabian Landau?
+materials/programs/hdr.hlsl Fabian Landau?
+materials/programs/hdr_tonemap_util.glsl Fabian Landau?
+materials/programs/InvertFP.cg Fabian Landau?
+materials/programs/LaplaceFP.cg Fabian Landau?
+materials/programs/OldMovieFP.cg Fabian Landau?
+materials/programs/OldTV.cg Fabian Landau?
+materials/programs/PosterizeFP.cg Fabian Landau?
+materials/programs/Radial_Blur_FP.cg Fabian Landau?
+materials/programs/SharpenEdgesFP.cg Fabian Landau?
+materials/programs/skinningTwoWeightsShadowCasterVp.glsl Reto Grieder
+materials/programs/skinningTwoWeightsVp.glsl Reto Grieder
+materials/programs/StdQuad_vp.cg Janis Edelmann?
+materials/programs/StdQuad_vp.glsl Janis Edelmann?
+materials/programs/TilingFP.cg Fabian Landau?
+materials/programs/ToonShaderPS.cg Stefan Lienhard
+materials/programs/ToonShader_ps.frag Stefan Lienhard
+materials/programs/ToonShader_vs.vert Stefan Lienhard
+materials/scripts/3arrowsup.material Eric Beier and Benedict Simlinger
+materials/scripts/Arrow.material Damian Frick
+materials/scripts/assf.material Felix Schulthess
+materials/scripts/assf5.material Nicolas Schlumberger
+materials/scripts/assff.material Felix Schulthess
+materials/scripts/assf.material Nicolas Schlumberger
+materials/scripts/Asterix.material Damian Frick
+materials/scripts/asterois_ice.material Benjamin de Capitani
+materials/scripts/asteroids.material Felix Schulthess
+materials/scripts/asteroid_y.material Benjamin de Capitani
+materials/scripts/axes.material Felix Schulthess
+materials/scripts/Banners.material Benjamin de Capitani
+materials/scripts/BlackAndWhite.material Fabian Landau?
+materials/scripts/Bloom.material Janis Edelmann
+materials/scripts/Bump_Specular.material Janis Edelmann
+materials/scripts/can.material Hagen Seifert
+materials/scripts/Carrier.material Felix Schulthess
+materials/scripts/Cone.material Felix Schulthess
+materials/scripts/Console.material Felix Schulthess
+materials/scripts/crate.material Reto Grieder
+materials/scripts/Cross.material Damian Frick
+materials/scripts/cube.material Felix Schulthess
+materials/scripts/CuboidSpaceStation.material Mirko Kaiser
+materials/scripts/drone.material Janis Edelmann
+materials/scripts/DuBall.material Rocco Bottani, Massimo Maffioli
+materials/scripts/earth.material Marian Runo
+materials/scripts/Embossed.material Fabian Landau?
+materials/scripts/Example.material unknown
+materials/scripts/Examples.compositor unknown
+materials/scripts/Examples.program unknown
+materials/scripts/Eye.material Eric Beier and Benedict Simlinger
+materials/scripts/Flares.material Fabian Landau
+materials/scripts/ghost.material David Gassner
+materials/scripts/Glass.material Fabian Landau?
+materials/scripts/h2_green.material David Gassner
+materials/scripts/hdr.material Fabian Landau?
+materials/scripts/hoover.material unknown
+materials/scripts/hs-w01.material Hagen Seifert
+materials/scripts/hs_w01_reduced.material Benjamin de Capitani
+materials/scripts/hs-w01s.material Hagen Seifert
+materials/scripts/iceplanet.material Marian Runo
+materials/scripts/HXY.material Benjamin de Capitani
+materials/scripts/iceplanet.material Marian Runo
+materials/scripts/Invert.material Fabian Landau?
+materials/scripts/jumpthrust.material Felix Schulthess
+materials/scripts/Laplace.material Fabian Landau?
+materials/scripts/laserbeam.material Hagen Seifert
+materials/scripts/LightningGun.material Joël Smely
+materials/scripts/LightningGun-s.material Joël Smely
+materials/scripts/LightningGun-s.tga Joël Smely
+materials/scripts/Map.material Si Sun
+materials/scripts/MotionBlur.compositor Janis Edelmann
+materials/scripts/MotionBlur.material Janis Edelmann
+materials/scripts/Ogre.material unknown
+materials/scripts/OldMovie.material Fabian Landau?
+materials/scripts/OldTV.material Fabian Landau?
+materials/scripts/Orxonox.material Felix Schulthess
+materials/scripts/OrxonoxSky.material Felix Schulthess
+materials/scripts/PE_materials.material unknown
+materials/scripts/pirate.material Felix Schulthess
+materials/scripts/plane.material Reto Grieder
+materials/scripts/planet.material Felix Schulthess
+materials/scripts/Posterize.material Fabian Landau?
+materials/scripts/RadialBlur.material Fabian Landau?
+materials/scripts/rock.material Janis Edelmann
+materials/scripts/rocket.material Daniel Cristen
+materials/scripts/satellite.material Felix Schulthess
+materials/scripts/Scene.material Benjamin de Capitani
+materials/scripts/Shaders.compositor Fabian Landau?
+materials/scripts/SharpenEdges.material Fabian Landau?
+materials/scripts/Shield.material Eric Beier and Benedict Simlinger
+materials/scripts/spacecruiser_16.material Felix Schulthess
+materials/scripts/spacecruiser.material Tim Widmer
+materials/scripts/sphere.material Felix Schulthess
+materials/scripts/starship.material unknown
+materials/scripts/Stats.material Benjamin Hildebrandt
+materials/scripts/StdQuad_vp.program Janis Edelmann
+materials/scripts/swallow_material.material David Gassner
+materials/scripts/Test.material Benjamin de Capitani
+materials/scripts/Tiling.material Fabian Landau?
+materials/scripts/tomato.material Felix Schulthess
+materials/scripts/ToonShader.material Stefan Lienhard
+materials/scripts/Trail.material Fabian 'x3n' Landau
+materials/scripts/Transparency.material Janis Edelmann
+materials/scripts/Transporter.material Benjamin de Capitani
+materials/scripts/UEATransporter036.material Axel Bomhauer-Beins
+materials/scripts/wrench.material Benjamin Knecht
+materials/textures/3arrowsup.tga Eric Beier and Benedict Simlinger
+materials/textures/arrow.tga Damian Frick
+materials/textures/arrows.tga Felix Schulthess
+materials/textures/assff.JPG Felix Schulthess
+materials/textures/asterix.tga Damian Frick
+materials/textures/asteroid.tga Benjamin de Capitani
+materials/textures/asteroid_ice.tga Benjamin de Capitani
+materials/textures/atmosphere.png Felix Schulthess
+materials/textures/atmospheretype1.tga Marian Runo
+materials/textures/atmospheretype2.tga Marian Runo
+materials/textures/atmospheretype3.tga Marian Runo
+materials/textures/atmospheretype4.tga Marian Runo
+materials/textures/atmospheretype5.tga Marian Runo
+materials/textures/babel-base2.jpg Georges Grondin (cc-by-sa)
+materials/textures/babel-trim3b.jpg Georges Grondin (cc-by-sa)
+materials/textures/babel-wall1a.jpg Georges Grondin (cc-by-sa)
+materials/textures/babel-wall1b.jpg Georges Grondin (cc-by-sa)
+materials/textures/babel-wall6a.jpg Georges Grondin (cc-by-sa)
+materials/textures/babel-wall6b.jpg Georges Grondin (cc-by-sa)
+materials/textures/backGround.tga unknown
+materials/textures/backlightflare.tga Fabian Landau
+materials/textures/backlighttrail.tga Fabian Landau
+materials/textures/backlighttrail2.tga David Gassner
+materials/textures/bar1.tga Felix Schulthess
+materials/textures/bar2a.tga Felix Schulthess
+materials/textures/bar2b.tga Felix Schulthess
+materials/textures/bar2c.tga Felix Schulthess
+materials/textures/bar2.tga Felix Schulthess
+materials/textures/bigflame.tga unknown
+materials/textures/bigflare1.tga Fabian Landau
+materials/textures/can.tga Hagen Seifert
+materials/textures/centeroverlay.png Michael Wirth
+materials/textures/clouds.png Benjamin de Capitani
+materials/textures/CockpitGlass.jpg Mirko Kaiser
+materials/textures/CockpitNose.jpg Mirko Kaiser
+materials/textures/CockpitSide.png Mirko Kaiser
+materials/textures/console2.tga Felix Schulthess
+materials/textures/console3.tga Felix Schulthess
+materials/textures/console4.tga Felix Schulthess
+materials/textures/console5.tga Reto Grieder
+materials/textures/crate.tga Reto Grieder
+materials/textures/cross.tga Damian Frick
+materials/textures/crosshair.tga unknown
+materials/textures/crosshair2.tga Fabian Landau
+materials/textures/crosshair3.png Michael Wirth
+materials/textures/CuboidConnectionBodySide.jpg Mirko Kaiser
+materials/textures/CuboidConnectionBodyTop.jpg Mirko Kaiser
+materials/textures/cursor_console.tga Reto Grieder
+materials/textures/cursor.tga unknown
+materials/textures/damageoverlaybottom.png Michael Wirth
+materials/textures/damageoverlayleft.png Michael Wirth
+materials/textures/damageoverlayright.png Michael Wirth
+materials/textures/damageoverlaytop.png Michael Wirth
+materials/textures/decal.jpg Felix Schulthess
+materials/textures/directionarrows Michael Wirth
+materials/textures/directionarrows1 Michael Wirth
+materials/textures/directionarrows2 Michael Wirth
+materials/textures/directionarrows3 Michael Wirth
+materials/textures/directionarrows4 Michael Wirth
+materials/textures/dirt01.jpg unknown
+materials/textures/Dirt.jpg unknown
+materials/textures/dish.jpg Felix Schulthess
+materials/textures/drone.tga unknown
+materials/textures/Drone.png Benjamin de Capitani
+materials/textures/DuBall1.jpg Rocco Bottani, Massimo Maffioli
+materials/textures/DuBall2.jpg Rocco Bottani, Massimo Maffioli
+materials/textures/explosion3.tga Fabian Landau
+materials/textures/explosion.tga unknown
+materials/textures/eye.tga Eric Beier and Benedict Simlinger
+materials/textures/final_gold.tga David Gassner
+materials/textures/flare2_1.tga David Gassner
+materials/textures/flare2.tga unknown
+materials/textures/flare.tga Felix Schulthess
+materials/textures/flare3.tga David Gassner
+materials/textures/flaretrail.tga unknown
+materials/textures/Formation.png Benjamin de Capitani
+materials/textures/ghost_complete-texture_Cube.jpg David Gassner
+materials/textures/glass01.jpg Felix Schulthess?
+materials/textures/glass02.jpg Felix Schulthess?
+materials/textures/GLX_icon.png Felix Schulthess?
+materials/textures/GLX_icon.tga Felix Schulthess?
+materials/textures/goldwrenchpickup.jpg Benjamin Knecht?
+materials/textures/GreenSkin.jpg unknown
+materials/textures/healthbar_bar.tga Fabian Landau
+materials/textures/healthbar_bg.tga Fabian Landau
+materials/textures/hs-w01s.tga Hagen Seifert
+materials/textures/hs-w01.tga Hagen Seifert
+materials/textures/hs-w01_reduced.png Benjamin de Capitani
+materials/textures/iceplanet.tga Marian Runo
+materials/textures/jumpturbinepickup.jpg Benjamin Knecht?
+materials/textures/laserbeam.tga unknown
+materials/textures/LightningBall_1.tga Joël Smely
+materials/textures/LightningBall_2.tga Joël Smely
+materials/textures/LightningBall_3.tga Joël Smely
+materials/textures/LightningBall_4.tga Joël Smely
+materials/textures/LightningBall_5.tga Joël Smely
+materials/textures/LightningBall_6.tga Joël Smely
+materials/textures/LightningBall_7.tga Joël Smely
+materials/textures/LightningBall_8.tga Joël Smely
+materials/textures/Lightning_gun4.tga Joël Smely
+materials/textures/Lightning_gun_pic2.tga Joël Smely
+materials/textures/LightningGun.tga Joël Smely
+materials/textures/mapgrid.tga Si Sun
+materials/textures/MetalBare.jpg Benjamin de Capitani
+materials/textures/MetalBase0020_thumbhuge.jpg Benjamin de Capitani
+materials/textures/MetalBase0030_thumbhuge.jpg Benjamin de Capitani
+materials/textures/MetalEdge.jpg Georges Grondin (cc-by-sa)
+materials/textures/ogrelogo-small.jpg unknown
+materials/textures/ogrelogo.tga unknown
+materials/textures/OrxonoxBlack.tga unknown
+materials/textures/OrxonoxGREEN.tga Reto Grieder
+materials/textures/orxonox_logo.svg Benjamin Knecht
+materials/textures/OrxonoxORANGE.tga unknown
+materials/textures/OrxonoxRED.tga unknown
+materials/textures/OrxonoxYELLOW.tga Reto Grieder
+materials/textures/Pickups.tga Benjamin de Capitani
+materials/textures/pirate.jpg Felix Schulthess
+materials/textures/planet.jpg Felix Schulthess
+materials/textures/PlasmaAufh_Aufh.jpg Benjamin de Capitani
+materials/textures/PlasmaBlau.jpg Benjamin de Capitani
+materials/textures/plasmagunParabol_Cylinder002.jpg Benjamin de Capitani
+materials/textures/plasmaSilverTube.jpg Benjamin de Capitani
+materials/textures/plasmaSilverTube.tga Benjamin de Capitani
+materials/textures/PSO1024.jpg Benjamin de Capitani
+materials/textures/RadarDot.tga Fabian Landau
+materials/textures/RadarSquare.tga Reto Grieder
+materials/textures/radar.tga Felix Schulthess
+materials/textures/RadarTriangle.tga Fabian Landau
+materials/textures/ring_flare2.tga unknown
+materials/textures/ring_flare.tga unknown
+materials/textures/rock.tga unknown
+materials/textures/rockettex.jpg Daniel Cristen
+materials/textures/rust.tga Felix Schulthess
+materials/textures/RustySteel.jpg unknown
+materials/textures/sample_loading.jpg unknown
+materials/textures/Sepia1D.tga Fabian Landau?
+materials/textures/sewer_001.png Martin Polak?
+materials/textures/shield.tga Eric Beier and Benedict Simlinger
+materials/textures/skypanoramagen1_bk.jpg Fabian Landau?
+materials/textures/skypanoramagen1_dn.jpg Fabian Landau?
+materials/textures/skypanoramagen1_fr.jpg Fabian Landau?
+materials/textures/skypanoramagen1_lf.jpg Fabian Landau?
+materials/textures/skypanoramagen1_rt.jpg Fabian Landau?
+materials/textures/skypanoramagen1_up.jpg Fabian Landau?
+materials/textures/skypanoramagen2_bk.jpg Fabian Landau?
+materials/textures/skypanoramagen2_dn.jpg Fabian Landau?
+materials/textures/skypanoramagen2_fr.jpg Fabian Landau?
+materials/textures/skypanoramagen2_lf.jpg Fabian Landau?
+materials/textures/skypanoramagen2_rt.jpg Fabian Landau?
+materials/textures/skypanoramagen2_up.jpg Fabian Landau?
+materials/textures/sl_floor01.jpg Felix Schulthess
+materials/textures/sl_floor02.jpg Felix Schulthess
+materials/textures/sl_floor03.jpg Felix Schulthess
+materials/textures/sl_foil.jpg Felix Schulthess
+materials/textures/sl_hull01.jpg Felix Schulthess
+materials/textures/sl_hull02.jpg Felix Schulthess
+materials/textures/sl_hull03.jpg Felix Schulthess
+materials/textures/sl_hull04.jpg Felix Schulthess
+materials/textures/sl_metal02.jpg Felix Schulthess
+materials/textures/sl_metal03.jpg Felix Schulthess
+materials/textures/sl_metal04.jpg Felix Schulthess
+materials/textures/sl_metal05.jpg Felix Schulthess
+materials/textures/sl_metal06.jpg Felix Schulthess
+materials/textures/sl_metal07.jpg Felix Schulthess
+materials/textures/sl_metal.jpg Felix Schulthess
+materials/textures/sl_organic01.jpg Felix Schulthess
+materials/textures/sl_organic02.jpg Felix Schulthess
+materials/textures/sl_organic03.jpg Felix Schulthess
+materials/textures/sl_organic04.jpg Felix Schulthess
+materials/textures/sl_panel.jpg Felix Schulthess
+materials/textures/smoke2.tga Fabian Landau
+materials/textures/smoke3.tga Fabian Landau
+materials/textures/smoke4.tga Gion-Andri Cantieni
+materials/textures/smokecolors.tga unknown
+materials/textures/smoke.tga Benjamin de Capitani
+materials/textures/snowyWhite.jpg Mirko Kaiser
+materials/textures/spacecruiser_16.jpg Felix Schulthess
+materials/textures/Spaceshipbody.jpg unknown
+materials/textures/SpaceShipTransporter036_engine.jpg Axel Bomhauer-Beins
+materials/textures/SpaceShipTransporter036_newtexture.jpg Axel Bomhauer-Beins
+materials/textures/SpaceshipWings.jpg Benjamin de Capitani
+materials/textures/spacesruiser.tga unknown
+materials/textures/sphere.tga Damian Frick
+materials/textures/starbox_bk.jpg Felix Schulthess
+materials/textures/starbox_dn.jpg Felix Schulthess
+materials/textures/starbox_fr.jpg Felix Schulthess
+materials/textures/starbox_lf.jpg Felix Schulthess
+materials/textures/starbox_rt.jpg Felix Schulthess
+materials/textures/starbox_up.jpg Felix Schulthess
+materials/textures/starship.tga unknown
+materials/textures/stockstealth.jpeg Benjamin de Capitani
+materials/textures/streak.tga unknown
+materials/textures/swallow_tex.tga David Gassner
+materials/textures/tdc.tga Felix Schulthess
+materials/textures/texture.jpg Benjamin de Capitani
+materials/textures/thrust.jpg Felix Schulthess
+materials/textures/tiled_floor.jpg Reto Grieder
+materials/textures/transporter5Fluegel_Cube.jpg Benjamin de Capitani
+materials/textures/transporter5Huelle-Cube.001.jpg Benjamin de Capitani
+materials/textures/Triebwerk1_Cylinder.jpg Benjamin de Capitani
+materials/textures/wall01.jpg Felix Schulthess
+materials/textures/white.tga Felix Schulthess
+materials/textures/sl_metal/sl_metal_001.png Martin Polak?
+materials/textures/sl_metal/sl_metal_002.png Martin Polak?
+materials/textures/sl_metal/sl_metal_003.png Martin Polak?
+materials/textures/sl_metal/sl_metal_004.png Martin Polak?
+materials/textures/sl_metal/sl_metal_005.png Martin Polak?
+materials/textures/sl_metal/sl_metal_006.png Martin Polak?
+materials/textures/sl_metal/sl_metal_007.png Martin Polak?
+materials/textures/sl_metal/sl_metal_008.png Martin Polak?
+materials/textures/sl_metal/sl_metal_009.png Martin Polak?
+materials/textures/sl_metal/sl_metal_010.png Martin Polak?
+materials/textures/sl_metal/sl_metal_011.png Martin Polak?
+materials/textures/sl_metal/sl_metal_012.png Martin Polak?
+materials/textures/sl_metal/sl_metal_013.png Martin Polak?
+materials/textures/sl_metal/sl_metal_014.png Martin Polak?
+materials/textures/sl_metal/sl_metal_015.png Martin Polak?
+materials/textures/sl_metal/sl_metal_016.png Martin Polak?
+materials/textures/sl_metal/sl_metal_017.png Martin Polak?
+materials/textures/sl_metal/sl_metal_018.png Martin Polak?
+materials/textures/sl_metal/sl_metal_019.png Martin Polak?
+materials/textures/sl_metal/sl_metal_020.png Martin Polak?
+materials/textures/sl_metal/sl_metal_021.png Martin Polak?
+materials/textures/sl_metal/sl_metal_022.png Martin Polak?
+materials/textures/sl_metal/sl_metal_023.png Martin Polak?
+materials/textures/sl_metal/sl_metal_024.png Martin Polak?
+materials/textures/sl_metal/sl_metal_025.png Martin Polak?
+materials/textures/sl_metal/sl_metal_026.png Martin Polak?
+materials/textures/sl_metal/sl_metal_027.png Martin Polak?
+materials/textures/sl_metal/sl_metal_028.png Martin Polak?
+materials/textures/sl_metal/sl_metal_029.png Martin Polak?
+materials/textures/sl_metal/sl_metal_030.png Martin Polak?
+materials/textures/sl_metal/sl_metal_031.png Martin Polak?
+materials/textures/sl_metal/sl_metal_032.png Martin Polak?
+materials/textures/sl_metal/sl_metal_034.png Martin Polak?
+materials/textures/sl_metal/sl_metal_035.png Martin Polak?
+materials/textures/sl_metal/sl_metal_036.png Martin Polak?
+materials/textures/sl_metal/sl_metal_037.png Martin Polak?
+models/assff_lod_med.mesh Oliver Scheuss
+models/assff.mesh Felix Schulthess
+models/ast1.mesh unknown
+models/ast2.mesh unknown
+models/ast3.mesh unknown
+models/ast4.mesh unknown
+models/ast5.mesh unknown
+models/ast6.mesh unknown
+models/asteroid1.mesh Benjamin de Capitani
+models/asteroid2.mesh Benjamin de Capitani
+models/asteroid3.mesh Benjamin de Capitani
+models/asteroid4.mesh Benjamin de Capitani
+models/asteroid_ice.mesh Benjamin de Capitani
+models/asteroid.mesh Benjamin de Capitani
+models/asteroid_UV_lq.mesh Benjamin de Capitani
+models/asteroid_UV.mesh Benjamin de Capitani
+models/axes.mesh Felix Schulthess
+models/BodyDebris1.mesh Benjamin de Capitani
+models/can.mesh Hagen Seifert
+models/Carrier.mesh Felix Schulthess
+models/CockpitDebris.mesh Benjamin de Capitani
+models/Cone.mesh Felix Schulthess
+models/crate.mesh Reto Grieder
+models/cube_green.mesh Reto Grieder
+models/cube.mesh Felix Schulthess
+models/cube_orange.mesh Reto Grieder
+models/cube_red.mesh Reto Grieder
+models/cube_yellow.mesh Reto Grieder
+models/CuboidBody.mesh Mirko Kaiser
+models/CuboidConnBody.mesh Mirko Kaiser
+models/CuboidConnection.mesh Mirko Kaiser
+models/CuboidLandingZone.mesh Mirko Kaiser
+models/cwrench.mesh Felix Schulthess
+models/DoubleCuboidBody.mesh Mirko Kaiser
+models/drone.mesh unknown
+models/DuBall1.mesh Rocco Bottani, Massimo Maffioli
+models/DuBall2.mesh Rocco Bottani, Massimo Maffioli
+models/earth.mesh Marian Runo
+models/ghost.mesh David Gassner
+models/gwrench.mesh Felix Schulthess
+models/h2_green.mesh David Gassner
+models/hs-w01.mesh Hagen Seifert
+models/hs-w01_reduced.mesh Benjamin de Capitani
+models/hs-w01s.mesh Hagen Seifert
+models/HXY.mesh Benjamin de Capitani
+models/iceplanet.mesh Marian Runo
+models/jumpthrust.mesh Felix Schulthess
+models/laserbeam.mesh Hagen Seifert
+models/LightningGun.mesh Joël Smely
+models/LightningGun-s.mesh Joël Smely
+models/ogrehead.mesh unknown
+models/pirate.mesh Felix Schulthess
+models/plane.mesh Reto Grieder
+models/planet.mesh Felix Schulthess
+models/rocket.mesh Daniel Cristen
+models/satellitedish.mesh Mirko Kaiser
+models/satellite.mesh Felix Schulthess
+models/SemiCircleCockpit.mesh Mirko Kaiser
+models/SmallPart1.mesh Benjamin de Capitani
+models/SmallPart2.mesh Benjamin de Capitani
+models/SolarPanel.mesh Mirko Kaiser
+models/spacecruiser_16.mesh Felix Schulthess
+models/spacecruiser.mesh unknown
+models/sphere.mesh Felix Schulthess
+models/starship.mesh unknown
+models/swallow_mat.mesh David Gassner
+models/Thruster.mesh Mirko Kaiser
+models/Transporter.mesh Benjamin de Capitani
+models/UEATransporter036.mesh Axel Bomhauer-Beins
+models/UEATransporter036T.mesh Axel Bomhauer-Beins
+models/WingDebris1.mesh Benjamin de Capitani
+models/WingDebris2.mesh Benjamin de Capitani
Index: /data/branches/png2/LICENSE
===================================================================
--- /data/branches/png2/LICENSE (revision 7245)
+++ /data/branches/png2/LICENSE (revision 7245)
@@ -0,0 +1,64 @@
+All data is released under the following licensed unless otherwise stated.
+
+
+License
+
+THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED.
+
+BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS.
+
+1. Definitions
+
+ a. "Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License.
+ b. "Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined below) for the purposes of this License.
+ c. "Creative Commons Compatible License" means a license that is listed at http://creativecommons.org/compatiblelicenses that has been approved by Creative Commons as being essentially equivalent to this License, including, at a minimum, because that license: (i) contains terms that have the same purpose, meaning and effect as the License Elements of this License; and, (ii) explicitly permits the relicensing of adaptations of works made available under that license under this License or a Creative Commons jurisdiction license with the same License Elements as this License.
+ d. "Distribute" means to make available to the public the original and copies of the Work or Adaptation, as appropriate, through sale or other transfer of ownership.
+ e. "License Elements" means the following high-level license attributes as selected by Licensor and indicated in the title of this License: Attribution, ShareAlike.
+ f. "Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License.
+ g. "Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast.
+ h. "Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work.
+ i. "You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation.
+ j. "Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images.
+ k. "Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium.
+
+2. Fair Dealing Rights. Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws.
+
+3. License Grant. Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below:
+
+ a. to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections;
+ b. to create and Reproduce Adaptations provided that any such Adaptation, including any translation in any medium, takes reasonable steps to clearly label, demarcate or otherwise identify that changes were made to the original Work. For example, a translation could be marked "The original work was translated from English to Spanish," or a modification could indicate "The original work has been modified.";
+ c. to Distribute and Publicly Perform the Work including as incorporated in Collections; and,
+ d. to Distribute and Publicly Perform Adaptations.
+ e. For the avoidance of doubt:
+ i. Non-waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License;
+ ii. Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor waives the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; and,
+ iii. Voluntary License Schemes. The Licensor waives the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License.
+
+The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats. Subject to Section 8(f), all rights not expressly granted by Licensor are hereby reserved.
+
+4. Restrictions. The license granted in Section 3 above is expressly made subject to and limited by the following restrictions:
+
+ a. You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. If You create an Adaptation, upon notice from any Licensor You must, to the extent practicable, remove from the Adaptation any credit as required by Section 4(c), as requested.
+ b. You may Distribute or Publicly Perform an Adaptation only under the terms of: (i) this License; (ii) a later version of this License with the same License Elements as this License; (iii) a Creative Commons jurisdiction license (either this or a later license version) that contains the same License Elements as this License (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons Compatible License. If you license the Adaptation under one of the licenses mentioned in (iv), you must comply with the terms of that license. If you license the Adaptation under the terms of any of the licenses mentioned in (i), (ii) or (iii) (the "Applicable License"), you must comply with the terms of the Applicable License generally and the following provisions: (I) You must include a copy of, or the URI for, the Applicable License with every copy of each Adaptation You Distribute or Publicly Perform; (II) You may not offer or impose any terms on the Adaptation that restrict the terms of the Applicable License or the ability of the recipient of the Adaptation to exercise the rights granted to that recipient under the terms of the Applicable License; (III) You must keep intact all notices that refer to the Applicable License and to the disclaimer of warranties with every copy of the Work as included in the Adaptation You Distribute or Publicly Perform; (IV) when You Distribute or Publicly Perform the Adaptation, You may not impose any effective technological measures on the Adaptation that restrict the ability of a recipient of the Adaptation from You to exercise the rights granted to that recipient under the terms of the Applicable License. This Section 4(b) applies to the Adaptation as incorporated in a Collection, but this does not require the Collection apart from the Adaptation itself to be made subject to the terms of the Applicable License.
+ c. If You Distribute, or Publicly Perform the Work or any Adaptations or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work; and (iv) , consistent with Ssection 3(b), in the case of an Adaptation, a credit identifying the use of the Work in the Adaptation (e.g., "French translation of the Work by Original Author," or "Screenplay based on original Work by Original Author"). The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Adaptation or Collection, at a minimum such credit will appear, if a credit for all contributing authors of the Adaptation or Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties.
+ d. Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Adaptations or Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. Licensor agrees that in those jurisdictions (e.g. Japan), in which any exercise of the right granted in Section 3(b) of this License (the right to make Adaptations) would be deemed to be a distortion, mutilation, modification or other derogatory action prejudicial to the Original Author's honor and reputation, the Licensor will waive or not assert, as appropriate, this Section, to the fullest extent permitted by the applicable national law, to enable You to reasonably exercise Your right under Section 3(b) of this License (right to make Adaptations) but not otherwise.
+
+5. Representations, Warranties and Disclaimer
+
+UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU.
+
+6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+7. Termination
+
+ a. This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Adaptations or Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License.
+ b. Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above.
+
+8. Miscellaneous
+
+ a. Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License.
+ b. Each time You Distribute or Publicly Perform an Adaptation, Licensor offers to the recipient a license to the original Work on the same terms and conditions as the license granted to You under this License.
+ c. If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable.
+ d. No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent.
+ e. This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You.
+ f. The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law.
Index: /data/branches/png2/fonts/LiberationMono.fontdef
===================================================================
--- /data/branches/png2/fonts/LiberationMono.fontdef (revision 7245)
+++ /data/branches/png2/fonts/LiberationMono.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+LiberationMono
+{
+ type truetype
+ source LiberationMono.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/MonoSpatial.fontdef
===================================================================
--- /data/branches/png2/fonts/MonoSpatial.fontdef (revision 7245)
+++ /data/branches/png2/fonts/MonoSpatial.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+MonoSpatial
+{
+ type truetype
+ source MonoSpatial.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/Monofur.fontdef
===================================================================
--- /data/branches/png2/fonts/Monofur.fontdef (revision 7245)
+++ /data/branches/png2/fonts/Monofur.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+Monofur
+{
+ type truetype
+ source Monofur.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/SaxMono.fontdef
===================================================================
--- /data/branches/png2/fonts/SaxMono.fontdef (revision 7245)
+++ /data/branches/png2/fonts/SaxMono.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+SaxMono
+{
+ type truetype
+ source SaxMono.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/Selectric.fontdef
===================================================================
--- /data/branches/png2/fonts/Selectric.fontdef (revision 7245)
+++ /data/branches/png2/fonts/Selectric.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+Selectric
+{
+ type truetype
+ source Selectric.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/ShareTechMono.fontdef
===================================================================
--- /data/branches/png2/fonts/ShareTechMono.fontdef (revision 7245)
+++ /data/branches/png2/fonts/ShareTechMono.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+ShareTechMono
+{
+ type truetype
+ source ShareTechMono.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/Tt-Kp.fontdef
===================================================================
--- /data/branches/png2/fonts/Tt-Kp.fontdef (revision 7245)
+++ /data/branches/png2/fonts/Tt-Kp.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+Tt-Kp
+{
+ type truetype
+ source Tt-Kp.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/VeraMono.fontdef
===================================================================
--- /data/branches/png2/fonts/VeraMono.fontdef (revision 7245)
+++ /data/branches/png2/fonts/VeraMono.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+VeraMono
+{
+ type truetype
+ source VeraMono.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/console.fontdef
===================================================================
--- /data/branches/png2/fonts/console.fontdef (revision 7245)
+++ /data/branches/png2/fonts/console.fontdef (revision 7245)
@@ -0,0 +1,10 @@
+Console
+{
+ type truetype
+ source typewriter.ttf
+ size 32
+ resolution 96
+ code_points 33-126 161-255
+}
+
+
Index: /data/branches/png2/fonts/read_me.html
===================================================================
--- /data/branches/png2/fonts/read_me.html (revision 7245)
+++ /data/branches/png2/fonts/read_me.html (revision 7245)
@@ -0,0 +1,2 @@
+
Larabie Fonts "read me" file, license and FAQ LARABIE FONTS README.TXT All Larabie Fonts in this file are free to use for personal and/or commercial purposes. No payment is necessary to use these fonts for personal or commercial use. For Software Products who want to include Larabie Fonts see the License Agreement below. You can add this font to a website but do not combine fonts into a single archive or alter them in any way.
All Larabie Fonts are free for commercial use but a sample of your product would be gratefully appreciated so I can see how the font looks in use. Contact www.larabiefonts.com/donation.html for mailing information.
Some Larabie Fonts have enhanced and expanded families available for sale at www.typodermic.com .
If you'd like to make a voluntary donation to Larabie Fonts for the use of the free fonts in any amount please go to www.larabiefonts.com/donation.html
I accept CDs, magazines, t-shirts, a sample of your merchandise or anything featuring Larabie Fonts. Please remember to list your item as a gift on the customs form or I will have to pay import duties and taxes on the item. Mailing information is provided at the link above.
Font installation help is available at www.larabiefonts.com/help.html
LARABIE FONTS FREQUENTLY ASKED QUESTIONS Q: How do use these fonts in my favourite software? A: In Windows, you take the fonts out of the ZIP archive and place them in your fonts folder which can be found in your Control Panel. The next time you run your software, the font will be available. For example: If you install a new font, the next time you run Microsoft Word, that font will be available in the menu under Format / Font. For anything more complicated, or Mac installation, visit www.larabiefonts.com/help.html Q: How can I use this font in AOL Instant Messenger , MSN Messenger , Outlook , Outlook Express , Euodora or any other email software? A: At the time of this writing (Feb 2004) you cant. After installing one of my fonts, you may be able to select it in the above applications but the person at the other end wont see that same thing unless they have the font installed. If you really want to use my fonts in these applications, make sure the people at the other end have the same fonts installed. Q: How can I use these fonts on a web page? A: If youre creating a web page using Flash, its easy. Consult your Flash manual. If youre using Acrobat , make sure the font embedding settings are turned on. Consult your Acrobat manual. For anything else there are limitations: If you want to use one of my fonts as your main, text font youre pretty much out of luck unless you explore a font embedding tool such as WEFT but I dont recommend it. To use my fonts as headings or titles, use image creation software such as The Gimp , Photoshop , Paint Shop Pro , Pixia etc. Save the images as GIF files and place them on your web page. Theres a lot more to it than can be explained here but there are countless books available on web page design. Q: How can I make these fonts bigger? A: All my fonts are infinitely scalable; the limitations are in your software. A common problem is scaling fonts in Microsoft Word. If you choose Format / Font you can type in any number you like under size. Q: Are these fonts really free? A: Yes they are. Some fonts such as Neuropol have expanded font families available for sale at www.typodermic.com but the version you downloaded at Larabie Fonts is free. Q: Your licence agreement states that the fonts cant be altered. Does that mean I cant mess around with your fonts in Photoshop/Illustrator/Publisher etc? A: Those license restrictions refer to altering the actual fonts themselves, not what you make with them. As long as you dont alter the font files in font creation software such as FontLab or Fontographer youre free to create anything you like with them. Q: Can I use your fonts in a logo? A: Yes. But check with a lawyer if youre not sure. Its okay with me if you use it but do so at your own risk. Q: Can you make a custom font for me? A: Possibly. Check typodermic.com/custom.html for details. Keep in mind that making fonts is my full-time job so no freebies. Q: I want to sell rubber stamp alphabets, alphabet punches or stencil alphabets using your font designs. A: Contact me first at www.larabiefonts.com/email.html . Q: My software wont let me embed one of your fonts. A: You may have an old version of one of my fonts. Uninstall it and install a current version on Larabie Fonts. Q: Can you help me find a font? A: I really dont have the time but if you send a donation, I can give it a try. If not. post your question on my font forum: www.larabiefonts.com/info.html . LARABIE FONTS END-USER LICENSE AGREEMENT FOR SOFTWARE PRODUCTS SOFTWARE PRODUCT LICENSE The SOFTWARE PRODUCT is protected by copyright laws and International copyright treaties, as well as other intellectual property laws and treaties. The SOFTWARE PRODUCT is licensed, not sold.
1. GRANT OF LICENSE. This document grants you the following rights: - Installation and Use. You may install and use an unlimited number of copies of the SOFTWARE PRODUCT. You may copy and distribute unlimited copies of the SOFTWARE PRODUCT as you receive them, in any medium, provided that you publish on each copy an appropriate copyright notice. Keep intact all the notices that refer to this License and give any other recipients of the fonts a copy of this License along with the fonts.
2. DESCRIPTION OF OTHER RIGHTS AND LIMITATIONS. - You may modify your copy or copies of the SOFTWARE PRODUCT or any portion of it, provided that you also meet all of these rules:
a) Do not alter in any way alphanumeric characters (A-Z, a-z, 1-9) contained in the font. An exception is converting between formats, here is allowed the nominal distortion that occurs during conversion from second order to third order quadratic curves (TrueType to Postscript) and vice versa.
b) Extra characters may be added; here it is allowed to use curves (shapes) from alphanumeric characters in fonts under same license.
c) It is allowed to modify and remove analpahbetics (punctuation, special characters, ligatures and symbols).
d) The original font name must be retained but can be augmented. (ie. a Font named Blue Highway can be renamed Blue Highway Cyrillic or Blue Highway ANSI, etc.)
e) Character mapping may be altered.
f) If the kerning information is altered or discarded it must be stated in the user notes or documentation.
g) All modifications must be released under this license.
LIMITED WARRANTY NO WARRANTIES. Larabie Fonts expressly disclaims any warranty for the SOFTWARE PRODUCT. The SOFTWARE PRODUCT and any related documentation is provided "as is" without warranty of any kind, either express or implied, including, without limitation, the implied warranties or merchantability, fitness for a particular purpose, or non-infringement. The entire risk arising out of use or performance of the SOFTWARE PRODUCT remains with you.NO LIABILITY FOR CONSEQUENTIAL DAMAGES. In no event shall Larabie Fonts be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or any other pecuniary loss) arising out of the use of or inability to use this product, even if Larabie Fonts has been advised of the possibility of such damages.
3. MISCELLANEOUS Should you have any questions concerning this document, or if you desire to contact Larabie Fonts for any reason, please email www.larabiefonts.com/email.html .
+
Index: /data/branches/png2/fonts/sample.fontdef
===================================================================
--- /data/branches/png2/fonts/sample.fontdef (revision 7245)
+++ /data/branches/png2/fonts/sample.fontdef (revision 7245)
@@ -0,0 +1,11 @@
+StarWars
+{
+ // Now this one I agree with ;)
+ // A Star Wars font :)
+ type truetype
+ source solo5.ttf
+ size 32
+ resolution 96
+}
+
+
Index: /data/branches/png2/gui/fonts/Commonwealth-10.font
===================================================================
--- /data/branches/png2/gui/fonts/Commonwealth-10.font (revision 7245)
+++ /data/branches/png2/gui/fonts/Commonwealth-10.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/DejaVuSans-10.font
===================================================================
--- /data/branches/png2/gui/fonts/DejaVuSans-10.font (revision 7245)
+++ /data/branches/png2/gui/fonts/DejaVuSans-10.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/FairChar-30.font
===================================================================
--- /data/branches/png2/gui/fonts/FairChar-30.font (revision 7245)
+++ /data/branches/png2/gui/fonts/FairChar-30.font (revision 7245)
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/fonts/Font.xsd
===================================================================
--- /data/branches/png2/gui/fonts/Font.xsd (revision 7245)
+++ /data/branches/png2/gui/fonts/Font.xsd (revision 7245)
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/fonts/Iconified-12.font
===================================================================
--- /data/branches/png2/gui/fonts/Iconified-12.font (revision 7245)
+++ /data/branches/png2/gui/fonts/Iconified-12.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/Legal.txt
===================================================================
--- /data/branches/png2/gui/fonts/Legal.txt (revision 7245)
+++ /data/branches/png2/gui/fonts/Legal.txt (revision 7245)
@@ -0,0 +1,29 @@
+The file fkp.de.pcf is a X11 bitmap font, taken from the artwiz font collection:
+http://artwizaleczapka.sourceforge.net
+
+artwiz-aleczapka is released under the terms of GNU General Public License
+(GPL) version 2. Read file 'COPYING' from the artwiz package for detailed info.
+
+================================================================================
+
+DejaVuSans.ttf is a international TrueType font from the excellent DejaVu font
+package, which is distributed under the conditions of the Bitstream Vera Fonts
+Copyright, which can be found in the DejaVu package.
+
+DejaVu fonts 2.2 (c)2004-2006 Stepan Roh and DejaVu fonts team
+--------------------------------------------------------------
+
+The DejaVu fonts are a font family based on the Bitstream Vera Fonts
+(http://gnome.org/fonts/). Its purpose is to provide a wider range of
+characters (see status.txt for more information) while maintaining the
+original look and feel.
+
+DejaVu fonts are based on Bitstream Vera fonts version 1.10.
+
+================================================================================
+
+FairChar.font is a image-based font from the good old days of the demo scene,
+when 320x240 and 320x480 were the best resolutions invented ever ;-) I don't
+know who is the original author of these nice glyphs, everything but the .GIF
+file was lost in the long road from early 90s, when I got it from some BBS
+to nowadays... -- Andrew Zabolotny.
Index: /data/branches/png2/gui/fonts/Monofur-10.font
===================================================================
--- /data/branches/png2/gui/fonts/Monofur-10.font (revision 7245)
+++ /data/branches/png2/gui/fonts/Monofur-10.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/README
===================================================================
--- /data/branches/png2/gui/fonts/README (revision 7245)
+++ /data/branches/png2/gui/fonts/README (revision 7245)
@@ -0,0 +1,4 @@
+The fonts in this directory were obtained from Iconian Fonts and may be freely used for all non-commercial uses.
+
+http://www.iconian.com/
+
Index: /data/branches/png2/gui/fonts/bluehighway-10.font
===================================================================
--- /data/branches/png2/gui/fonts/bluehighway-10.font (revision 7245)
+++ /data/branches/png2/gui/fonts/bluehighway-10.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/bluehighway-12.font
===================================================================
--- /data/branches/png2/gui/fonts/bluehighway-12.font (revision 7245)
+++ /data/branches/png2/gui/fonts/bluehighway-12.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/bluehighway-8.font
===================================================================
--- /data/branches/png2/gui/fonts/bluehighway-8.font (revision 7245)
+++ /data/branches/png2/gui/fonts/bluehighway-8.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/common.txt
===================================================================
--- /data/branches/png2/gui/fonts/common.txt (revision 7245)
+++ /data/branches/png2/gui/fonts/common.txt (revision 7245)
@@ -0,0 +1,9 @@
+Commonwealth Truetype Font for Windows version 2
+
+2003 Iconian Fonts - Daniel Zadorozny
+
+http://www.iconian.com/
+
+This font may be freely distributed and is free for all non-commercial uses. This font is e-mailware; that is, if you like it, please e-mail the author at:
+
+iconian@aol.com
Index: /data/branches/png2/gui/fonts/fkp-16.font
===================================================================
--- /data/branches/png2/gui/fonts/fkp-16.font (revision 7245)
+++ /data/branches/png2/gui/fonts/fkp-16.font (revision 7245)
@@ -0,0 +1,2 @@
+
+
Index: /data/branches/png2/gui/fonts/icon.txt
===================================================================
--- /data/branches/png2/gui/fonts/icon.txt (revision 7245)
+++ /data/branches/png2/gui/fonts/icon.txt (revision 7245)
@@ -0,0 +1,11 @@
+Iconified Truetype Font for Windows version 2
+
+2003 Iconian Fonts - Daniel Zadorozny
+
+http://www.iconian.com/
+
+"Iconified" was named by Graham Meade of Gemfonts (http://skyscraper.fortunecity.com/windows/3/maingemnew.htm)
+
+This font may be freely distributed and is free for all non-commercial uses. This font is e-mailware; that is, if you like it, please e-mail the author at:
+
+iconian@aol.com
Index: /data/branches/png2/gui/imagesets/DriveIcons.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/DriveIcons.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/DriveIcons.imageset (revision 7245)
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/FairChar.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/FairChar.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/FairChar.imageset (revision 7245)
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/Imageset.xsd
===================================================================
--- /data/branches/png2/gui/imagesets/Imageset.xsd (revision 7245)
+++ /data/branches/png2/gui/imagesets/Imageset.xsd (revision 7245)
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/MainMenuBackground.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/MainMenuBackground.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/MainMenuBackground.imageset (revision 7245)
@@ -0,0 +1,4 @@
+
+
+
+
Index: /data/branches/png2/gui/imagesets/PickupInventory.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/PickupInventory.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/PickupInventory.imageset (revision 7245)
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/ReadMe.txt
===================================================================
--- /data/branches/png2/gui/imagesets/ReadMe.txt (revision 7245)
+++ /data/branches/png2/gui/imagesets/ReadMe.txt (revision 7245)
@@ -0,0 +1,6 @@
+The images in this directory were obtained from various sources...
+
+GPN-2000-001437.tga - From GRIN (http://grin.hq.nasa.gov/)
+TaharezLook.tga - Original Taharez imagery created by Lars "Taharez" Rinde.
+WindowsLook.tga - Windows look imagery created by Paul "CrazyEddie" Turner.
+vanilla.tga - Original "Vanilla GUI" imagery created by Shane Parker, used with permission.
Index: /data/branches/png2/gui/imagesets/SleekSpace.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/SleekSpace.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/SleekSpace.imageset (revision 7245)
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/TaharezGreenLook.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/TaharezGreenLook.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/TaharezGreenLook.imageset (revision 7245)
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/TaharezLook.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/TaharezLook.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/TaharezLook.imageset (revision 7245)
@@ -0,0 +1,245 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/Vanilla.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/Vanilla.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/Vanilla.imageset (revision 7245)
@@ -0,0 +1,21 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/imagesets/WindowsLook.imageset
===================================================================
--- /data/branches/png2/gui/imagesets/WindowsLook.imageset (revision 7245)
+++ /data/branches/png2/gui/imagesets/WindowsLook.imageset (revision 7245)
@@ -0,0 +1,166 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/looknfeel/Falagard.xsd
===================================================================
--- /data/branches/png2/gui/looknfeel/Falagard.xsd (revision 7245)
+++ /data/branches/png2/gui/looknfeel/Falagard.xsd (revision 7245)
@@ -0,0 +1,399 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/looknfeel/SleekSpace.looknfeel
===================================================================
--- /data/branches/png2/gui/looknfeel/SleekSpace.looknfeel (revision 7245)
+++ /data/branches/png2/gui/looknfeel/SleekSpace.looknfeel (revision 7245)
@@ -0,0 +1,3601 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/looknfeel/TaharezGreenLook.looknfeel
===================================================================
--- /data/branches/png2/gui/looknfeel/TaharezGreenLook.looknfeel (revision 7245)
+++ /data/branches/png2/gui/looknfeel/TaharezGreenLook.looknfeel (revision 7245)
@@ -0,0 +1,4813 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/looknfeel/TaharezLook.looknfeel
===================================================================
--- /data/branches/png2/gui/looknfeel/TaharezLook.looknfeel (revision 7245)
+++ /data/branches/png2/gui/looknfeel/TaharezLook.looknfeel (revision 7245)
@@ -0,0 +1,4813 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/looknfeel/Vanilla.looknfeel
===================================================================
--- /data/branches/png2/gui/looknfeel/Vanilla.looknfeel (revision 7245)
+++ /data/branches/png2/gui/looknfeel/Vanilla.looknfeel (revision 7245)
@@ -0,0 +1,1077 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/gui/looknfeel/WindowsLook.looknfeel
===================================================================
--- /data/branches/png2/gui/looknfeel/WindowsLook.looknfeel (revision 7245)
+++ /data/branches/png2/gui/looknfeel/WindowsLook.looknfeel (revision 7245)
@@ -0,0 +1,4579 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/materials/programs/AmbientOneTexture.glsl
===================================================================
--- /data/branches/png2/materials/programs/AmbientOneTexture.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/AmbientOneTexture.glsl (revision 7245)
@@ -0,0 +1,13 @@
+uniform vec4 ambient;
+
+/*
+ Basic ambient lighting vertex program
+*/
+void main()
+{
+ gl_Position = ftransform();
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+ gl_FrontColor = ambient;
+}
+
+
Index: /data/branches/png2/materials/programs/Blur0_ps20.hlsl
===================================================================
--- /data/branches/png2/materials/programs/Blur0_ps20.hlsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur0_ps20.hlsl (revision 7245)
@@ -0,0 +1,31 @@
+sampler RT: register(s0);
+// Simple blur filter
+
+float4 main(float2 texCoord: TEXCOORD0) : COLOR {
+
+ float2 samples[12] = {
+ -0.326212, -0.405805,
+ -0.840144, -0.073580,
+ -0.695914, 0.457137,
+ -0.203345, 0.620716,
+ 0.962340, -0.194983,
+ 0.473434, -0.480026,
+ 0.519456, 0.767022,
+ 0.185461, -0.893124,
+ 0.507431, 0.064425,
+ 0.896420, 0.412458,
+ -0.321940, -0.932615,
+ -0.791559, -0.597705,
+ };
+
+ float4 sum = tex2D(RT, texCoord);
+ for (int i = 0; i < 12; i++){
+ sum += tex2D(RT, texCoord + 0.025 * samples[i]);
+ }
+ return sum / 13;
+
+}
+
+
+
+
Index: /data/branches/png2/materials/programs/Blur0_vs.glsl
===================================================================
--- /data/branches/png2/materials/programs/Blur0_vs.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur0_vs.glsl (revision 7245)
@@ -0,0 +1,15 @@
+varying vec2 texCoord[5];
+
+void main()
+{
+ vec2 inPos = sign(gl_Vertex.xy);
+ gl_Position = vec4(inPos.xy, 0.0, 1.0);
+
+ texCoord[0] = (vec2(inPos.x, -inPos.y) + 1.0)/2.0;
+
+ const float size = 0.01;
+ texCoord[1] = texCoord[0] + vec2(1.0, 0.0)*size;
+ texCoord[2] = texCoord[0] + vec2(2.0, 0.0)*size;
+ texCoord[3] = texCoord[0] + vec2(-1.0, 0.0)*size;
+ texCoord[4] = texCoord[0] + vec2(-2.0, 0.0)*size;
+}
Index: /data/branches/png2/materials/programs/Blur0_vs11.hlsl
===================================================================
--- /data/branches/png2/materials/programs/Blur0_vs11.hlsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur0_vs11.hlsl (revision 7245)
@@ -0,0 +1,22 @@
+struct VS_OUTPUT {
+ float4 Pos: POSITION;
+ float2 texCoord: TEXCOORD0;
+};
+
+VS_OUTPUT main(float4 Pos: POSITION){
+ VS_OUTPUT Out;
+
+ // Clean up inaccuracies
+ Pos.xy = sign(Pos.xy);
+
+ Out.Pos = float4(Pos.xy, 0, 1);
+ // Image-space
+ Out.texCoord.x = 0.5 * (1 + Pos.x);
+ Out.texCoord.y = 0.5 * (1 - Pos.y);
+
+ return Out;
+}
+
+
+
+
Index: /data/branches/png2/materials/programs/Blur1_ps20.hlsl
===================================================================
--- /data/branches/png2/materials/programs/Blur1_ps20.hlsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur1_ps20.hlsl (revision 7245)
@@ -0,0 +1,28 @@
+sampler Blur0: register(s0);
+// Simple blur filter
+
+float4 main(float2 texCoord: TEXCOORD0) : COLOR {
+
+ float2 samples[12] = {
+ -0.326212, -0.405805,
+ -0.840144, -0.073580,
+ -0.695914, 0.457137,
+ -0.203345, 0.620716,
+ 0.962340, -0.194983,
+ 0.473434, -0.480026,
+ 0.519456, 0.767022,
+ 0.185461, -0.893124,
+ 0.507431, 0.064425,
+ 0.896420, 0.412458,
+ -0.321940, -0.932615,
+ -0.791559, -0.597705,
+ };
+
+ float4 sum = tex2D(Blur0, texCoord);
+ for (int i = 0; i < 12; i++){
+ sum += tex2D(Blur0, texCoord + 0.025 * samples[i]);
+ }
+ return sum / 13;
+
+}
+
Index: /data/branches/png2/materials/programs/Blur1_vs.glsl
===================================================================
--- /data/branches/png2/materials/programs/Blur1_vs.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur1_vs.glsl (revision 7245)
@@ -0,0 +1,15 @@
+varying vec2 texCoord[5];
+
+void main()
+{
+ vec2 inPos = sign(gl_Vertex.xy);
+ gl_Position = vec4(inPos.xy, 0.0, 1.0);
+
+ texCoord[0] = (vec2(inPos.x, -inPos.y) + 1.0)/2.0;
+
+ const float size = 0.01;
+ texCoord[1] = texCoord[0] + vec2(0.0, 1.0)*size;
+ texCoord[2] = texCoord[0] + vec2(0.0, 2.0)*size;
+ texCoord[3] = texCoord[0] + vec2(0.0, -1.0)*size;
+ texCoord[4] = texCoord[0] + vec2(0.0, -2.0)*size;
+}
Index: /data/branches/png2/materials/programs/Blur1_vs11.hlsl
===================================================================
--- /data/branches/png2/materials/programs/Blur1_vs11.hlsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur1_vs11.hlsl (revision 7245)
@@ -0,0 +1,19 @@
+struct VS_OUTPUT {
+ float4 Pos: POSITION;
+ float2 texCoord: TEXCOORD0;
+};
+
+VS_OUTPUT main(float4 Pos: POSITION){
+ VS_OUTPUT Out;
+
+ // Clean up inaccuracies
+ Pos.xy = sign(Pos.xy);
+
+ Out.Pos = float4(Pos.xy, 0, 1);
+ // Image-space
+ Out.texCoord.x = 0.5 * (1 + Pos.x);
+ Out.texCoord.y = 0.5 * (1 - Pos.y);
+
+ return Out;
+}
+
Index: /data/branches/png2/materials/programs/Blur_ps.glsl
===================================================================
--- /data/branches/png2/materials/programs/Blur_ps.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/Blur_ps.glsl (revision 7245)
@@ -0,0 +1,14 @@
+uniform sampler2D tex0;
+
+varying vec2 texCoord[5];
+
+void main()
+{
+ vec4 sum = texture2D(tex0, texCoord[0]) +
+ texture2D(tex0, texCoord[1]) +
+ texture2D(tex0, texCoord[2]) +
+ texture2D(tex0, texCoord[3]) +
+ texture2D(tex0, texCoord[4]);
+ gl_FragColor = sum / 5.0;
+}
+
Index: /data/branches/png2/materials/programs/BumpMapping.cg
===================================================================
--- /data/branches/png2/materials/programs/BumpMapping.cg (revision 7245)
+++ /data/branches/png2/materials/programs/BumpMapping.cg (revision 7245)
@@ -0,0 +1,152 @@
+// General functions
+
+// Expand a range-compressed vector
+float3 expand(float3 v)
+{
+ return (v - 0.5) * 2;
+}
+
+
+/* Bump mapping vertex program
+ In this program, we want to calculate the tangent space light vector
+ on a per-vertex level which will get passed to the fragment program,
+ or to the fixed function dot3 operation, to produce the per-pixel
+ lighting effect.
+*/
+void main_vp(float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float3 tangent : TANGENT0,
+ // outputs
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float3 oTSLightDir : TEXCOORD1,
+ // parameters
+ uniform float4 lightPosition, // object space
+ uniform float4x4 worldViewProj)
+{
+ // calculate output position
+ oPosition = mul(worldViewProj, position);
+
+ // pass the main uvs straight through unchanged
+ oUv = uv;
+
+ // calculate tangent space light vector
+ // Get object space light direction
+ // Non-normalised since we'll do that in the fragment program anyway
+ float3 lightDir = lightPosition.xyz - (position * lightPosition.w);
+
+ // Calculate the binormal (NB we assume both normal and tangent are
+ // already normalised)
+ // NB looks like nvidia cross params are BACKWARDS to what you'd expect
+ // this equates to NxT, not TxN
+ float3 binormal = cross(tangent, normal);
+
+ // Form a rotation matrix out of the vectors
+ float3x3 rotation = float3x3(tangent, binormal, normal);
+
+ // Transform the light vector according to this matrix
+ oTSLightDir = mul(rotation, lightDir);
+
+
+}
+
+void main_fp( float2 uv : TEXCOORD0,
+ float3 TSlightDir : TEXCOORD1,
+
+ out float4 colour : COLOR,
+
+ uniform float4 lightDiffuse,
+ uniform sampler2D normalMap : register(s0),
+ uniform samplerCUBE normalCubeMap : register(s1) )
+{
+ // retrieve normalised light vector, expand from range-compressed
+ float3 lightVec = expand(texCUBE(normalCubeMap, TSlightDir).xyz);
+
+ // get bump map vector, again expand from range-compressed
+ float3 bumpVec = expand(tex2D(normalMap, uv).xyz);
+
+ // Calculate dot product
+ colour = lightDiffuse * dot(bumpVec, lightVec);
+
+}
+
+/* Vertex program which includes specular component */
+void specular_vp(float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float3 tangent : TANGENT0,
+ // outputs
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float3 oTSLightDir : TEXCOORD1,
+ out float3 oTSHalfAngle : TEXCOORD2,
+ // parameters
+ uniform float4 lightPosition, // object space
+ uniform float3 eyePosition, // object space
+ uniform float4x4 worldViewProj)
+{
+ // calculate output position
+ oPosition = mul(worldViewProj, position);
+
+ // pass the main uvs straight through unchanged
+ oUv = uv;
+
+ // calculate tangent space light vector
+ // Get object space light direction
+ float3 lightDir = normalize(lightPosition.xyz - (position * lightPosition.w));
+
+ // Calculate the binormal (NB we assume both normal and tangent are
+ // already normalised)
+ // NB looks like nvidia cross params are BACKWARDS to what you'd expect
+ // this equates to NxT, not TxN
+ float3 binormal = cross(tangent, normal);
+
+ // Form a rotation matrix out of the vectors
+ float3x3 rotation = float3x3(tangent, binormal, normal);
+
+ // Transform the light vector according to this matrix
+ oTSLightDir = mul(rotation, lightDir);
+
+ // Calculate half-angle in tangent space
+ float3 eyeDir = normalize(eyePosition - position.xyz);
+ float3 halfAngle = normalize(eyeDir + lightDir);
+ oTSHalfAngle = mul(rotation, halfAngle);
+
+
+}
+
+/* Fragment program which supports specular component */
+void specular_fp( float2 uv : TEXCOORD0,
+ float3 TSlightDir : TEXCOORD1,
+ float3 TShalfAngle: TEXCOORD2,
+
+ out float4 colour : COLOR,
+
+ uniform float4 lightDiffuse,
+ uniform float4 lightSpecular,
+ uniform float shine,
+ uniform sampler2D normalMap : register(s0),
+ uniform samplerCUBE normalCubeMap : register(s1),
+ uniform samplerCUBE normalCubeMap2 : register(s2)) // we need this second binding to be compatible with ps_1_1, ps_2_0 could reuse the other
+{
+ // retrieve normalised light vector, expand from range-compressed
+ float3 lightVec = expand(texCUBE(normalCubeMap, TSlightDir).xyz);
+
+ // retrieve half angle and normalise through cube map
+ float3 halfAngle = expand(texCUBE(normalCubeMap2, TShalfAngle).xyz);
+
+ // get bump map vector, again expand from range-compressed
+ float3 bumpVec = expand(tex2D(normalMap, uv).xyz);
+
+
+ float specFactor = pow(dot(bumpVec, halfAngle),shine);
+
+
+
+ // Calculate dot product for diffuse
+ colour = (lightDiffuse * saturate(dot(bumpVec, lightVec))) +
+ (lightSpecular * specFactor);
+
+}
+
Index: /data/branches/png2/materials/programs/Combine_fp.cg
===================================================================
--- /data/branches/png2/materials/programs/Combine_fp.cg (revision 7245)
+++ /data/branches/png2/materials/programs/Combine_fp.cg (revision 7245)
@@ -0,0 +1,15 @@
+float4 Combine_fp
+(
+ in float2 texCoord: TEXCOORD0,
+
+ uniform sampler RT : register(s0),
+ uniform sampler Sum : register(s1),
+
+ uniform float blur
+) : COLOR
+{
+ float4 render = tex2D(RT, texCoord);
+ float4 sum = tex2D(Sum, texCoord);
+
+ return lerp(render, sum, blur);
+}
Index: /data/branches/png2/materials/programs/Example_Basic.cg
===================================================================
--- /data/branches/png2/materials/programs/Example_Basic.cg (revision 7245)
+++ /data/branches/png2/materials/programs/Example_Basic.cg (revision 7245)
@@ -0,0 +1,272 @@
+/*
+ Basic ambient lighting vertex program
+*/
+void ambientOneTexture_vp(float4 position : POSITION,
+ float2 uv : TEXCOORD0,
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 ambient)
+{
+ oPosition = mul(worldViewProj, position);
+ oUv = uv;
+ colour = ambient;
+}
+
+/*
+ Single-weight-per-vertex hardware skinning, 2 lights
+ The trouble with vertex programs is they're not general purpose, but
+ fixed function hardware skinning is very poorly supported
+*/
+void hardwareSkinningOneWeight_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float blendIdx : BLENDINDICES,
+
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 lightPos[2],
+ uniform float4 lightDiffuseColour[2],
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0);
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+ // transform normal
+ float3 norm = mul((float3x3)worldMatrix3x4Array[blendIdx], normal);
+ // Lighting - support point and directional
+ float3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ float3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+ oUv = uv;
+ colour = ambient +
+ (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) +
+ (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]);
+
+}
+
+/*
+ Single-weight-per-vertex hardware skinning, shadow-caster pass
+*/
+void hardwareSkinningOneWeightCaster_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float blendIdx : BLENDINDICES,
+
+
+ out float4 oPosition : POSITION,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0);
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+
+ colour = ambient;
+
+}
+
+/*
+ Two-weight-per-vertex hardware skinning, 2 lights
+ The trouble with vertex programs is they're not general purpose, but
+ fixed function hardware skinning is very poorly supported
+*/
+void hardwareSkinningTwoWeights_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float4 blendIdx : BLENDINDICES,
+ float4 blendWgt : BLENDWEIGHT,
+
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 lightPos[2],
+ uniform float4 lightDiffuseColour[2],
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(0,0,0,0);
+ int i;
+ for (i = 0; i < 2; ++i)
+ {
+ blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i];
+ }
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+ // transform normal
+ float3 norm = float3(0,0,0);
+ for (i = 0; i < 2; ++i)
+ {
+ norm += mul((float3x3)worldMatrix3x4Array[blendIdx[i]], normal) *
+ blendWgt[i];
+ }
+ norm = normalize(norm);
+ // Lighting - support point and directional
+ float3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ float3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+
+ oUv = uv;
+ colour = float4(0.5, 0.5, 0.5, 1) +
+ (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) +
+ (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]);
+
+}
+
+/*
+ Two-weight-per-vertex hardware skinning, shadow caster pass
+*/
+void hardwareSkinningTwoWeightsCaster_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float4 blendIdx : BLENDINDICES,
+ float4 blendWgt : BLENDWEIGHT,
+
+
+ out float4 oPosition : POSITION,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(0,0,0,0);
+ int i;
+ for (i = 0; i < 2; ++i)
+ {
+ blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i];
+ }
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+
+
+ colour = ambient;
+
+
+}
+
+
+/*
+ Four-weight-per-vertex hardware skinning, 2 lights
+ The trouble with vertex programs is they're not general purpose, but
+ fixed function hardware skinning is very poorly supported
+*/
+void hardwareSkinningFourWeights_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float4 blendIdx : BLENDINDICES,
+ float4 blendWgt : BLENDWEIGHT,
+
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 lightPos[2],
+ uniform float4 lightDiffuseColour[2],
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(0,0,0,0);
+ int i;
+ for (i = 0; i < 4; ++i)
+ {
+ blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i];
+ }
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+ // transform normal
+ float3 norm = float3(0,0,0);
+ for (i = 0; i < 4; ++i)
+ {
+ norm += mul((float3x3)worldMatrix3x4Array[blendIdx[i]], normal) *
+ blendWgt[i];
+ }
+ norm = normalize(norm);
+ // Lighting - support point and directional
+ float3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ float3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+
+ oUv = uv;
+ colour = ambient +
+ (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) +
+ (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]);
+
+}
+
+void hardwareMorphAnimation(float3 pos1 : POSITION,
+ float4 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float3 pos2 : TEXCOORD1,
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 anim_t)
+{
+ // interpolate
+ float4 interp = float4(pos1 + anim_t.x*(pos2 - pos1), 1.0f);
+
+ oPosition = mul(worldViewProj, interp);
+ oUv = uv;
+ colour = float4(1,0,0,1);
+}
+
+void hardwarePoseAnimation(float3 pos : POSITION,
+ float4 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float3 pose1 : TEXCOORD1,
+ float3 pose2 : TEXCOORD2,
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 anim_t)
+{
+ // interpolate
+ float4 interp = float4(pos + anim_t.x*pose1 + anim_t.y*pose2, 1.0f);
+
+ oPosition = mul(worldViewProj, interp);
+ oUv = uv;
+ colour = float4(1,0,0,1);
+}
Index: /data/branches/png2/materials/programs/Example_Basic.hlsl
===================================================================
--- /data/branches/png2/materials/programs/Example_Basic.hlsl (revision 7245)
+++ /data/branches/png2/materials/programs/Example_Basic.hlsl (revision 7245)
@@ -0,0 +1,273 @@
+/*
+ Basic ambient lighting vertex program
+*/
+void ambientOneTexture_vp(float4 position : POSITION,
+ float2 uv : TEXCOORD0,
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 ambient)
+{
+ oPosition = mul(worldViewProj, position);
+ oUv = uv;
+ colour = ambient;
+}
+
+/*
+ Single-weight-per-vertex hardware skinning, 2 lights
+ The trouble with vertex programs is they're not general purpose, but
+ fixed function hardware skinning is very poorly supported
+*/
+void hardwareSkinningOneWeight_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float blendIdx : BLENDINDICES,
+
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 lightPos[2],
+ uniform float4 lightDiffuseColour[2],
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0);
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+ // transform normal
+ float3 norm = mul((float3x3)worldMatrix3x4Array[blendIdx], normal);
+ // Lighting - support point and directional
+ float3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ float3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+ oUv = uv;
+ colour = ambient +
+ (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) +
+ (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]);
+
+}
+
+/*
+ Single-weight-per-vertex hardware skinning, shadow-caster pass
+*/
+void hardwareSkinningOneWeightCaster_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float blendIdx : BLENDINDICES,
+
+
+ out float4 oPosition : POSITION,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(mul(worldMatrix3x4Array[blendIdx], position).xyz, 1.0);
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+
+ colour = ambient;
+
+}
+
+/*
+ Two-weight-per-vertex hardware skinning, 2 lights
+ The trouble with vertex programs is they're not general purpose, but
+ fixed function hardware skinning is very poorly supported
+*/
+void hardwareSkinningTwoWeights_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float4 blendIdx : BLENDINDICES,
+ float4 blendWgt : BLENDWEIGHT,
+
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 lightPos[2],
+ uniform float4 lightDiffuseColour[2],
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(0,0,0,0);
+ int i;
+ for (i = 0; i < 2; ++i)
+ {
+ blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i];
+ }
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+ // transform normal
+ float3 norm = float3(0,0,0);
+ for (i = 0; i < 2; ++i)
+ {
+ norm += mul((float3x3)worldMatrix3x4Array[blendIdx[i]], normal) *
+ blendWgt[i];
+ }
+ norm = normalize(norm);
+ // Lighting - support point and directional
+ float3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ float3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+
+ oUv = uv;
+ colour = ambient +
+ (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) +
+ (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]);
+
+}
+
+/*
+ Two-weight-per-vertex hardware skinning, shadow caster pass
+*/
+void hardwareSkinningTwoWeightsCaster_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float4 blendIdx : BLENDINDICES,
+ float4 blendWgt : BLENDWEIGHT,
+
+
+ out float4 oPosition : POSITION,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(0,0,0,0);
+ int i;
+ for (i = 0; i < 2; ++i)
+ {
+ blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i];
+ }
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+
+
+ colour = ambient;
+
+
+}
+
+
+/*
+ Four-weight-per-vertex hardware skinning, 2 lights
+ The trouble with vertex programs is they're not general purpose, but
+ fixed function hardware skinning is very poorly supported
+*/
+void hardwareSkinningFourWeights_vp(
+ float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float4 blendIdx : BLENDINDICES,
+ float4 blendWgt : BLENDWEIGHT,
+
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+ // Support up to 24 bones of float3x4
+ // vs_1_1 only supports 96 params so more than this is not feasible
+ uniform float3x4 worldMatrix3x4Array[24],
+ uniform float4x4 viewProjectionMatrix,
+ uniform float4 lightPos[2],
+ uniform float4 lightDiffuseColour[2],
+ uniform float4 ambient)
+{
+ // transform by indexed matrix
+ float4 blendPos = float4(0,0,0,0);
+ int i;
+ for (i = 0; i < 4; ++i)
+ {
+ blendPos += float4(mul(worldMatrix3x4Array[blendIdx[i]], position).xyz, 1.0) * blendWgt[i];
+ }
+ // view / projection
+ oPosition = mul(viewProjectionMatrix, blendPos);
+ // transform normal
+ float3 norm = float3(0,0,0);
+ for (i = 0; i < 4; ++i)
+ {
+ norm += mul((float3x3)worldMatrix3x4Array[blendIdx[i]], normal) *
+ blendWgt[i];
+ }
+ norm = normalize(norm);
+ // Lighting - support point and directional
+ float3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ float3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+
+ oUv = uv;
+ colour = ambient +
+ (saturate(dot(lightDir0, norm)) * lightDiffuseColour[0]) +
+ (saturate(dot(lightDir1, norm)) * lightDiffuseColour[1]);
+
+}
+
+void hardwareMorphAnimation(float3 pos1 : POSITION,
+ float4 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float3 pos2 : TEXCOORD1,
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 anim_t)
+{
+ // interpolate
+ float4 interp = float4(pos1 + anim_t.x*(pos2 - pos1), 1.0f);
+
+ oPosition = mul(worldViewProj, interp);
+ oUv = uv;
+ colour = float4(1,0,0,1);
+}
+
+void hardwarePoseAnimation(float3 pos : POSITION,
+ float4 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ float3 pose1 : TEXCOORD1,
+ float3 pose2 : TEXCOORD2,
+
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 anim_t)
+{
+ // interpolate
+ float4 interp = float4(pos + anim_t.x*pose1 + anim_t.y*pose2, 1.0f);
+
+ oPosition = mul(worldViewProj, interp);
+ oUv = uv;
+ colour = float4(1,0,0,1);
+}
+
Index: /data/branches/png2/materials/programs/GlassFP.cg
===================================================================
--- /data/branches/png2/materials/programs/GlassFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/GlassFP.cg (revision 7245)
@@ -0,0 +1,9 @@
+sampler RT : register(s0);
+sampler NormalMap : register(s1);
+
+float4 main_ps(float2 iTexCoord : TEXCOORD0) : COLOR
+{
+ float4 normal = 2 * (tex2D(NormalMap, iTexCoord * 2.5) - 0.5);
+
+ return tex2D(RT, iTexCoord + normal.xy * 0.05);
+}
Index: /data/branches/png2/materials/programs/Grass.cg
===================================================================
--- /data/branches/png2/materials/programs/Grass.cg (revision 7245)
+++ /data/branches/png2/materials/programs/Grass.cg (revision 7245)
@@ -0,0 +1,31 @@
+// Vertex program to wave some grass about
+// Simplistic, assumes base of the grass at 0
+void grass_vp(float4 position : POSITION,
+ float3 normal : NORMAL,
+ float2 uv : TEXCOORD0,
+ out float4 oPosition : POSITION,
+ out float2 oUv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform float4x4 worldViewProj,
+ uniform float4 ambient,
+ uniform float4 objSpaceLight,
+ uniform float4 lightColour,
+ uniform float4 offset)
+{
+ float4 mypos = position;
+ //offset = float4(0.5, 0, 0, 0);
+ float4 factor = float4(1,1,1,1) - uv.yyyy;
+ mypos = mypos + offset * factor;
+ oPosition = mul(worldViewProj, mypos);
+
+ oUv = uv;
+ // get vertex light direction (support directional and point)
+ float3 light = normalize(
+ objSpaceLight.xyz - (position.xyz * objSpaceLight.w));
+ float diffuseFactor = max(dot(normal, light), 0);
+
+
+ colour = ambient + diffuseFactor * lightColour;
+}
+
Index: /data/branches/png2/materials/programs/GrayScale.cg
===================================================================
--- /data/branches/png2/materials/programs/GrayScale.cg (revision 7245)
+++ /data/branches/png2/materials/programs/GrayScale.cg (revision 7245)
@@ -0,0 +1,18 @@
+sampler RT : register(s0);
+
+float4 GrayScale_ps(float2 iTexCoord : TEXCOORD0) : COLOR
+{
+ float3 greyscale = dot(tex2D(RT, iTexCoord).rgb, float3(0.3, 0.59, 0.11));
+ return float4(greyscale, 1.0);
+}
+
+float4 Embossed_ps(float2 iTexCoord : TEXCOORD0) : COLOR
+{
+ float4 Color;
+ Color.a = 1.0f;
+ Color.rgb = 0.5f;
+ Color -= tex2D( RT, iTexCoord - 0.001)*2.0f;
+ Color += tex2D( RT, iTexCoord + 0.001)*2.0f;
+ Color.rgb = (Color.r+Color.g+Color.b)/3.0f;
+ return Color;
+}
Index: /data/branches/png2/materials/programs/InvertFP.cg
===================================================================
--- /data/branches/png2/materials/programs/InvertFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/InvertFP.cg (revision 7245)
@@ -0,0 +1,6 @@
+sampler RT : register(s0);
+
+float4 Invert_ps (float2 iTexCoord : TEXCOORD0) : COLOR
+{
+ return 1 - tex2D(RT, iTexCoord);
+}
Index: /data/branches/png2/materials/programs/LaplaceFP.cg
===================================================================
--- /data/branches/png2/materials/programs/LaplaceFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/LaplaceFP.cg (revision 7245)
@@ -0,0 +1,36 @@
+sampler Image : register(s0);
+
+// The Laplace filter approximates the second order derivate,
+// that is, the rate of change of slope in the image. It can be
+// used for edge detection. The Laplace filter gives negative
+// response on the higher side of the edge and positive response
+// on the lower side.
+
+// This is the filter kernel:
+// 0 1 0
+// 1 -4 1
+// 0 1 0
+
+
+
+float4 Laplace_ps (float2 texCoord: TEXCOORD0,
+ uniform float scale,
+ uniform float pixelSize) : COLOR
+{
+
+ float2 samples[4] = {
+ 0, -1,
+ -1, 0,
+ 1, 0,
+ 0, 1
+ };
+ float4 laplace = -4 * tex2D(Image, texCoord);
+
+ // Sample the neighbor pixels
+ for (int i = 0; i < 4; i++){
+ laplace += tex2D(Image, texCoord + pixelSize * samples[i]);
+ }
+
+ return (0.5 + scale * laplace);
+}
+
Index: /data/branches/png2/materials/programs/OldMovieFP.cg
===================================================================
--- /data/branches/png2/materials/programs/OldMovieFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/OldMovieFP.cg (revision 7245)
@@ -0,0 +1,54 @@
+sampler RT : register(s0);
+sampler SplotchesTx : register(s1);
+sampler Texture2 : register(s2);
+sampler SepiaTx : register(s3);
+
+float2 calcSpriteAddr(float2 texCoord, float DirtFrequency, float period)
+{
+ return texCoord + tex1D(Texture2, period * DirtFrequency);
+}
+
+float4 getSplotches(float2 spriteAddr)
+{
+ // get sprite address into paged texture coords space
+ spriteAddr = spriteAddr / 6.3f;
+ //spriteAddr = spriteAddr - frac(spriteAddr);
+ spriteAddr = spriteAddr - (spriteAddr /33.3f);
+
+ return tex2D(SplotchesTx, spriteAddr);
+}
+
+float4 OldMovie_ps (float2 texCoord : TEXCOORD0,
+ uniform float time_cycle_period,
+ uniform float flicker,
+ uniform float DirtFrequency,
+ uniform float3 luminance,
+ uniform float frameJitter,
+ uniform float lumiShift
+ ) : COLOR
+{
+
+ // get sprite address
+ float2 spriteAddr = calcSpriteAddr(texCoord, DirtFrequency, time_cycle_period);
+
+ // add some dark and light splotches to the film
+ float4 splotches = getSplotches(spriteAddr);
+ float4 specs = 1.0f - getSplotches(spriteAddr / 3.0f);
+
+ // convert color to base luminance
+ float4 base = tex2D(RT, texCoord + float2(0, spriteAddr.y * frameJitter));
+ float lumi = dot(base.rgb, luminance);
+ // randomly shift luminance
+ lumi -= spriteAddr.x * lumiShift;
+ // tone map luminance
+ base.rgb = tex1D(SepiaTx, lumi );
+
+ // calc flicker speed
+ float darken = frac(flicker * time_cycle_period);
+
+ // we want darken to cycle between 0.6 and 1.0
+ darken = abs(darken - 0.5f) * 0.4f + 0.6f;
+ // composite dirt onto film
+ return base * splotches * darken + specs;
+}
+
Index: /data/branches/png2/materials/programs/OldTV.cg
===================================================================
--- /data/branches/png2/materials/programs/OldTV.cg (revision 7245)
+++ /data/branches/png2/materials/programs/OldTV.cg (revision 7245)
@@ -0,0 +1,42 @@
+
+
+sampler Image: register(s0);
+sampler Rand: register(s1);
+sampler Noise: register(s2);
+
+float4 OldTV_ps(float2 pos: TEXCOORD1, float2 img: TEXCOORD0,
+ uniform float distortionFreq: register(c3),
+ uniform float distortionScale: register(c4),
+ uniform float distortionRoll: register(c5),
+ uniform float interference: register(c7),
+ uniform float frameLimit: register(c8),
+ uniform float frameShape: register(c0),
+ uniform float frameSharpness: register(c1),
+ uniform float time_0_X: register(c2),
+ uniform float sin_time_0_X: register(c6)
+
+) : COLOR {
+ // Define a frame shape
+ float f = (1 - pos.x * pos.x) * (1 - pos.y * pos.y);
+ float frame = saturate(frameSharpness * (pow(f, frameShape) - frameLimit));
+
+ // Interference ... just a texture filled with rand()
+ float rand = tex3D(Rand, float3(1.5 * pos, time_0_X)) - 0.2;
+
+ // Some signed noise for the distortion effect
+ float noisy = tex3D(Noise, float3(0, 0.5 * pos.y, 0.1 * time_0_X)) - 0.5;
+
+ // Repeat a 1 - x^2 (0 < x < 1) curve and roll it with sinus.
+ float dst = frac(pos.y * distortionFreq + distortionRoll * sin_time_0_X);
+ dst *= (1 - dst);
+ // Make sure distortion is highest in the center of the image
+ dst /= 1 + distortionScale * abs(pos.y);
+
+ // ... and finally distort
+ img.x += distortionScale * noisy * dst;
+ float4 image = tex2D(Image, img);
+
+ // Combine frame, distorted image and interference
+ return frame * (interference * rand + image);
+}
+
Index: /data/branches/png2/materials/programs/PosterizeFP.cg
===================================================================
--- /data/branches/png2/materials/programs/PosterizeFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/PosterizeFP.cg (revision 7245)
@@ -0,0 +1,17 @@
+sampler RT : register(s0);
+
+float4 Posterize_ps (float2 iTexCoord : TEXCOORD0) : COLOR
+{
+
+ float nColors = 8;
+ float gamma = 0.6;
+
+ float4 texCol = tex2D(RT, iTexCoord);
+ float3 tc = texCol.xyz;
+ tc = pow(tc, gamma);
+ tc = tc * nColors;
+ tc = floor(tc);
+ tc = tc / nColors;
+ tc = pow(tc,1.0/gamma);
+ return float4(tc,texCol.w);
+}
Index: /data/branches/png2/materials/programs/Radial_Blur_FP.cg
===================================================================
--- /data/branches/png2/materials/programs/Radial_Blur_FP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/Radial_Blur_FP.cg (revision 7245)
@@ -0,0 +1,57 @@
+//------------------------------------------------------
+//Radial_Blur_FP.cg
+// Implements radial blur to be used with the compositor
+// It's very dependant on screen resolution
+//------------------------------------------------------
+
+uniform sampler tex: register(s0);
+
+static const float samples[10] =
+{
+-0.08,
+-0.05,
+-0.03,
+-0.02,
+-0.01,
+0.01,
+0.02,
+0.03,
+0.05,
+0.08
+};
+
+float4 main(float2 texCoord: TEXCOORD0,
+ uniform float sampleDist,
+ uniform float sampleStrength
+ ) : COLOR
+{
+ //Vector from pixel to the center of the screen
+ float2 dir = 0.5 - texCoord;
+
+ //Distance from pixel to the center (distant pixels have stronger effect)
+ //float dist = distance( float2( 0.5, 0.5 ), texCoord );
+ float dist = sqrt( dir.x*dir.x + dir.y*dir.y );
+
+
+ //Now that we have dist, we can normlize vector
+ dir = normalize( dir );
+
+ //Save the color to be used later
+ float4 color = tex2D( tex, texCoord );
+
+ //Average the pixels going along the vector
+ float4 sum = color;
+ for (int i = 0; i < 10; i++)
+ {
+ sum += tex2D( tex, texCoord + dir * samples[i] * sampleDist );
+ }
+ sum /= 11;
+
+ //Calculate amount of blur based on
+ //distance and a strength parameter
+ float t = dist * sampleStrength;
+ t = saturate( t );//We need 0 <= t <= 1
+
+ //Blend the original color with the averaged pixels
+ return lerp( color, sum, t );
+}
Index: /data/branches/png2/materials/programs/SharpenEdgesFP.cg
===================================================================
--- /data/branches/png2/materials/programs/SharpenEdgesFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/SharpenEdgesFP.cg (revision 7245)
@@ -0,0 +1,23 @@
+sampler RT: register(s0);
+
+float4 sharpenEdges_fp(float2 iTexCoord: TEXCOORD0, uniform float2 vTexelSize) : COLOR
+{
+
+ float2 usedTexelED[8] = {
+ -1, -1,
+ 0, -1,
+ 1, -1,
+ -1, 0,
+ 1, 0,
+ -1, 1,
+ 0, 1,
+ 1, 1,
+ };
+
+ float4 cAvgColor= 9 * tex2D (RT, iTexCoord);
+
+ for(int t=0; t<8; t++)
+ cAvgColor -= tex2D(RT, iTexCoord + vTexelSize * usedTexelED[t]);
+
+ return cAvgColor;
+}
Index: /data/branches/png2/materials/programs/StdQuad_vp.cg
===================================================================
--- /data/branches/png2/materials/programs/StdQuad_vp.cg (revision 7245)
+++ /data/branches/png2/materials/programs/StdQuad_vp.cg (revision 7245)
@@ -0,0 +1,113 @@
+void StdQuad_vp
+(
+ in float4 inPos : POSITION,
+
+ out float4 pos : POSITION,
+ out float2 uv0 : TEXCOORD0,
+
+ uniform float4x4 worldViewProj
+)
+{
+ // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
+ pos = mul(worldViewProj, inPos);
+
+ // The input positions adjusted by texel offsets, so clean up inaccuracies
+ inPos.xy = sign(inPos.xy);
+
+ // Convert to image-space
+ uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
+}
+
+void StdQuad_Tex2_vp
+(
+ in float4 inPos : POSITION,
+
+ out float4 pos : POSITION,
+ out float2 uv0 : TEXCOORD0,
+ out float2 uv1 : TEXCOORD1,
+
+ uniform float4x4 worldViewProj
+)
+{
+ // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
+ pos = mul(worldViewProj, inPos);
+
+ // The input positions adjusted by texel offsets, so clean up inaccuracies
+ inPos.xy = sign(inPos.xy);
+
+ // Convert to image-space
+ uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
+ uv1 = uv0;
+}
+
+void StdQuad_Tex2a_vp
+(
+ in float4 inPos : POSITION,
+
+ out float4 pos : POSITION,
+ out float2 uv0 : TEXCOORD0,
+ out float2 uv1 : TEXCOORD1,
+
+ uniform float4x4 worldViewProj
+)
+{
+ // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
+ pos = mul(worldViewProj, inPos);
+
+ // The input positions adjusted by texel offsets, so clean up inaccuracies
+ inPos.xy = sign(inPos.xy);
+
+ // Convert to image-space
+ uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
+ uv1 = inPos.xy;
+}
+
+void StdQuad_Tex3_vp
+(
+ in float4 inPos : POSITION,
+
+ out float4 pos : POSITION,
+ out float2 uv0 : TEXCOORD0,
+ out float2 uv1 : TEXCOORD1,
+ out float2 uv2 : TEXCOORD2,
+
+ uniform float4x4 worldViewProj
+)
+{
+ // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
+ pos = mul(worldViewProj, inPos);
+
+ // The input positions adjusted by texel offsets, so clean up inaccuracies
+ inPos.xy = sign(inPos.xy);
+
+ // Convert to image-space
+ uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
+ uv1 = uv0;
+ uv2 = uv0;
+}
+
+void StdQuad_Tex4_vp
+(
+ in float4 inPos : POSITION,
+
+ out float4 pos : POSITION,
+ out float2 uv0 : TEXCOORD0,
+ out float2 uv1 : TEXCOORD1,
+ out float2 uv2 : TEXCOORD2,
+ out float2 uv3 : TEXCOORD3,
+
+ uniform float4x4 worldViewProj
+)
+{
+ // Use standardise transform, so work accord with render system specific (RS depth, requires texture flipping, etc)
+ pos = mul(worldViewProj, inPos);
+
+ // The input positions adjusted by texel offsets, so clean up inaccuracies
+ inPos.xy = sign(inPos.xy);
+
+ // Convert to image-space
+ uv0 = (float2(inPos.x, -inPos.y) + 1.0f) * 0.5f;
+ uv1 = uv0;
+ uv2 = uv0;
+ uv3 = uv0;
+}
Index: /data/branches/png2/materials/programs/StdQuad_vp.glsl
===================================================================
--- /data/branches/png2/materials/programs/StdQuad_vp.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/StdQuad_vp.glsl (revision 7245)
@@ -0,0 +1,11 @@
+varying vec2 uv;
+
+void main()
+{
+ gl_Position = ftransform();
+
+ vec2 inPos = sign(gl_Vertex.xy);
+
+ uv = (vec2(inPos.x, -inPos.y) + 1.0)/2.0;
+}
+
Index: /data/branches/png2/materials/programs/TilingFP.cg
===================================================================
--- /data/branches/png2/materials/programs/TilingFP.cg (revision 7245)
+++ /data/branches/png2/materials/programs/TilingFP.cg (revision 7245)
@@ -0,0 +1,33 @@
+sampler RT : register(s0);
+
+float4 Tiling_ps(float4 inPos : POSITION,
+ float2 iTexCoord : TEXCOORD0,
+ uniform half NumTiles,
+ uniform half Threshhold) : COLOR
+{
+
+
+ half3 EdgeColor = {0.7, 0.7, 0.7};
+
+ half size = 1.0/NumTiles;
+ half2 Pbase = iTexCoord - fmod(iTexCoord, size.xx);
+ half2 PCenter = Pbase + (size/2.0).xx;
+ half2 st = (iTexCoord - Pbase)/size;
+ half4 c1 = (half4)0;
+ half4 c2 = (half4)0;
+ half4 invOff = half4((1-EdgeColor),1);
+ if (st.x > st.y) { c1 = invOff; }
+ half threshholdB = 1.0 - Threshhold;
+ if (st.x > threshholdB) { c2 = c1; }
+ if (st.y > threshholdB) { c2 = c1; }
+ half4 cBottom = c2;
+ c1 = (half4)0;
+ c2 = (half4)0;
+ if (st.x > st.y) { c1 = invOff; }
+ if (st.x < Threshhold) { c2 = c1; }
+ if (st.y < Threshhold) { c2 = c1; }
+ half4 cTop = c2;
+ half4 tileColor = tex2D(RT, PCenter);
+ half4 result = tileColor + cTop - cBottom;
+ return result;
+}
Index: /data/branches/png2/materials/programs/ToonShaderPS.cg
===================================================================
--- /data/branches/png2/materials/programs/ToonShaderPS.cg (revision 7245)
+++ /data/branches/png2/materials/programs/ToonShaderPS.cg (revision 7245)
@@ -0,0 +1,11 @@
+float4 main(in float3 texCoord: TEXCOORD0) : COLOR
+{
+ float4 c;
+
+ c.r = 0.9;
+ c.g = 0.8;
+ c.b = 0.1;
+ c.a = 0.0;
+
+ return c;
+}
Index: /data/branches/png2/materials/programs/ToonShader_ps.frag
===================================================================
--- /data/branches/png2/materials/programs/ToonShader_ps.frag (revision 7245)
+++ /data/branches/png2/materials/programs/ToonShader_ps.frag (revision 7245)
@@ -0,0 +1,4 @@
+void main()
+{
+ gl_FragColor = vec4(0.4, 0.4, 0.8, 1.0);
+}
Index: /data/branches/png2/materials/programs/ToonShader_vs.vert
===================================================================
--- /data/branches/png2/materials/programs/ToonShader_vs.vert (revision 7245)
+++ /data/branches/png2/materials/programs/ToonShader_vs.vert (revision 7245)
@@ -0,0 +1,4 @@
+void main()
+{
+ gl_Position = ftransform();
+}
Index: /data/branches/png2/materials/programs/hdr.cg
===================================================================
--- /data/branches/png2/materials/programs/hdr.cg (revision 7245)
+++ /data/branches/png2/materials/programs/hdr.cg (revision 7245)
@@ -0,0 +1,25 @@
+void morningskybox_fp (
+ float2 uv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform sampler2D tex : register(s0) )
+{
+ colour = tex2D(tex, uv);
+
+ // blow out the light a bit
+ colour *= 1.7;
+}
+void morningcubemap_fp (
+ float3 uv : TEXCOORD0,
+ out float4 colour : COLOR,
+
+ uniform samplerCUBE tex : register(s0) )
+{
+ colour = texCUBE(tex, uv);
+
+ // blow out the light a bit
+ colour *= 1.7;
+}
+
+
+
Index: /data/branches/png2/materials/programs/hdr.hlsl
===================================================================
--- /data/branches/png2/materials/programs/hdr.hlsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr.hlsl (revision 7245)
@@ -0,0 +1,228 @@
+// RGBE mode utilities
+// RGB each carry a mantissa, A carries a shared exponent
+// The exponent is calculated based on the largest colour channel
+
+
+float3 decodeRGBE8(in float4 rgbe)
+{
+ // get exponent (-128 since it can be +ve or -ve)
+ float exp = rgbe.a * 255 - 128;
+
+ // expand out the rgb value
+ return rgbe.rgb * exp2(exp);
+}
+
+float4 encodeRGBE8(in float3 rgb)
+{
+ float4 ret;
+
+ // What is the largest colour channel?
+ float highVal = max(rgb.r, max(rgb.g, rgb.b));
+
+ // Take the logarithm, clamp it to a whole value
+ float exp = ceil(log2(highVal));
+
+ // Divide the components by the shared exponent
+ ret.rgb = rgb / exp2(exp);
+
+ // Store the shared exponent in the alpha channel
+ ret.a = (exp + 128) / 255;
+
+ return ret;
+}
+
+
+static const float4 LUMINENCE_FACTOR = float4(0.27f, 0.67f, 0.06f, 0.0f);
+static const float MIDDLE_GREY = 0.72f;
+static const float FUDGE = 0.001f;
+static const float L_WHITE = 1.5f;
+static const float4 BRIGHT_LIMITER = float4(0.6f, 0.6f, 0.6f, 0.0f);
+
+
+/** Tone mapping function
+@note Only affects rgb, not a
+@param inColour The HDR colour
+@param lum The scene lumninence
+@returns Tone mapped colour
+*/
+float4 toneMap(float4 inColour, float lum)
+{
+ // From Reinhard et al
+ // "Photographic Tone Reproduction for Digital Images"
+
+ // Initial luminence scaling (equation 2)
+ inColour.rgb *= MIDDLE_GREY / (FUDGE + lum);
+
+ // Control white out (equation 4 nom)
+ inColour.rgb *= (1.0f + inColour / L_WHITE);
+
+ // Final mapping (equation 4 denom)
+ inColour.rgb /= (1.0f + inColour);
+
+ return inColour;
+
+}
+
+/* Downsample a 2x2 area and convert to greyscale
+*/
+float4 downscale2x2Luminence(
+ float2 uv : TEXCOORD0,
+ uniform float2 texelSize, // depends on size of source texture
+ uniform sampler2D inRTT : register(s0)
+ ) : COLOR
+{
+
+ float4 accum = float4(0.0f, 0.0f, 0.0f, 0.0f);
+
+ float2 texOffset[4] = {
+ -0.5, -0.5,
+ -0.5, 0.5,
+ 0.5, -0.5,
+ 0.5, 0.5 };
+
+ for( int i = 0; i < 4; i++ )
+ {
+ // Get colour from source
+ accum += tex2D(inRTT, uv + texelSize * texOffset[i]);
+ }
+
+ // Adjust the accumulated amount by lum factor
+ // Cannot use float3's here because it generates dependent texture errors because of swizzle
+ float lum = dot(accum, LUMINENCE_FACTOR);
+ // take average of 4 samples
+ lum *= 0.25;
+ return lum;
+
+}
+
+/* Downsample a 3x3 area
+ * This shader is used multiple times on different source sizes, so texel size has to be configurable
+*/
+float4 downscale3x3(
+ float2 uv : TEXCOORD0,
+ uniform float2 texelSize, // depends on size of source texture
+ uniform sampler2D inRTT : register(s0)
+ ) : COLOR
+{
+
+ float4 accum = float4(0.0f, 0.0f, 0.0f, 0.0f);
+
+ float2 texOffset[9] = {
+ -1.0, -1.0,
+ 0.0, -1.0,
+ 1.0, -1.0,
+ -1.0, 0.0,
+ 0.0, 0.0,
+ 1.0, 0.0,
+ -1.0, 1.0,
+ 0.0, 1.0,
+ 1.0, 1.0
+ };
+
+ for( int i = 0; i < 9; i++ )
+ {
+ // Get colour from source
+ accum += tex2D(inRTT, uv + texelSize * texOffset[i]);
+ }
+
+ // take average of 9 samples
+ accum *= 0.1111111111111111;
+ return accum;
+
+}
+
+/* Downsample a 3x3 area from main RTT and perform a brightness pass
+*/
+float4 downscale3x3brightpass(
+ float2 uv : TEXCOORD0,
+ uniform float2 texelSize, // depends on size of source texture
+ uniform sampler2D inRTT : register(s0),
+ uniform sampler2D inLum : register(s1)
+ ) : COLOR
+{
+
+ float4 accum = float4(0.0f, 0.0f, 0.0f, 0.0f);
+
+ float2 texOffset[9] = {
+ -1.0, -1.0,
+ 0.0, -1.0,
+ 1.0, -1.0,
+ -1.0, 0.0,
+ 0.0, 0.0,
+ 1.0, 0.0,
+ -1.0, 1.0,
+ 0.0, 1.0,
+ 1.0, 1.0
+ };
+
+ for( int i = 0; i < 9; i++ )
+ {
+ // Get colour from source
+ accum += tex2D(inRTT, uv + texelSize * texOffset[i]);
+ }
+
+ // take average of 9 samples
+ accum *= 0.1111111111111111;
+
+ // Reduce bright and clamp
+ accum = max(float4(0.0f, 0.0f, 0.0f, 1.0f), accum - BRIGHT_LIMITER);
+
+ // Sample the luminence texture
+ float4 lum = tex2D(inLum, float2(0.5f, 0.5f));
+
+ // Tone map result
+ return toneMap(accum, lum.r);
+
+}
+
+/* Gaussian bloom, requires offsets and weights to be provided externally
+*/
+float4 bloom(
+ float2 uv : TEXCOORD0,
+ uniform float2 sampleOffsets[15],
+ uniform float4 sampleWeights[15],
+ uniform sampler2D inRTT : register(s0)
+ ) : COLOR
+{
+ float4 accum = float4(0.0f, 0.0f, 0.0f, 1.0f);
+ float2 sampleUV;
+
+ for( int i = 0; i < 15; i++ )
+ {
+ // Sample from adjacent points, 7 each side and central
+ sampleUV = uv + sampleOffsets[i];
+ accum += sampleWeights[i] * tex2D(inRTT, sampleUV);
+ }
+
+ return accum;
+
+}
+
+
+/* Final scene composition, with tone mapping
+*/
+float4 finalToneMapping(
+ float2 uv : TEXCOORD0,
+ uniform sampler2D inRTT : register(s0),
+ uniform sampler2D inBloom : register(s1),
+ uniform sampler2D inLum : register(s2)
+ ) : COLOR
+{
+ // Get main scene colour
+ float4 sceneCol = tex2D(inRTT, uv);
+
+ // Get luminence value
+ float4 lum = tex2D(inLum, float2(0.5f, 0.5f));
+
+ // tone map this
+ float4 toneMappedSceneCol = toneMap(sceneCol, lum.r);
+
+ // Get bloom colour
+ float4 bloom = tex2D(inBloom, uv);
+
+ // Add scene & bloom
+ return float4(toneMappedSceneCol.rgb + bloom.rgb, 1.0f);
+
+}
+
+
Index: /data/branches/png2/materials/programs/hdr_bloom.glsl
===================================================================
--- /data/branches/png2/materials/programs/hdr_bloom.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr_bloom.glsl (revision 7245)
@@ -0,0 +1,22 @@
+uniform sampler2D inRTT;
+
+uniform vec4 sampleOffsets[15];
+uniform vec4 sampleWeights[15];
+
+varying vec2 uv;
+
+void main(void)
+{
+ vec4 accum = vec4(0.0, 0.0, 0.0, 1.0);
+ vec2 sampleUV;
+
+ for( int i = 0; i < 15; i++ )
+ {
+ // Sample from adjacent points, 7 each side and central
+ sampleUV = uv + sampleOffsets[i].xy;
+ accum += sampleWeights[i] * texture2D(inRTT, sampleUV);
+ }
+
+ gl_FragColor = accum;
+
+}
Index: /data/branches/png2/materials/programs/hdr_downscale2x2luminence.glsl
===================================================================
--- /data/branches/png2/materials/programs/hdr_downscale2x2luminence.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr_downscale2x2luminence.glsl (revision 7245)
@@ -0,0 +1,24 @@
+uniform sampler2D inRTT;
+uniform vec2 texelSize;
+
+varying vec2 uv;
+
+void main(void)
+{
+
+ vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);
+ vec4 LUMINENCE_FACTOR = vec4(0.27, 0.67, 0.06, 0.0);
+
+ // Get colour from source
+ accum += texture2D(inRTT, uv + texelSize * vec2(-0.5, -0.5));
+ accum += texture2D(inRTT, uv + texelSize * vec2(-0.5, 0.5));
+ accum += texture2D(inRTT, uv + texelSize * vec2(0.5, 0.5));
+ accum += texture2D(inRTT, uv + texelSize * vec2(0.5, -0.5));
+
+ // Adjust the accumulated amount by lum factor
+ float lum = dot(accum, LUMINENCE_FACTOR);
+ // take average of 4 samples
+ lum *= 0.25;
+ gl_FragColor = vec4(lum, lum, lum, 1.0);
+
+}
Index: /data/branches/png2/materials/programs/hdr_downscale3x3.glsl
===================================================================
--- /data/branches/png2/materials/programs/hdr_downscale3x3.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr_downscale3x3.glsl (revision 7245)
@@ -0,0 +1,26 @@
+uniform sampler2D inRTT;
+uniform vec2 texelSize;
+
+varying vec2 uv;
+
+void main(void)
+{
+ vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);
+
+ // Get colour from source
+ accum += texture2D(inRTT, uv + texelSize * vec2(-1.0, -1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 0.0, -1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 1.0, -1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2(-1.0, 0.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 0.0, 0.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 1.0, 0.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2(-1.0, 1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 0.0, 1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 1.0, 1.0));
+
+ // take average of 9 samples
+ accum *= 0.1111111111111111;
+
+ gl_FragColor = accum;
+
+}
Index: /data/branches/png2/materials/programs/hdr_downscale3x3brightpass.glsl
===================================================================
--- /data/branches/png2/materials/programs/hdr_downscale3x3brightpass.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr_downscale3x3brightpass.glsl (revision 7245)
@@ -0,0 +1,37 @@
+uniform sampler2D inRTT;
+uniform sampler2D inLum;
+uniform vec2 texelSize;
+
+varying vec2 uv;
+const vec4 BRIGHT_LIMITER = vec4(0.6, 0.6, 0.6, 0.0);
+
+// declare external function
+vec4 toneMap(in vec4 inColour, in float lum);
+
+void main(void)
+{
+ vec4 accum = vec4(0.0, 0.0, 0.0, 0.0);
+
+ accum += texture2D(inRTT, uv + texelSize * vec2(-1.0, -1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 0.0, -1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 1.0, -1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2(-1.0, 0.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 0.0, 0.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 1.0, 0.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2(-1.0, 1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 0.0, 1.0));
+ accum += texture2D(inRTT, uv + texelSize * vec2( 1.0, 1.0));
+
+ // take average of 9 samples
+ accum *= 0.1111111111111111;
+
+ // Reduce bright and clamp
+ accum = max(vec4(0.0, 0.0, 0.0, 1.0), accum - BRIGHT_LIMITER);
+
+ // Sample the luminence texture
+ vec4 lum = texture2D(inLum, vec2(0.5, 0.5));
+
+ // Tone map result
+ gl_FragColor = toneMap(accum, lum.r);
+
+}
Index: /data/branches/png2/materials/programs/hdr_finalToneMapping.glsl
===================================================================
--- /data/branches/png2/materials/programs/hdr_finalToneMapping.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr_finalToneMapping.glsl (revision 7245)
@@ -0,0 +1,28 @@
+uniform sampler2D inRTT;
+uniform sampler2D inBloom;
+uniform sampler2D inLum;
+
+varying vec2 uv;
+
+// declare external function
+vec4 toneMap(in vec4 inColour, in float lum);
+
+void main(void)
+{
+ // Get main scene colour
+ vec4 sceneCol = texture2D(inRTT, uv);
+
+ // Get luminence value
+ vec4 lum = texture2D(inLum, vec2(0.5, 0.5));
+
+ // tone map this
+ vec4 toneMappedSceneCol = toneMap(sceneCol, lum.r);
+
+ // Get bloom colour
+ vec4 bloom = texture2D(inBloom, uv);
+
+ // Add scene & bloom
+ gl_FragColor = vec4(toneMappedSceneCol.rgb + bloom.rgb, 1.0);
+
+}
+
Index: /data/branches/png2/materials/programs/hdr_tonemap_util.glsl
===================================================================
--- /data/branches/png2/materials/programs/hdr_tonemap_util.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/hdr_tonemap_util.glsl (revision 7245)
@@ -0,0 +1,29 @@
+const float MIDDLE_GREY = 0.72;
+const float FUDGE = 0.001;
+const float L_WHITE = 1.5;
+
+/** Tone mapping function
+@note Only affects rgb, not a
+@param inColour The HDR colour
+@param lum The scene lumninence
+@returns Tone mapped colour
+*/
+vec4 toneMap(in vec4 inColour, in float lum)
+{
+ // From Reinhard et al
+ // "Photographic Tone Reproduction for Digital Images"
+
+ // Initial luminence scaling (equation 2)
+ inColour.rgb *= MIDDLE_GREY / (FUDGE + lum);
+
+ // Control white out (equation 4 nom)
+ inColour.rgb *= (1.0 + inColour.rgb / L_WHITE);
+
+ // Final mapping (equation 4 denom)
+ inColour.rgb /= (1.0 + inColour.rgb);
+
+ return inColour;
+
+}
+
+
Index: /data/branches/png2/materials/programs/skinningTwoWeightsShadowCasterVp.glsl
===================================================================
--- /data/branches/png2/materials/programs/skinningTwoWeightsShadowCasterVp.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/skinningTwoWeightsShadowCasterVp.glsl (revision 7245)
@@ -0,0 +1,40 @@
+// Example GLSL program for skinning with two bone weights per vertex
+
+attribute vec4 blendIndices;
+attribute vec4 blendWeights;
+
+// 3x4 matrix, passed as vec4's for compatibility with GL 2.0
+// GL 2.0 supports 3x4 matrices
+// Support 24 bones ie 24*3, but use 72 since our parser can pick that out for sizing
+uniform vec4 worldMatrix3x4Array[72];
+uniform mat4 viewProjectionMatrix;
+uniform vec4 ambient;
+
+void main()
+{
+ vec3 blendPos = vec3(0,0,0);
+
+ for (int bone = 0; bone < 2; ++bone)
+ {
+ // perform matrix multiplication manually since no 3x4 matrices
+ // ATI GLSL compiler can't handle indexing an array within an array so calculate the inner index first
+ int idx = int(blendIndices[bone]) * 3;
+ // ATI GLSL compiler can't handle unrolling the loop so do it manually
+ // ATI GLSL has better performance when mat4 is used rather than using individual dot product
+ // There is a bug in ATI mat4 constructor (Cat 7.2) when indexed uniform array elements are used as vec4 parameter so manually assign
+ mat4 worldMatrix;
+ worldMatrix[0] = worldMatrix3x4Array[idx];
+ worldMatrix[1] = worldMatrix3x4Array[idx + 1];
+ worldMatrix[2] = worldMatrix3x4Array[idx + 2];
+ worldMatrix[3] = vec4(0);
+ // now weight this into final
+ blendPos += (gl_Vertex * worldMatrix).xyz * blendWeights[bone];
+ }
+
+ // apply view / projection to position
+ gl_Position = viewProjectionMatrix * vec4(blendPos, 1);
+
+ gl_FrontSecondaryColor = vec4(0,0,0,0);
+ gl_FrontColor = ambient;
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+}
Index: /data/branches/png2/materials/programs/skinningTwoWeightsVp.glsl
===================================================================
--- /data/branches/png2/materials/programs/skinningTwoWeightsVp.glsl (revision 7245)
+++ /data/branches/png2/materials/programs/skinningTwoWeightsVp.glsl (revision 7245)
@@ -0,0 +1,57 @@
+// Example GLSL program for skinning with two bone weights per vertex
+
+attribute vec4 blendIndices;
+attribute vec4 blendWeights;
+
+// 3x4 matrix, passed as vec4's for compatibility with GL 2.0
+// GL 2.0 supports 3x4 matrices
+// Support 24 bones ie 24*3, but use 72 since our parser can pick that out for sizing
+uniform vec4 worldMatrix3x4Array[72];
+uniform mat4 viewProjectionMatrix;
+uniform vec4 lightPos[2];
+uniform vec4 lightDiffuseColour[2];
+
+void main()
+{
+ vec3 blendPos = vec3(0,0,0);
+ vec3 blendNorm = vec3(0,0,0);
+
+ for (int bone = 0; bone < 2; ++bone)
+ {
+ // perform matrix multiplication manually since no 3x4 matrices
+ // ATI GLSL compiler can't handle indexing an array within an array so calculate the inner index first
+ int idx = int(blendIndices[bone]) * 3;
+ // ATI GLSL compiler can't handle unrolling the loop so do it manually
+ // ATI GLSL has better performance when mat4 is used rather than using individual dot product
+ // There is a bug in ATI mat4 constructor (Cat 7.2) when indexed uniform array elements are used as vec4 parameter so manually assign
+ mat4 worldMatrix;
+ worldMatrix[0] = worldMatrix3x4Array[idx];
+ worldMatrix[1] = worldMatrix3x4Array[idx + 1];
+ worldMatrix[2] = worldMatrix3x4Array[idx + 2];
+ worldMatrix[3] = vec4(0);
+ // now weight this into final
+ float weight = blendWeights[bone];
+ blendPos += (gl_Vertex * worldMatrix).xyz * weight;
+
+ mat3 worldRotMatrix = mat3(worldMatrix[0].xyz, worldMatrix[1].xyz, worldMatrix[2].xyz);
+ blendNorm += (gl_Normal * worldRotMatrix) * weight;
+
+ }
+
+ // apply view / projection to position
+ gl_Position = viewProjectionMatrix * vec4(blendPos, 1);
+
+ // simple vertex lighting model
+ vec3 lightDir0 = normalize(
+ lightPos[0].xyz - (blendPos.xyz * lightPos[0].w));
+ vec3 lightDir1 = normalize(
+ lightPos[1].xyz - (blendPos.xyz * lightPos[1].w));
+
+ gl_FrontSecondaryColor = vec4(0);
+ gl_FrontColor = vec4(0.5, 0.5, 0.5, 1.0)
+ + clamp(dot(lightDir0, blendNorm), 0.0, 1.0) * lightDiffuseColour[0]
+ + clamp(dot(lightDir1, blendNorm), 0.0, 1.0) * lightDiffuseColour[1];
+
+ gl_TexCoord[0] = gl_MultiTexCoord0;
+
+}
Index: /data/branches/png2/materials/scripts/3arrowsup.material
===================================================================
--- /data/branches/png2/materials/scripts/3arrowsup.material (revision 7245)
+++ /data/branches/png2/materials/scripts/3arrowsup.material (revision 7245)
@@ -0,0 +1,17 @@
+material 3arrowsup
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture 3arrowsup.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Arrow.material
===================================================================
--- /data/branches/png2/materials/scripts/Arrow.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Arrow.material (revision 7245)
@@ -0,0 +1,17 @@
+material Arrow
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture arrow.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Asterix.material
===================================================================
--- /data/branches/png2/materials/scripts/Asterix.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Asterix.material (revision 7245)
@@ -0,0 +1,17 @@
+material Asterix
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture asterix.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Banners.material
===================================================================
--- /data/branches/png2/materials/scripts/Banners.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Banners.material (revision 7245)
@@ -0,0 +1,52 @@
+
+material Banners/Pickups
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture Pickups.png
+ }
+ }
+ }
+}
+material Banners/Drone
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture Drone.png
+ }
+ }
+ }
+}
+material Banners/Formation
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture Formation.png
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/BlackAndWhite.material
===================================================================
--- /data/branches/png2/materials/scripts/BlackAndWhite.material (revision 7245)
+++ /data/branches/png2/materials/scripts/BlackAndWhite.material (revision 7245)
@@ -0,0 +1,34 @@
+fragment_program Ogre/Compositor/B&W_FP cg
+{
+ source GrayScale.cg
+ entry_point GrayScale_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/BlackAndWhite
+{
+ technique
+ {
+
+ pass
+ {
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Cg_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/B&W_FP
+ {
+ }
+
+ texture_unit
+ {
+ texture RT
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Bloom.material
===================================================================
--- /data/branches/png2/materials/scripts/Bloom.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Bloom.material (revision 7245)
@@ -0,0 +1,178 @@
+//DirectX 9.0 HLSL Vertex Shader vs_1_1
+vertex_program Blur0_vs11 hlsl
+{
+ source Blur0_vs11.hlsl
+ target vs_1_1
+ entry_point main
+}
+
+//DirectX 9.0 HLSL Pixel Shader ps_2_0
+fragment_program Blur0_ps20 hlsl
+{
+ source Blur0_ps20.hlsl
+ target ps_2_0
+ entry_point main
+}
+
+//DirectX 9.0 HLSL Vertex Shader vs_1_1
+vertex_program Blur1_vs11 hlsl
+{
+ source Blur1_vs11.hlsl
+ target vs_1_1
+ entry_point main
+}
+
+//DirectX 9.0 HLSL Pixel Shader ps_2_0
+fragment_program Blur1_ps20 hlsl
+{
+ source Blur1_ps20.hlsl
+ target ps_2_0
+ entry_point main
+}
+
+vertex_program Blur0_vs_glsl glsl
+{
+ source Blur0_vs.glsl
+}
+vertex_program Blur1_vs_glsl glsl
+{
+ source Blur1_vs.glsl
+}
+fragment_program Blur_ps_glsl glsl
+{
+ source Blur_ps.glsl
+ default_params
+ {
+ param_named tex0 int 0
+ }
+}
+
+//Effect: Bloom
+material Ogre/Compositor/Blur0
+{
+ technique
+ {
+ //Rendering Pass: Blur0 (pass index: #1 )
+ pass
+ {
+ //State: D3DRS_CULLMODE, Value : D3DCULL_NONE
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ fragment_program_ref Blur0_ps20
+ {
+ }
+ vertex_program_ref Blur0_vs11
+ {
+ }
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+ technique
+ {
+ //Rendering Pass: Blur0 (pass index: #1 )
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ fragment_program_ref Blur_ps_glsl
+ {
+ }
+ vertex_program_ref Blur0_vs_glsl
+ {
+ }
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+}
+
+material Ogre/Compositor/Blur1
+{
+ technique
+ {
+
+ //Rendering Pass: Blur1 (pass index: #2 )
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ fragment_program_ref Blur1_ps20
+ {
+ }
+ vertex_program_ref Blur1_vs11
+ {
+ }
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+ technique
+ {
+
+ //Rendering Pass: Blur1 (pass index: #2 )
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ fragment_program_ref Blur_ps_glsl
+ {
+ }
+ vertex_program_ref Blur1_vs_glsl
+ {
+ }
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+}
+
+/// Overlay quad
+material Ogre/Compositor/BloomBlend
+{
+ technique
+ {
+ pass
+ {
+ lighting on
+ diffuse 0.0 0.0 0.0 0.5
+ specular 0.0 0.0 0.0 0.0
+ ambient 0.0 0.0 0.0
+ emissive 1.0 1.0 1.0
+ cull_hardware none
+ depth_check off
+ scene_blend alpha_blend
+
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Bump_Specular.material
===================================================================
--- /data/branches/png2/materials/scripts/Bump_Specular.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Bump_Specular.material (revision 7245)
@@ -0,0 +1,195 @@
+/*
+//--------------
+// Bump mapping
+//--------------
+
+
+
+// Any number of lights, diffuse and specular
+material Assff/BumpMap
+{
+
+ // This is the preferred technique which uses both vertex and
+ // fragment programs, supports coloured lights
+ technique
+ {
+ // Base ambient pass
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 1 1 1
+ diffuse 0 0 0
+ specular 0 0 0 0
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ }
+
+ }
+ // Now do the lighting pass
+ // NB we don't do decal texture here because this is repeated per light
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 0 0 0
+ // do this for each light
+ iteration once_per_light
+
+
+ scene_blend add
+
+ // Vertex program reference
+ vertex_program_ref BumpMapVPSpecular
+ {
+ param_named_auto lightPosition light_position_object_space 0
+ param_named_auto eyePosition camera_position_object_space
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+
+ // Fragment program
+ fragment_program_ref BumpMapFPSpecular
+ {
+ param_named_auto lightDiffuse light_diffuse_colour 0
+ param_named_auto lightSpecular light_specular_colour 0
+ param_named shine float 2
+ }
+
+ // Base bump map
+ texture_unit
+ {
+ texture nmnone.tga
+ colour_op replace
+ }
+ // Normalisation cube map
+ texture_unit
+ {
+ cubic_texture nm.tga combinedUVW
+ tex_coord_set 1
+ tex_address_mode clamp
+ }
+ // Normalisation cube map #2
+ texture_unit
+ {
+ cubic_texture nm.tga combinedUVW
+ tex_coord_set 2
+ tex_address_mode clamp
+ }
+ }
+
+ // Decal pass
+ pass
+ {
+ lighting off
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named ambient float4 1 1 1 1
+ }
+ scene_blend dest_colour zero
+ texture_unit
+ {
+ texture assff.JPG
+ }
+
+ }
+ }
+
+
+// This is the fallback which cards which don't have fragment program
+ // support will use, NB does not support specular colour
+ // Note that it still requires vertex program support
+ technique
+ {
+ // Base ambient pass
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 1 1 1
+ diffuse 0 0 0
+ specular 0 0 0 0
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ }
+
+ }
+ // Now do the lighting pass
+ // NB we don't do decal texture here because this is repeated per light
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 0 0 0
+ // do this for each light
+ iteration once_per_light
+
+
+ scene_blend add
+
+ // Vertex program reference
+ vertex_program_ref BumpMapVP
+ {
+ param_named_auto lightPosition light_position_object_space 0
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+
+ // Base bump map
+ texture_unit
+ {
+ texture nmnone.tga
+ colour_op replace
+ }
+ // Normalisation cube map, with dot product on bump map
+ texture_unit
+ {
+ cubic_texture nm.tga combinedUVW
+ tex_coord_set 1
+ tex_address_mode clamp
+ colour_op_ex dotproduct src_texture src_current
+ colour_op_multipass_fallback dest_colour zero
+ }
+ }
+
+ // Decal pass
+ pass
+ {
+ lighting off
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named ambient float4 1 1 1 1
+ }
+ scene_blend dest_colour zero
+ texture_unit
+ {
+ texture assff.JPG
+ }
+
+ }
+
+ }
+
+
+}
+*/
Index: /data/branches/png2/materials/scripts/Carrier.material
===================================================================
--- /data/branches/png2/materials/scripts/Carrier.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Carrier.material (revision 7245)
@@ -0,0 +1,189 @@
+material organic
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_organic03.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material floor
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_floor02.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material glass
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture glass01.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material floor2
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_floor03.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material redhull
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_hull02.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material greyhull
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_hull03.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material rust
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture wall01.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Cone.material
===================================================================
--- /data/branches/png2/materials/scripts/Cone.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Cone.material (revision 7245)
@@ -0,0 +1,25 @@
+material Cone/TEXFACE/OrxonoxGREEN.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture OrxonoxGREEN.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Console.material
===================================================================
--- /data/branches/png2/materials/scripts/Console.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Console.material (revision 7245)
@@ -0,0 +1,93 @@
+material ConsoleBorder
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console2.tga
+ }
+ }
+ }
+}
+
+material ConsoleCenter
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console3.tga
+ }
+ }
+ }
+}
+
+material ConsoleNoise
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console4.tga
+ }
+ }
+ }
+}
+
+material ConsoleNoiseSmall
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console5.tga
+ }
+ }
+ }
+}
+
+material ConsoleCursor
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture OrxonoxWhite.tga
+ }
+ texture_unit
+ {
+ colour_op_ex modulate src_manual src_current 0 1 0 0.5
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Cross.material
===================================================================
--- /data/branches/png2/materials/scripts/Cross.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Cross.material (revision 7245)
@@ -0,0 +1,17 @@
+material Cross
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture cross.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/CuboidSpaceStation.material
===================================================================
--- /data/branches/png2/materials/scripts/CuboidSpaceStation.material (revision 7245)
+++ /data/branches/png2/materials/scripts/CuboidSpaceStation.material (revision 7245)
@@ -0,0 +1,1031 @@
+material CuboidBody/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material DoubleCuboidBody/TEXFACE/babel-wall1a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnection/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material CuboidConnectionLong/TEXFACE/CuboidConnectionBodyTop.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture CuboidConnectionBodyTop.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material DoubleCuboidBody/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnectionLong/TEXFACE/CuboidConnectionBodySide.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture CuboidConnectionBodySide.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidBody/TEXFACE/babel-wall1a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnectionLong/TEXFACE/babel-wall6b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SolarPanel.002/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidLandingZone/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SatelliteDish/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnBody/TEXFACE/babel-wall1b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SemiCircleCockpit/TEXFACE/CockpitSide.png
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture CockpitSide.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SatelliteDish/TEXFACE/thrust.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture thrust.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnBody/TEXFACE/babel-wall1a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Thruster/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidLandingZone/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SemiCircleCockpit/TEXFACE/CockpitNose.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture CockpitNose.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Thruster/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material DoubleCuboidBody/TEXFACE/babel-wall1b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SemiCircleCockpit/TEXFACE/CockpitGlass.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture CockpitGlass.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material DoubleCuboidBody/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnBody/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Thruster/TEXFACE/thrust.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture thrust.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SolarPanel/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material CuboidBody/TEXFACE/babel-wall6b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnBody/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnBody/TEXFACE/babel-wall6b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SolarPanel.002/TEXFACE/sl_panel.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_panel.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SemiCircleCockpit/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnection/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidBody/TEXFACE/babel-wall6a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SemiCircleCockpit/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material CuboidBody/TEXFACE/babel-wall1b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SatelliteDish/TEXFACE/babel-wall1a.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall1a.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SolarPanel/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SatelliteDish/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material CuboidConnectionBody/TEXFACE/babel-trim3b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-trim3b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SemiCircleCockpit/TEXFACE/thrust.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture thrust.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SatelliteDish/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material SatelliteDish/TEXFACE/dish.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture dish.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material DoubleCuboidBody/TEXFACE/babel-wall6b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material SatelliteDish/TEXFACE/babel-wall6b.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture babel-wall6b.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/DuBall.material
===================================================================
--- /data/branches/png2/materials/scripts/DuBall.material (revision 7245)
+++ /data/branches/png2/materials/scripts/DuBall.material (revision 7245)
@@ -0,0 +1,50 @@
+material Material.002/TEXFACE/DuBall1.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture DuBall1.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.001/TEXFACE/DuBall2.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture DuBall2.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Embossed.material
===================================================================
--- /data/branches/png2/materials/scripts/Embossed.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Embossed.material (revision 7245)
@@ -0,0 +1,33 @@
+fragment_program Ogre/Compositor/Embossed_FP cg
+{
+ source GrayScale.cg
+ entry_point Embossed_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/Embossed
+{
+ technique
+ {
+
+ pass
+ {
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Cg_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/Embossed_FP
+ {
+ }
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Example.material
===================================================================
--- /data/branches/png2/materials/scripts/Example.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Example.material (revision 7245)
@@ -0,0 +1,903 @@
+
+material Examples/EnvMappedRustySteel
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture RustySteel.jpg
+ }
+
+ texture_unit
+ {
+ texture spheremap.tga
+ colour_op_ex add src_texture src_current
+ colour_op_multipass_fallback one one
+ env_map spherical
+ }
+ }
+ }
+}
+material Examples/OgreLogo
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.8 0.8 0.8
+
+ texture_unit
+ {
+ texture ogrelogo.tga
+ }
+ }
+ }
+}
+material Examples/DarkMaterial
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.1 0.1 0.1
+
+ texture_unit
+ {
+ texture BeachStones.jpg
+ }
+ }
+ }
+}
+material Examples/SpaceSkyBox
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture stevecube.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+material Examples/SceneSkyBox1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture cubemap_fr.jpg cubemap_bk.jpg cubemap_lf.jpg cubemap_rt.jpg cubemap_up.jpg cubemap_dn.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+material Examples/SceneCubeMap1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+
+ texture_unit
+ {
+ cubic_texture cubemap.jpg combinedUVW
+ tex_address_mode clamp
+ env_map cubic_reflection
+ }
+ }
+ }
+}
+material Examples/SceneSkyBox2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture cubescene_fr.jpg cubescene_bk.jpg cubescene_lf.jpg cubescene_rt.jpg cubescene_up.jpg cubescene_dn.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+material Examples/SceneCubeMap2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+
+ texture_unit
+ {
+ cubic_texture cubescene.jpg combinedUVW
+ tex_address_mode clamp
+ env_map cubic_reflection
+ }
+ }
+ }
+}
+
+
+
+material Examples/CloudySky
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ texture clouds.jpg
+ scroll_anim 0.15 0
+ }
+ }
+ }
+}
+material Examples/RustySteel
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture RustySteel.jpg
+ }
+ }
+ }
+}
+material Examples/Chrome
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture Chrome.jpg
+ env_map spherical
+ }
+ }
+ }
+}
+material Examples/SpaceSkyPlane
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ fog_override true none
+
+ texture_unit
+ {
+ texture spacesky.jpg
+ }
+ }
+ }
+}
+material Examples/TextureEffect1
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.75 0.75 0.75
+ cull_hardware none
+ cull_software none
+
+ texture_unit
+ {
+ texture BumpyMetal.jpg
+ rotate_anim 0.2
+ wave_xform scale_x sine 1 0.1 0 5
+ wave_xform scale_y sine 0.5 0.2 0.5 3
+ }
+ }
+ }
+}
+material Examples/TextureEffect2
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture Water02.jpg
+ scroll_anim 0.5 0
+ }
+ }
+ }
+}
+material Examples/TextureEffect3
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.7 0.7 0.7
+ cull_hardware none
+ cull_software none
+
+ texture_unit
+ {
+ texture Water01.jpg
+ scroll_anim -0.25 0.1
+ }
+
+ texture_unit
+ {
+ texture Water01.jpg
+ colour_op_ex add src_texture src_current
+ colour_op_multipass_fallback one one
+ scroll_anim -0.1 0.25
+ }
+ }
+ }
+}
+material Examples/TextureEffect4
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.3 0.3 0.3
+ scene_blend colour_blend
+ cull_hardware none
+ cull_software none
+
+ texture_unit
+ {
+ texture Water02.jpg
+ scroll_anim 0.01 0.01
+ }
+ }
+ }
+}
+material Examples/BumpyMetal
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.75 0.75 0.75
+ cull_hardware none
+ cull_software none
+
+ texture_unit
+ {
+ texture BumpyMetal.jpg
+ }
+ }
+ }
+}
+material Examples/TransparentTest
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.2 0.2 0.2
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture Water01.jpg
+ scroll_anim 0.25 0
+ }
+
+ texture_unit
+ {
+ texture Water01.jpg
+ wave_xform scroll_y sine 0 0.1 0 0.5
+ }
+ }
+ }
+}
+material Examples/Flare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flare.tga
+ }
+ }
+ }
+}
+material Examples/FlareZwei
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flare2.tga
+ }
+ }
+ }
+}
+material Examples/Flaredrei
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flare3.tga
+ }
+ }
+ }
+}
+material Examples/FlareZwei_1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flare2_1.tga
+ }
+ }
+ }
+}
+material Examples/Flare2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flaretrail.tga
+ }
+ }
+ }
+}
+material Examples/FlarePointSprite
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ point_sprites on
+ point_size 2
+ point_size_attenuation on
+
+ texture_unit
+ {
+ texture flare.tga
+ }
+ }
+ }
+}
+
+material Examples/Droplet
+{
+ technique
+ {
+ pass
+ {
+ scene_blend colour_blend
+ depth_write off
+
+ texture_unit
+ {
+ texture basic_droplet.tga
+ }
+ }
+ }
+}
+material Examples/Hilite/Yellow
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture dkyellow.tga
+ }
+ }
+ }
+}
+material Examples/Rocky
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.2 0.2 0.2
+
+ texture_unit
+ {
+ texture egyptrockyfull.jpg
+ }
+ }
+ }
+}
+material Examples/10PointBlock
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture 10points.tga
+ }
+ }
+ }
+}
+material Material__25
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture texmap2.jpg
+ }
+ }
+ }
+}
+material 2 - Default
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture MtlPlat2.jpg
+ }
+ }
+ }
+}
+
+material Examples/Fish
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture steelhead.tga
+ }
+ }
+ }
+}
+material Examples/Ninja
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture nskingr.jpg
+ }
+ }
+ }
+}
+
+material Examples/Robot
+{
+ // Hardware skinning techniique
+ technique
+ {
+ pass
+ {
+ vertex_program_ref Ogre/HardwareSkinningOneWeight
+ {
+ param_named_auto worldMatrix3x4Array world_matrix_array_3x4
+ param_named_auto viewProjectionMatrix viewproj_matrix
+ param_named_auto lightPos[0] light_position 0
+ param_named_auto lightPos[1] light_position 1
+ param_named_auto lightDiffuseColour[0] light_diffuse_colour 0
+ param_named_auto lightDiffuseColour[1] light_diffuse_colour 1
+ param_named_auto ambient ambient_light_colour
+
+ }
+ // alternate shadow caster program
+ shadow_caster_vertex_program_ref Ogre/HardwareSkinningOneWeightShadowCaster
+ {
+ param_named_auto worldMatrix3x4Array world_matrix_array_3x4
+ param_named_auto viewProjectionMatrix viewproj_matrix
+ param_named_auto ambient ambient_light_colour
+
+ }
+
+ texture_unit
+ {
+ texture r2skin.jpg
+ }
+ }
+ }
+
+ // Software blending technique
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture r2skin.jpg
+ }
+ }
+ }
+}
+
+material Examples/GrassFloor
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture grass_1024.jpg
+ }
+ }
+ }
+}
+
+vertex_program Examples/GrassWaverVp cg
+{
+ source Grass.cg
+ entry_point grass_vp
+ profiles vs_1_1 arbvp1
+}
+
+material Examples/GrassBlades
+{
+ // Vertex program waving grass
+ technique
+ {
+ pass
+ {
+ vertex_program_ref Examples/GrassWaverVp
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ param_named_auto objSpaceLight light_position_object_space 0
+ param_named_auto lightColour light_diffuse_colour 0
+ param_named_auto offset custom 999
+ }
+ alpha_rejection greater 150
+ scene_blend alpha_blend
+ cull_hardware none
+ cull_software none
+ texture_unit
+ {
+ texture gras_02.tga
+ }
+ }
+ }
+
+ // Non-vertex program technique (no waving)
+ technique
+ {
+ pass
+ {
+ alpha_rejection greater 150
+ scene_blend alpha_blend
+ cull_hardware none
+ cull_software none
+ texture_unit
+ {
+ texture gras_02.tga
+ }
+ }
+ }
+}
+
+material Examples/Rockwall
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture rockwall.tga
+ }
+ }
+ }
+}
+
+material Examples/Aureola
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_write off
+ cull_hardware none
+
+ texture_unit
+ {
+ texture aureola.tga PF_BYTE_LA
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+// Test hardware morph animation
+material Examples/HardwareMorphAnimation
+{
+ technique
+ {
+ pass
+ {
+
+ vertex_program_ref Ogre/HardwareMorphAnimation
+ {
+ // all default
+ }
+
+ texture_unit
+ {
+ tex_coord_set 0
+ colour_op_ex source1 src_current src_current
+ }
+ // need to define these texture units otherwise GL won't use the uv sets
+ texture_unit
+ {
+ tex_coord_set 1
+ // also need to set blending to ignore texture which is GL warning texture
+ colour_op_ex source1 src_current src_current
+ }
+ texture_unit
+ {
+ tex_coord_set 2
+ colour_op_ex source1 src_current src_current
+ }
+
+ }
+ }
+}
+
+// Test hardware pose animation
+material Examples/HardwarePoseAnimation
+{
+ technique
+ {
+ pass
+ {
+
+ vertex_program_ref Ogre/HardwarePoseAnimation
+ {
+ // all default
+ }
+ texture_unit
+ {
+ tex_coord_set 0
+ colour_op_ex source1 src_current src_current
+ }
+ // need to define these texture units otherwise GL won't use the uv sets
+ texture_unit
+ {
+ tex_coord_set 1
+ // also need to set blending to ignore texture which is GL warning texture
+ colour_op_ex source1 src_current src_current
+ }
+ texture_unit
+ {
+ tex_coord_set 2
+ colour_op_ex source1 src_current src_current
+ }
+
+
+ }
+ }
+}
+
+material RustyBarrel
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.5 0.5 0.5 1.0
+ diffuse 1.0 1.0 1.0 1.0
+ specular 0.0 0.0 0.0 1.0 12.5
+ emissive 0.0 0.0 0.0 1.0
+ texture_unit
+ {
+ texture RustyBarrel.tga
+ filtering trilinear
+ }
+ }
+ }
+}
+
+material WoodPallet
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.5 0.5 0.5 1.0
+ diffuse 1.0 1.0 1.0 1.0
+ specular 0.0 0.0 0.0 1.0 12.5
+
+ texture_unit
+ {
+ texture WoodPallet.tga
+ filtering trilinear
+ }
+ }
+ }
+}
+
+material Examples/LightRibbonTrail
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture ribbonband.tga 1d
+ tex_address_mode clamp
+ filtering none
+ }
+ }
+ }
+}
+
+material Examples/TudorHouse
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture fw12b.jpg
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material jaiqua
+{
+ // Hardware skinning techniique
+ technique
+ {
+ pass
+ {
+ vertex_program_ref Ogre/HardwareSkinningTwoWeights
+ {
+
+ }
+ // alternate shadow caster program
+ shadow_caster_vertex_program_ref Ogre/HardwareSkinningTwoWeightsShadowCaster
+ {
+ param_named_auto worldMatrix3x4Array world_matrix_array_3x4
+ param_named_auto viewProjectionMatrix viewproj_matrix
+ param_named_auto ambient ambient_light_colour
+
+ }
+
+ texture_unit
+ {
+ texture blue_jaiqua.jpg
+ tex_address_mode clamp
+ }
+ }
+ }
+
+ // Software blending technique
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture blue_jaiqua.jpg
+ tex_address_mode clamp
+ }
+ }
+ }
+
+}
+
+
+material Examples/Plane/IntegratedShadows
+{
+ technique
+ {
+ pass
+ {
+ // Single-pass shadowing
+ texture_unit
+ {
+ texture MtlPlat2.jpg
+ }
+ texture_unit
+ {
+ // standard modulation blend
+ content_type shadow
+ tex_address_mode clamp
+ }
+ }
+ }
+
+}
Index: /data/branches/png2/materials/scripts/Examples.compositor
===================================================================
--- /data/branches/png2/materials/scripts/Examples.compositor (revision 7245)
+++ /data/branches/png2/materials/scripts/Examples.compositor (revision 7245)
@@ -0,0 +1,207 @@
+//compositor DOF // based on Blur but final pass does depth of field
+//{
+// technique
+// {
+// // Temporary textures
+// texture rt0 target_width target_height PF_A8R8G8B8
+// texture rt1 target_width target_height PF_A8R8G8B8
+//
+// target rt1
+// {
+// // Render output from previous compositor (or original scene)
+// input previous
+// }
+//
+// target rt0
+// {
+// // Start with clear texture
+// input none
+// // Vertical blur pass
+// pass render_quad
+// {
+// // Renders a fullscreen quad with a material
+// material Ogre/Compositor/DOF_Blur0
+// input 0 rt1
+// }
+// }
+//
+// target rt1
+// {
+// // Start with clear texture
+// input none
+// // Horizontal blur pass
+// pass render_quad
+// {
+// // Renders a fullscreen quad with a material
+// material Ogre/Compositor/DOF_Blur1
+// input 0 rt0
+// }
+// }
+//
+// target_output
+// {
+// // Start with clear output
+// input none
+// // Draw a fullscreen quad
+// pass render_quad
+// {
+// // Renders a fullscreen quad with a material
+// material Ogre/Compositor/DOF_Blend
+// input 0 rt0
+// input 1 rt1
+// }
+// }
+// }
+//}
+
+// HDR
+compositor HDR
+{
+ // floating point only for now
+ technique
+ {
+ // Temporary textures
+ // Fullsize HDR render target, used as tone mapping source
+ texture rt_full target_width target_height PF_FLOAT16_RGB
+ // Targets used for luminance evaluation (3x3 downsample, point filtering)
+ texture rt_lum0 1 1 PF_FLOAT16_RGB
+ texture rt_lum1 4 4 PF_FLOAT16_RGB
+ texture rt_lum2 16 16 PF_FLOAT16_RGB
+ texture rt_lum3 64 64 PF_FLOAT16_RGB
+ texture rt_lum4 128 128 PF_FLOAT16_RGB
+ // Bright-pass filtered target (tone mapped)
+ texture rt_brightpass 128 128 PF_R8G8B8
+ // Bloom filter targets
+ texture rt_bloom0 128 128 PF_R8G8B8
+ texture rt_bloom1 128 128 PF_R8G8B8
+
+
+ target rt_full
+ {
+ // No input, render differently
+ input none
+
+ // Use float target HDR material scheme (unclamped shaders)
+ material_scheme HDR
+
+ pass clear
+ {
+ }
+
+ pass render_scene
+ {
+ }
+
+ }
+
+ // Downsample the original HDR scene to extract luminence value
+ target rt_lum4
+ {
+ input none
+ pass render_quad
+ {
+ // Downsample using a 2x2 filter and convert to greyscale
+ material Ogre/Compositor/HDR/Downsample2x2Luminence
+ input 0 rt_full
+ identifier 994
+ }
+ }
+ target rt_lum3
+ {
+ input none
+ pass render_quad
+ {
+ // Downsample using a 3x3 filter
+ material Ogre/Compositor/HDR/Downsample3x3
+ input 0 rt_lum4
+ identifier 993
+ }
+ }
+ target rt_lum2
+ {
+ input none
+ pass render_quad
+ {
+ // Downsample using a 3x3 filter
+ material Ogre/Compositor/HDR/Downsample3x3
+ input 0 rt_lum3
+ identifier 992
+ }
+ }
+ target rt_lum1
+ {
+ input none
+ pass render_quad
+ {
+ // Downsample using a 3x3 filter
+ material Ogre/Compositor/HDR/Downsample3x3
+ input 0 rt_lum2
+ identifier 991
+ }
+ }
+ target rt_lum0
+ {
+ input none
+ pass render_quad
+ {
+ // Downsample using a 3x3 filter
+ material Ogre/Compositor/HDR/Downsample3x3
+ input 0 rt_lum1
+ identifier 990
+ }
+ }
+
+
+ target rt_brightpass
+ {
+ input none
+ pass render_quad
+ {
+ // Downsample using a 3x3 filter, hi-pass and tone map
+ material Ogre/Compositor/HDR/Downsample3x3Brightpass
+ input 0 rt_full
+ input 1 rt_lum0
+ identifier 800
+ }
+ }
+
+ target rt_bloom1
+ {
+ input none
+ pass render_quad
+ {
+ // Blur horizontally
+ material Ogre/Compositor/HDR/GaussianBloom
+ input 0 rt_brightpass
+ identifier 701
+ }
+ }
+ target rt_bloom0
+ {
+ input none
+ pass render_quad
+ {
+ // Blur horizontally
+ material Ogre/Compositor/HDR/GaussianBloom
+ input 0 rt_bloom1
+ identifier 700
+ }
+ }
+
+
+ // Final output combines tone mapping of the original scene, with an
+ // exposure setting passed in as a GPU parameter, and an additive bloom
+ // effect
+ target_output
+ {
+ input none
+ pass render_quad
+ {
+ material Ogre/Compositor/HDR/ToneMapping
+ input 0 rt_full
+ input 1 rt_bloom0
+ input 2 rt_lum0
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Examples.program
===================================================================
--- /data/branches/png2/materials/scripts/Examples.program (revision 7245)
+++ /data/branches/png2/materials/scripts/Examples.program (revision 7245)
@@ -0,0 +1,146 @@
+//---------------------------------------------------
+// This file includes a number of basic GPU programs
+// for use in many materials.
+//---------------------------------------------------
+
+
+
+
+// A really basic ambient pass program, support for one texture coodinate set
+vertex_program Ogre/BasicVertexPrograms/AmbientOneTextureHLSL hlsl
+{
+ source Example_Basic.hlsl
+ entry_point ambientOneTexture_vp
+ target vs_1_1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ }
+}
+// A really basic ambient pass program, support for one texture coodinate set
+vertex_program Ogre/BasicVertexPrograms/AmbientOneTextureGLSL glsl
+{
+ source AmbientOneTexture.glsl
+
+ default_params
+ {
+ param_named_auto ambient ambient_light_colour
+ }
+}
+
+
+vertex_program Ogre/BasicVertexPrograms/AmbientOneTextureUnified unified
+{
+ delegate Ogre/BasicVertexPrograms/AmbientOneTextureGLSL
+ delegate Ogre/BasicVertexPrograms/AmbientOneTextureHLSL
+}
+
+// Same as below, but for use when rendering texture shadows
+vertex_program Ogre/HardwareSkinningOneWeightShadowCaster cg
+{
+ source Example_Basic.cg
+ entry_point hardwareSkinningOneWeightCaster_vp
+ profiles vs_1_1 arbvp1
+ includes_skeletal_animation true
+}
+// Basic hardware skinning using one indexed weight per vertex
+vertex_program Ogre/HardwareSkinningOneWeight cg
+{
+ source Example_Basic.cg
+ entry_point hardwareSkinningOneWeight_vp
+ profiles vs_1_1 arbvp1
+ includes_skeletal_animation true
+}
+// Same as below, but for use when rendering texture shadows
+vertex_program Ogre/HardwareSkinningTwoWeightsShadowCasterCg cg
+{
+ source Example_Basic.cg
+ entry_point hardwareSkinningTwoWeightsCaster_vp
+ profiles vs_1_1 arbvp1
+ includes_skeletal_animation true
+}
+
+vertex_program Ogre/HardwareSkinningTwoWeightsShadowCasterGLSL glsl
+{
+ source skinningTwoWeightsShadowCasterVp.glsl
+ includes_skeletal_animation true
+}
+
+vertex_program Ogre/HardwareSkinningTwoWeightsShadowCaster unified
+{
+ delegate Ogre/HardwareSkinningTwoWeightsShadowCasterGLSL
+ delegate Ogre/HardwareSkinningTwoWeightsShadowCasterCg
+}
+
+// Basic hardware skinning using two indexed weights per vertex
+vertex_program Ogre/HardwareSkinningTwoWeightsCg cg
+{
+ source Example_Basic.cg
+ entry_point hardwareSkinningTwoWeights_vp
+ profiles vs_1_1 arbvp1
+ includes_skeletal_animation true
+}
+
+vertex_program Ogre/HardwareSkinningTwoWeightsGLSL glsl
+{
+ source skinningTwoWeightsVp.glsl
+ includes_skeletal_animation true
+}
+
+vertex_program Ogre/HardwareSkinningTwoWeights unified
+{
+ delegate Ogre/HardwareSkinningTwoWeightsGLSL
+ delegate Ogre/HardwareSkinningTwoWeightsCg
+
+ default_params
+ {
+ param_named_auto worldMatrix3x4Array world_matrix_array_3x4
+ param_named_auto viewProjectionMatrix viewproj_matrix
+ param_named_auto lightPos[0] light_position 0
+ param_named_auto lightPos[1] light_position 1
+ param_named_auto lightDiffuseColour[0] light_diffuse_colour 0
+ param_named_auto lightDiffuseColour[1] light_diffuse_colour 1
+ }
+}
+
+// Basic hardware skinning using four indexed weights per vertex
+vertex_program Ogre/HardwareSkinningFourWeights cg
+{
+ source Example_Basic.cg
+ entry_point hardwareSkinningFourWeights_vp
+ profiles vs_1_1 arbvp1
+ includes_skeletal_animation true
+
+}
+// Basic hardware morph animation
+vertex_program Ogre/HardwareMorphAnimation cg
+{
+ source Example_Basic.cg
+ entry_point hardwareMorphAnimation
+ profiles vs_1_1 arbvp1
+
+ includes_morph_animation true
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto anim_t animation_parametric
+ }
+}
+// Basic hardware pose animation supporting 2 active poses
+vertex_program Ogre/HardwarePoseAnimation cg
+{
+ source Example_Basic.cg
+ entry_point hardwarePoseAnimation
+ profiles vs_1_1 arbvp1
+
+ includes_pose_animation 2
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto anim_t animation_parametric
+ }
+}
+
+
Index: /data/branches/png2/materials/scripts/Eye.material
===================================================================
--- /data/branches/png2/materials/scripts/Eye.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Eye.material (revision 7245)
@@ -0,0 +1,17 @@
+material Eye
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture eye.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Flares.material
===================================================================
--- /data/branches/png2/materials/scripts/Flares.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Flares.material (revision 7245)
@@ -0,0 +1,273 @@
+material Flares/point_lensflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ point_sprites on
+ point_size 0.1
+ point_size_attenuation on
+
+ texture_unit
+ {
+ texture flare.tga
+ }
+ }
+ }
+}
+
+material Flares/lensflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture flare.tga
+ }
+ }
+ }
+}
+
+material Flares/ringflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture ring_flare.tga
+ }
+ }
+ }
+}
+
+material Flares/ringflare2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture ring_flare2.tga
+ }
+ }
+ }
+}
+
+material Flares/Flare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flaretrail.tga
+ }
+ }
+ }
+}
+
+material Flares/backlightflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture backlightflare.tga
+ }
+ }
+ }
+}
+
+material Flares/ThrusterFlare1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture bigflare1.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_1.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_2.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_3
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_3.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_4
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_4.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_5
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_5.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_6
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_6.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_7
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_7.tga
+ }
+ }
+ }
+}
+
+material Flares/LightningBall_8
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture LightningBall_8.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Glass.material
===================================================================
--- /data/branches/png2/materials/scripts/Glass.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Glass.material (revision 7245)
@@ -0,0 +1,40 @@
+fragment_program Ogre/Compositor/GlassFP cg
+{
+ source GlassFP.cg
+ entry_point main_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/GlassPass
+{
+ technique
+ {
+ pass
+ {
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Cg_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/GlassFP
+ {
+ }
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+
+ texture_unit
+ {
+ texture WaterNormal1.tga 2d
+ tex_coord_set 1
+ //tex_address_mode clamp
+ filtering linear linear linear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/HXY.material
===================================================================
--- /data/branches/png2/materials/scripts/HXY.material (revision 7245)
+++ /data/branches/png2/materials/scripts/HXY.material (revision 7245)
@@ -0,0 +1,372 @@
+material Body
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture Spaceshipbody.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.001
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 0.455183
+ diffuse 0.800000 0.800000 0.800000 0.455183
+ emissive 0.000000 0.000000 0.000000 0.455183
+ scene_blend alpha_blend
+ depth_write off
+ texture_unit
+ {
+ texture PlasmaBlau.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 0.455183 12.500000
+ scene_blend add
+ depth_write off
+ }
+ }
+}
+material Material.014
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture PlasmaAufh_Aufh.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.002
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 0.502017
+ diffuse 0.800000 0.800000 0.800000 0.502017
+ emissive 0.000000 0.000000 0.000000 0.502017
+ scene_blend alpha_blend
+ depth_write off
+ texture_unit
+ {
+ texture PlasmaBlau.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 0.502017 12.500000
+ scene_blend add
+ depth_write off
+ }
+ }
+}
+material Material.013
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture PlasmaAufh_Aufh.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.007
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture MetalBase0020_thumbhuge.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.006
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture MetalBare.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.009
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture MetalBase0030_thumbhuge.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.008
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture MetalBare.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.640000 0.640000 0.640000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture Triebwerk1_Cylinder.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op alpha_blend
+ }
+ }
+ }
+}
+material Material.003
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture plasmagunParabol_Cylinder002.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Ammunition
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture PSO1024.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Wings
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture SpaceshipWings.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Material.004
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.640000 0.640000 0.640000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture plasmaSilver_Tube.tga
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op alpha_blend
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Invert.material
===================================================================
--- /data/branches/png2/materials/scripts/Invert.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Invert.material (revision 7245)
@@ -0,0 +1,36 @@
+fragment_program Ogre/Compositor/InvertFP cg
+{
+ source InvertFP.cg
+ entry_point Invert_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/Invert
+{
+ technique
+ {
+
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/InvertFP
+ {
+ }
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Laplace.material
===================================================================
--- /data/branches/png2/materials/scripts/Laplace.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Laplace.material (revision 7245)
@@ -0,0 +1,39 @@
+fragment_program Ogre/Compositor/LaplaceFP cg
+{
+ source LaplaceFP.cg
+ entry_point Laplace_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/Laplace
+{
+ technique
+ {
+
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/LaplaceFP
+ {
+ param_named pixelSize float 0.0031
+ param_named scale float 1.0
+ }
+
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/LightningGun-s.material
===================================================================
--- /data/branches/png2/materials/scripts/LightningGun-s.material (revision 7245)
+++ /data/branches/png2/materials/scripts/LightningGun-s.material (revision 7245)
@@ -0,0 +1,25 @@
+material LightningGun-s/TEXFACE/LightningGun-s.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture Lightning_gun4.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/LightningGun.material
===================================================================
--- /data/branches/png2/materials/scripts/LightningGun.material (revision 7245)
+++ /data/branches/png2/materials/scripts/LightningGun.material (revision 7245)
@@ -0,0 +1,25 @@
+material LightningGun/TEXFACE/LightningGun.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture Lightning_gun4.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Map.material
===================================================================
--- /data/branches/png2/materials/scripts/Map.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Map.material (revision 7245)
@@ -0,0 +1,18 @@
+material Map/Grid
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+ alpha_rejection greater 128
+ cull_hardware none
+ texture_unit
+ {
+ texture mapgrid.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/MotionBlur.compositor
===================================================================
--- /data/branches/png2/materials/scripts/MotionBlur.compositor (revision 7245)
+++ /data/branches/png2/materials/scripts/MotionBlur.compositor (revision 7245)
@@ -0,0 +1,62 @@
+compositor MotionBlur
+{
+ technique
+ {
+ // Temporary textures
+ texture scene target_width target_height PF_A8R8G8B8
+ texture sum target_width target_height PF_A8R8G8B8
+ texture temp target_width target_height PF_A8R8G8B8
+
+ target scene
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+ target sum
+ {
+ // Render this target pass only initially, on the first frame that
+ // this effect was enabled. This makes sure the sum texture
+ // does not start with randomness.
+ only_initial on
+
+ input previous
+ }
+ target temp
+ {
+ // Start with clear texture
+ input none
+ // Combine scene and sum texture
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Combine
+ input 0 scene
+ input 1 sum
+ }
+ }
+ target sum
+ {
+ // Start with clear texture
+ input none
+ // Copy temporary back to sum
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Copyback
+ input 0 temp
+ }
+ }
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the blur
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/MotionBlur
+ input 0 sum
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/MotionBlur.material
===================================================================
--- /data/branches/png2/materials/scripts/MotionBlur.material (revision 7245)
+++ /data/branches/png2/materials/scripts/MotionBlur.material (revision 7245)
@@ -0,0 +1,84 @@
+fragment_program Ogre/Compositor/Combine_fp cg
+{
+ source Combine_fp.cg
+ profiles ps_2_0 arbfp1
+ entry_point Combine_fp
+
+ default_params
+ {
+ param_named blur float 0.7
+ }
+}
+
+material Ogre/Compositor/Combine
+{
+ technique
+ {
+ pass
+ {
+ depth_check off
+
+ fragment_program_ref Ogre/Compositor/Combine_fp
+ {
+ }
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Cg_vp
+ {
+ }
+
+ texture_unit RT
+ {
+ tex_address_mode clamp
+ filtering linear linear none
+ tex_coord_set 0
+ }
+
+ texture_unit SUM
+ {
+ tex_address_mode clamp
+ filtering linear linear none
+ tex_coord_set 0
+ }
+ }
+ }
+}
+
+material Ogre/Compositor/Copyback
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_check off
+
+ texture_unit Temp
+ {
+ tex_address_mode clamp
+ filtering linear linear none
+ colour_op replace
+ tex_coord_set 0
+ }
+ }
+ }
+}
+
+material Ogre/Compositor/MotionBlur
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_check off
+
+ texture_unit Sum
+ {
+ tex_address_mode clamp
+ filtering linear linear none
+ colour_op replace
+ tex_coord_set 0
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Ogre.material
===================================================================
--- /data/branches/png2/materials/scripts/Ogre.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Ogre.material (revision 7245)
@@ -0,0 +1,122 @@
+
+material Ogre/Earring
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.5 0.5 0
+ diffuse 1 1 0
+
+ texture_unit
+ {
+ texture spheremap.tga
+ colour_op_ex add src_texture src_current
+ colour_op_multipass_fallback one one
+ env_map spherical
+ }
+ }
+ }
+}
+material Ogre/Skin
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.7 0.7 0.7
+ cull_hardware none
+
+ texture_unit
+ {
+ texture GreenSkin.jpg
+ tex_address_mode mirror
+ }
+ }
+ }
+}
+material Ogre/Tusks
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.5 0.5 0.4
+ diffuse 1 1 0.8
+
+ texture_unit
+ {
+ texture dirt01.jpg
+ colour_op_ex add src_texture src_current
+ colour_op_multipass_fallback one one
+ }
+ }
+ }
+}
+material Ogre/Eyes
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture WeirdEye.tga
+ }
+ }
+ }
+}
+material Cursor/default
+{
+ technique
+ {
+ pass
+ {
+ scene_blend alpha_blend
+
+ texture_unit
+ {
+ texture cursor.tga
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+material Core/StatsBlockBorder/Down
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture ogreborder.tga
+ }
+ }
+ }
+}
+material Core/StatsBlockBorder/Up
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture ogreborderUp.tga
+ }
+ }
+ }
+}
+
+
+
Index: /data/branches/png2/materials/scripts/OldMovie.material
===================================================================
--- /data/branches/png2/materials/scripts/OldMovie.material (revision 7245)
+++ /data/branches/png2/materials/scripts/OldMovie.material (revision 7245)
@@ -0,0 +1,67 @@
+fragment_program Ogre/Compositor/OldMovieFP cg
+{
+ source OldMovieFP.cg
+ entry_point OldMovie_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/OldMovie
+{
+ technique
+ {
+
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/OldMovieFP
+ {
+ param_named_auto time_cycle_period time 20
+ param_named flicker float 0.4
+ param_named DirtFrequency float 0.0005
+ param_named luminance float3 0.30 0.59 0.11
+ param_named frameJitter float 0.004
+ param_named lumiShift float 0.03
+ }
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+
+ texture_unit SplotchesTx
+ {
+ texture 8x8PagesSplotches2.png 2d
+ tex_coord_set 1
+ tex_address_mode wrap
+ filtering trilinear
+ }
+
+ texture_unit
+ {
+ texture 1D_Noise.png 1d
+ tex_coord_set 2
+ tex_address_mode wrap
+ filtering point point none
+ }
+
+
+ texture_unit SepiaTx
+ {
+ texture Sepia1D.tga 1d
+ tex_coord_set 3
+ tex_address_mode mirror
+ filtering point point none
+ }
+
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/OldTV.material
===================================================================
--- /data/branches/png2/materials/scripts/OldTV.material (revision 7245)
+++ /data/branches/png2/materials/scripts/OldTV.material (revision 7245)
@@ -0,0 +1,59 @@
+fragment_program Ogre/Compositor/OldTV_FP cg
+{
+ source OldTV.cg
+ entry_point OldTV_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/OldTV
+{
+ technique
+ {
+
+ pass
+ {
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/OldTV_FP
+ {
+ param_named_auto time_0_X time_0_x 120
+ param_named_auto sin_time_0_X sintime_0_x 120
+
+ param_named distortionFreq float 2.7
+ param_named distortionScale float 2.5
+ param_named distortionRoll float 0.93
+ param_named interference float 0.5
+ param_named frameLimit float 0.40
+ param_named frameShape float 0.26
+ param_named frameSharpness float 6.0
+ }
+
+ texture_unit 0
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering linear linear linear
+ }
+
+ texture_unit 1
+ {
+ texture Random3D.dds 3d
+ tex_coord_set 1
+ tex_address_mode wrap
+ filtering linear linear linear
+ }
+
+ texture_unit 2
+ {
+ texture NoiseVolume.dds 3d
+ tex_coord_set 2
+ tex_address_mode wrap
+ filtering linear linear linear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Orxonox.material
===================================================================
--- /data/branches/png2/materials/scripts/Orxonox.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Orxonox.material (revision 7245)
@@ -0,0 +1,467 @@
+material Orxonox/Red
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture bar2c.tga
+ }
+ }
+ }
+}
+
+material Orxonox/Yellow
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture bar2b.tga
+ }
+ }
+ }
+}
+
+material Orxonox/Green
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture bar2a.tga
+ }
+ }
+ }
+}
+
+material Orxonox/White
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture bar2.tga
+ }
+ }
+ }
+}
+
+material Orxonox/Black
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture OrxonoxBlack.tga
+ }
+ }
+ }
+}
+
+material Orxonox/BarBackground
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture bar1.tga 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/HealthBarBackground
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture healthbar_bg.tga 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+material Orxonox/Radar
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture radar.tga
+ }
+ }
+ }
+}
+
+material Orxonox/RadarSquare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture RadarSquare.tga
+ }
+ }
+ }
+}
+
+material Orxonox/RadarMarker
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console2.tga
+ }
+ }
+ }
+}
+
+material Orxonox/WhiteDot
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture OrxonoxWhite.tga
+ }
+ }
+ }
+}
+
+material Orxonox/GreenDot
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture OrxonoxWhite.tga
+ colour_op_ex modulate src_manual src_current 0 1 0
+ }
+ }
+ }
+}
+
+material Orxonox/NavArrows
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture arrows.tga
+ }
+ }
+ }
+}
+
+material Orxonox/NavTDC
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture tdc.tga
+ }
+ }
+ }
+}
+
+material Orxonox/NavCrosshair
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_check off
+
+ texture_unit
+ {
+ texture crosshair2.tga
+ }
+ }
+ }
+}
+
+material Orxonox/Crosshair
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture crosshair.tga
+ }
+ }
+ }
+}
+
+material Orxonox/Crosshair3
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture crosshair3.png 2d 0 //do not make any mipmaps
+ }
+ }
+ }
+}
+
+material Orxonox/CenterOverlay
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture centeroverlay.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DirectionArrows1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture directionarrows1.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DirectionArrows2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture directionarrows2.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DirectionArrows3
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture directionarrows3.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DirectionArrows4
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture directionarrows4.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DamageOverlayTop
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture damageoverlaytop.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DamageOverlayRight
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture damageoverlayright.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DamageOverlayBottom
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture damageoverlaybottom.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
+
+material Orxonox/DamageOverlayLeft
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture damageoverlayleft.png 2d 0 // no mipmapping
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/OrxonoxSky.material
===================================================================
--- /data/branches/png2/materials/scripts/OrxonoxSky.material (revision 7245)
+++ /data/branches/png2/materials/scripts/OrxonoxSky.material (revision 7245)
@@ -0,0 +1,140 @@
+material Orxonox/skypanoramagen1
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture skypanoramagen1.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/skypanoramagen2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture skypanoramagen2.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/Starbox
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture starbox.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/StarSkyBox
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture stars.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/BlueStarSkyBox
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture bluestar.tga separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/StarfieldSkyBox
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture starfield.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/StarBoxSkyBox
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+
+ texture_unit
+ {
+ cubic_texture starbox.jpg separateUV
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+material Orxonox/LoadingScreenSample
+{
+ technique
+ {
+ pass
+ {
+
+ texture_unit
+ {
+ texture sample_loading.jpg
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/PE_materials.material
===================================================================
--- /data/branches/png2/materials/scripts/PE_materials.material (revision 7245)
+++ /data/branches/png2/materials/scripts/PE_materials.material (revision 7245)
@@ -0,0 +1,238 @@
+material PE/point_lensflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ point_sprites on
+ point_size 0.1
+ point_size_attenuation on
+
+ texture_unit
+ {
+ texture flare.tga
+ }
+ }
+ }
+}
+
+material PE/lensflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture flare.tga
+ }
+ }
+ }
+}
+
+material PE/bigFlame
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture bigflame.tga
+ }
+ }
+ }
+}
+
+material PE/smoke
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend alpha_blend
+
+ texture_unit
+ {
+ texture smoke.tga
+ }
+ }
+ }
+}
+
+material PE/smoke2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend alpha_blend
+
+ texture_unit
+ {
+ texture smoke2.tga
+ }
+ }
+ }
+}
+
+material PE/smoke3
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend alpha_blend
+
+ texture_unit
+ {
+ texture smoke3.tga
+ }
+ }
+ }
+}
+
+material PE/smoke4
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend alpha_blend
+
+ texture_unit
+ {
+ texture smoke4.tga
+ }
+ }
+ }
+}
+
+material PE/explosion
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture explosion.tga
+ }
+ }
+ }
+}
+
+material PE/explosion3
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture explosion3.tga
+ }
+ }
+ }
+}
+
+material PE/ringflare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture ring_flare.tga
+ }
+ }
+ }
+}
+
+material PE/ringflare2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture ring_flare2.tga
+ }
+ }
+ }
+}
+
+material PE/Flare
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture flaretrail.tga
+ }
+ }
+ }
+}
+
+material PE/Streak
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+
+ texture_unit
+ {
+ texture streak.tga
+ }
+ }
+ }
+}
+
Index: /data/branches/png2/materials/scripts/Posterize.material
===================================================================
--- /data/branches/png2/materials/scripts/Posterize.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Posterize.material (revision 7245)
@@ -0,0 +1,36 @@
+fragment_program Ogre/Compositor/PosterizeFP cg
+{
+ source PosterizeFP.cg
+ entry_point Posterize_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/Posterize
+{
+ technique
+ {
+
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ fragment_program_ref Ogre/Compositor/PosterizeFP
+ {
+ }
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/RadialBlur.material
===================================================================
--- /data/branches/png2/materials/scripts/RadialBlur.material (revision 7245)
+++ /data/branches/png2/materials/scripts/RadialBlur.material (revision 7245)
@@ -0,0 +1,36 @@
+//Cg Pixel Shader ps_2_0
+fragment_program Radial_Blur_ps_cg cg
+{
+ source Radial_Blur_FP.cg
+ profiles ps_2_0 arbfp1
+ entry_point main
+
+}
+
+
+//Effect: Radial Blur
+material Ogre/Compositor/Radial_Blur
+{
+ technique
+ {
+ pass
+ {
+ //State: D3DRS_CULLMODE, Value : D3DCULL_NONE
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ fragment_program_ref Radial_Blur_ps_cg
+ {
+ param_named sampleDist float 0.5
+ param_named sampleStrength float 2.2
+ }
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Scene.material
===================================================================
--- /data/branches/png2/materials/scripts/Scene.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Scene.material (revision 7245)
@@ -0,0 +1,25 @@
+material Material.002/TEXFACE/asteroid.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.800000 0.600000 0.200000 1
+ diffuse 0.800000 0.600000 0.200000 1
+ emissive 0.000000 0.000000 0.000000 1
+ texture_unit
+ {
+ texture asteroid.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Shaders.compositor
===================================================================
--- /data/branches/png2/materials/scripts/Shaders.compositor (revision 7245)
+++ /data/branches/png2/materials/scripts/Shaders.compositor (revision 7245)
@@ -0,0 +1,399 @@
+// Manuel's bloom
+// Needs a scene-sized rtt, but does only one render of the scene
+compositor Bloom
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 128 128 PF_A8R8G8B8
+ texture rt1 128 128 PF_A8R8G8B8
+
+ target rt1
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target rt0
+ {
+ // Start with clear texture
+ input none
+ // Vertical blur pass
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Blur0
+ input 0 rt1
+ }
+ }
+
+ target rt1
+ {
+ // Start with clear texture
+ input none
+ // Horizontal blur pass
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Blur1
+ input 0 rt0
+ }
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input previous
+ // Draw a fullscreen quad
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/BloomBlend
+ input 0 rt1
+ }
+ }
+ }
+}
+
+compositor Glass
+{
+ technique
+ {
+ texture rt0 target_width target_height PF_R8G8B8
+
+ target rt0 { input previous }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+
+ pass render_quad
+ {
+ material Ogre/Compositor/GlassPass
+ input 0 rt0
+ }
+ }
+ }
+}
+
+// Black and white effect
+compositor BW
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/BlackAndWhite
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor Tiling
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Tiling
+ input 0 rt0
+ }
+ }
+ }
+}
+
+// Embossed (fake bump) effect
+compositor Embossed
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Embossed
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor "Sharpen Edges"
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/SharpenEdges
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor Invert
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Invert
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor Posterize
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Posterize
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor Laplace
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Laplace
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor "Old TV"
+{
+ technique
+ {
+ texture rt0 target_width target_height PF_R8G8B8
+
+ // render scene to a texture
+ target rt0 { input previous }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+
+ pass render_quad
+ {
+ // convert the previous render target to a black and white image, add some noise, distort it,
+ // then render to scene aligned quad
+ material Ogre/Compositor/OldTV
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor "Old Movie"
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Draw a fullscreen quad with the black and white image
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/OldMovie
+ input 0 rt0
+ }
+ }
+ }
+}
+
+compositor "Gaussian Blur"
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+ texture rt1 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target rt1
+ {
+ // Blur horizontally
+ input none
+ pass render_quad
+ {
+ material Ogre/Compositor/HDR/GaussianBloom
+ input 0 rt0
+ identifier 700
+ }
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Blur vertically
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/HDR/GaussianBloom
+ input 0 rt1
+ identifier 701
+ }
+ }
+ }
+}
+
+compositor "Radial Blur"
+{
+ technique
+ {
+ // Temporary textures
+ texture rt0 target_width target_height PF_A8R8G8B8
+
+ target rt0
+ {
+ // Render output from previous compositor (or original scene)
+ input previous
+ }
+
+ target_output
+ {
+ // Start with clear output
+ input none
+ // Blur vertically
+ pass render_quad
+ {
+ // Renders a fullscreen quad with a material
+ material Ogre/Compositor/Radial_Blur
+ input 0 rt0
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/SharpenEdges.material
===================================================================
--- /data/branches/png2/materials/scripts/SharpenEdges.material (revision 7245)
+++ /data/branches/png2/materials/scripts/SharpenEdges.material (revision 7245)
@@ -0,0 +1,60 @@
+fragment_program Ogre/Compositor/SharpenEdgesFP_cg cg
+{
+ source SharpenEdgesFP.cg
+ entry_point sharpenEdges_fp
+ profiles ps_2_0 arbfp1
+}
+
+fragment_program Ogre/Compositor/SharpenEdgesFP_ps_2_a hlsl
+{
+ source SharpenEdgesFP.cg
+ entry_point sharpenEdges_fp
+ target ps_2_a
+}
+
+fragment_program Ogre/Compositor/SharpenEdgesFP unified
+{
+ delegate Ogre/Compositor/SharpenEdgesFP_ps_2_a
+ delegate Ogre/Compositor/SharpenEdgesFP_cg
+
+ default_params
+ {
+ param_named_auto vTexelSize inverse_texture_size 0
+ }
+}
+
+material Ogre/Compositor/SharpenEdges
+{
+ technique
+ {
+
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ //DirectX 9.0 HLSL Vertex Shader vs_1_1
+ //vertex_program_ref PostFilters/SharpenEdgesVP
+ //{
+ //}
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ //DirectX 9.0 HLSL Pixel Shader ps_2_0
+ fragment_program_ref Ogre/Compositor/SharpenEdgesFP
+ {
+ }
+
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Shield.material
===================================================================
--- /data/branches/png2/materials/scripts/Shield.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Shield.material (revision 7245)
@@ -0,0 +1,17 @@
+material Shield
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture shield.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Sphere2.material
===================================================================
--- /data/branches/png2/materials/scripts/Sphere2.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Sphere2.material (revision 7245)
@@ -0,0 +1,17 @@
+material Sphere2
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture sphere.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Stats.material
===================================================================
--- /data/branches/png2/materials/scripts/Stats.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Stats.material (revision 7245)
@@ -0,0 +1,71 @@
+material StatsBorder
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console2.tga
+ }
+ }
+ }
+}
+
+material StatsCenter
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console3.tga
+ }
+ }
+ }
+}
+
+material StatsNoise
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console4.tga
+ }
+ }
+ }
+}
+
+material StatsNoiseSmall
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check off
+
+ texture_unit
+ {
+ texture console5.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/StdQuad_vp.program
===================================================================
--- /data/branches/png2/materials/scripts/StdQuad_vp.program (revision 7245)
+++ /data/branches/png2/materials/scripts/StdQuad_vp.program (revision 7245)
@@ -0,0 +1,71 @@
+vertex_program Ogre/Compositor/StdQuad_Cg_vp cg
+{
+ source StdQuad_vp.cg
+ entry_point StdQuad_vp
+ profiles vs_1_1 arbvp1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex2_vp cg
+{
+ source StdQuad_vp.cg
+ entry_point StdQuad_Tex2_vp
+ profiles vs_1_1 arbvp1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex2a_vp cg
+{
+ source StdQuad_vp.cg
+ entry_point StdQuad_Tex2a_vp
+ profiles vs_1_1 arbvp1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex3_vp cg
+{
+ source StdQuad_vp.cg
+ entry_point StdQuad_Tex3_vp
+ profiles vs_1_1 arbvp1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+}
+
+vertex_program Ogre/Compositor/StdQuad_Tex4_vp cg
+{
+ source StdQuad_vp.cg
+ entry_point StdQuad_Tex4_vp
+ profiles vs_1_1 arbvp1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+}
+
+vertex_program Ogre/Compositor/StdQuad_GLSL_vp glsl
+{
+ source StdQuad_vp.glsl
+}
+
+
+vertex_program Ogre/Compositor/StdQuad_vp unified
+{
+ delegate Ogre/Compositor/StdQuad_GLSL_vp
+ delegate Ogre/Compositor/StdQuad_Cg_vp
+}
Index: /data/branches/png2/materials/scripts/Test.material
===================================================================
--- /data/branches/png2/materials/scripts/Test.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Test.material (revision 7245)
@@ -0,0 +1,18 @@
+material Test/Fog
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+
+ depth_write off
+
+ texture_unit
+ {
+ texture smoke.png
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Tiling.material
===================================================================
--- /data/branches/png2/materials/scripts/Tiling.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Tiling.material (revision 7245)
@@ -0,0 +1,39 @@
+fragment_program Ogre/Compositor/TilingFP cg
+{
+ source TilingFP.cg
+ entry_point Tiling_ps
+ profiles ps_2_0 arbfp1
+}
+
+material Ogre/Compositor/Tiling
+{
+ technique
+ {
+
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_func always_pass
+
+ vertex_program_ref Ogre/Compositor/StdQuad_Tex2a_vp
+ {
+ }
+
+ //DirectX 9.0 HLSL Pixel Shader ps_2_0
+ fragment_program_ref Ogre/Compositor/TilingFP
+ {
+ param_named NumTiles float 75.0
+ param_named Threshhold float 0.15
+ }
+
+ texture_unit RT
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering trilinear
+ }
+
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/ToonShader.material
===================================================================
--- /data/branches/png2/materials/scripts/ToonShader.material (revision 7245)
+++ /data/branches/png2/materials/scripts/ToonShader.material (revision 7245)
@@ -0,0 +1,31 @@
+vertex_program toonvs glsl
+{
+ source ToonShader_vs.vert
+}
+
+fragment_program Toonps glsl
+{
+ source ToonShader_ps.frag
+}
+
+
+material ToonShader
+{
+ technique asdftec
+ {
+ pass asdfpass
+ {
+ //vertex_program_ref toon_vs
+ //{
+ //}
+ texture_unit
+ {
+ texture thrust.jpg
+ }
+ fragment_program_ref Toonps
+ {
+ }
+ }
+ }
+}
+
Index: /data/branches/png2/materials/scripts/Trail.material
===================================================================
--- /data/branches/png2/materials/scripts/Trail.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Trail.material (revision 7245)
@@ -0,0 +1,38 @@
+material Trail/backlighttrail
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check on
+ depth_write off
+
+ texture_unit
+ {
+ texture backlighttrail.tga
+ }
+ }
+ }
+}
+
+
+material Trail/backlighttrailzwei
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ scene_blend alpha_blend
+ depth_check on
+ depth_write off
+
+ texture_unit
+ {
+ texture backlighttrail2.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Transparency.material
===================================================================
--- /data/branches/png2/materials/scripts/Transparency.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Transparency.material (revision 7245)
@@ -0,0 +1,25 @@
+
+material Transparency
+{
+ technique
+ {
+ pass
+ {
+ ambient 0.2 0.2 0.2
+ scene_blend add
+ depth_write off
+
+ texture_unit
+ {
+ texture ????.jpg
+ scroll_anim 0.25 0
+ }
+
+ texture_unit
+ {
+ texture ????.jpg
+ wave_xform scroll_y sine 0 0.1 0 0.5
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/Transporter.material
===================================================================
--- /data/branches/png2/materials/scripts/Transporter.material (revision 7245)
+++ /data/branches/png2/materials/scripts/Transporter.material (revision 7245)
@@ -0,0 +1,258 @@
+material Fluegel
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture transporter5Fluegel_Cube.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Triebwerk
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.640000 0.640000 0.640000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture Triebwerk1_Cylinder.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op alpha_blend
+ }
+ }
+ }
+}
+material Plasmaaufh
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture PlasmaAufh_Aufh.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Trans/Material.013
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture PlasmaAufh_Aufh.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Trans/Material.006
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 0.455183
+ diffuse 0.800000 0.800000 0.800000 0.455183
+ emissive 0.000000 0.000000 0.000000 0.455183
+ scene_blend alpha_blend
+ depth_write off
+ texture_unit
+ {
+ texture PlasmaBlau.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 0.455183 12.500000
+ scene_blend add
+ depth_write off
+ }
+ }
+}
+material Trans/Material.004
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.640000 0.640000 0.640000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture plasmaSilver_Tube.tga
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op alpha_blend
+ }
+ }
+ }
+}
+material Trans/Material.005
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture plasmagunParabol_Cylinder002.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Koerper
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.640000 0.640000 0.640000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture transporter5Huelle_Cube.001.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op alpha_blend
+ }
+ }
+ }
+}
+material Spitzen
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture PlasmaAufh_Aufh.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material Plasma
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 0.502017
+ diffuse 0.800000 0.800000 0.800000 0.502017
+ emissive 0.000000 0.000000 0.000000 0.502017
+ scene_blend alpha_blend
+ depth_write off
+ texture_unit
+ {
+ texture PlasmaBlau.jpg
+ tex_address_mode wrap
+ filtering trilinear
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 0.502017 12.500000
+ scene_blend add
+ depth_write off
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/UEATransporter036.material
===================================================================
--- /data/branches/png2/materials/scripts/UEATransporter036.material (revision 7245)
+++ /data/branches/png2/materials/scripts/UEATransporter036.material (revision 7245)
@@ -0,0 +1,50 @@
+material UEATransporter036/TEXFACE/SpaceShipTransporter036_newtexture.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture SpaceShipTransporter036_newtexture.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material UEATransporter036T/TEXFACE/SpaceShipTransporter036_engine.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture SpaceShipTransporter036_engine.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/assf.material
===================================================================
--- /data/branches/png2/materials/scripts/assf.material (revision 7245)
+++ /data/branches/png2/materials/scripts/assf.material (revision 7245)
@@ -0,0 +1,15 @@
+material Material/SOLID/TEX/human_assf.tga/VertCol
+{
+ technique
+ {
+ pass
+ {
+ diffuse vertexcolour
+ specular 0.500000 0.500000 0.500000 12.500000
+ texture_unit
+ {
+ texture human_assf.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/assf5.material
===================================================================
--- /data/branches/png2/materials/scripts/assf5.material (revision 7245)
+++ /data/branches/png2/materials/scripts/assf5.material (revision 7245)
@@ -0,0 +1,15 @@
+material Material/SOLID/TEX/human_assf5.tga/VertCol
+{
+ technique
+ {
+ pass
+ {
+ diffuse vertexcolour
+ specular 0.500000 0.500000 0.500000 12.500000
+ texture_unit
+ {
+ texture human_assf5.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/assff.material
===================================================================
--- /data/branches/png2/materials/scripts/assff.material (revision 7245)
+++ /data/branches/png2/materials/scripts/assff.material (revision 7245)
@@ -0,0 +1,25 @@
+material assff_material/TEXFACE/assff.JPG
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.600000 0.600000 0.600000 1.000000
+ diffuse 5.000000 5.000000 5.000000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture assff.JPG
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 32.000000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/asteroid_ice.material
===================================================================
--- /data/branches/png2/materials/scripts/asteroid_ice.material (revision 7245)
+++ /data/branches/png2/materials/scripts/asteroid_ice.material (revision 7245)
@@ -0,0 +1,28 @@
+material Material.001/TEXFACE/asteroid_ice.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 1.000000 1.000000 1.000000 0.95
+ diffuse 0.698981 0.698981 0.698981 0.95
+ emissive 0.000000 0.000000 0.000000 0.95
+ scene_blend alpha_blend
+ depth_write off
+ texture_unit
+ {
+ texture asteroid_ice.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 0.673132 32.250000
+ scene_blend add
+ depth_write off
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/asteroid_y.material
===================================================================
--- /data/branches/png2/materials/scripts/asteroid_y.material (revision 7245)
+++ /data/branches/png2/materials/scripts/asteroid_y.material (revision 7245)
@@ -0,0 +1,18 @@
+material asteroid_y/SOLID/TEX/assff.JPG
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.535727 0.403538 0.016157 1.000000
+ diffuse 0.535727 0.403538 0.016157 1.000000
+ specular 0 0 0 0 32.250000
+ emissive 0 0 0 1.000000
+ texture_unit
+ {
+ texture assff.JPG
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/asteroids.material
===================================================================
--- /data/branches/png2/materials/scripts/asteroids.material (revision 7245)
+++ /data/branches/png2/materials/scripts/asteroids.material (revision 7245)
@@ -0,0 +1,249 @@
+
+// A really basic ambient pass program, support for one texture coodinate set
+vertex_program Ogre/BasicVertexPrograms/AmbientOneTexture cg
+{
+ source Example_Basic.cg
+ entry_point ambientOneTexture_vp
+ profiles vs_1_1 arbvp1
+
+ default_params
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ }
+
+}
+
+
+
+//--------------
+// Bump mapping
+//--------------
+
+// Bump map vertex program, support for this is required
+vertex_program BumpMapVP cg
+{
+ source BumpMapping.cg
+ entry_point main_vp
+ profiles vs_1_1 arbvp1
+}
+
+// Bump map fragment program, support for this is optional
+fragment_program BumpMapFP cg
+{
+ source BumpMapping.cg
+ entry_point main_fp
+ profiles ps_1_1 arbfp1 fp20
+}
+
+// Bump map with specular vertex program, support for this is required
+vertex_program BumpMapVPSpecular cg
+{
+ source BumpMapping.cg
+ entry_point specular_vp
+ profiles vs_1_1 arbvp1
+}
+
+// Bump map fragment program, support for this is optional
+fragment_program BumpMapFPSpecular cg
+{
+ source BumpMapping.cg
+ entry_point specular_fp
+ profiles ps_2_0 arbfp1 fp20
+
+ default_params
+ {
+ param_named shine float 3
+ }
+
+}
+
+
+// Any number of lights, diffuse and specular
+material Asteroid/BumpMap
+{
+
+ // This is the preferred technique which uses both vertex and
+ // fragment programs, supports coloured lights
+ technique
+ {
+ // Base ambient pass
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 1 1 1
+ diffuse 0 0 0
+ specular 0 0 0 0
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ }
+
+ }
+ // Now do the lighting pass
+ // NB we don't do decal texture here because this is repeated per light
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 0 0 0
+ // do this for each light
+ iteration once_per_light
+
+
+ scene_blend add
+
+ // Vertex program reference
+ vertex_program_ref BumpMapVPSpecular
+ {
+ param_named_auto lightPosition light_position_object_space 0
+ param_named_auto eyePosition camera_position_object_space
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+
+ // Fragment program
+ fragment_program_ref BumpMapFPSpecular
+ {
+ param_named_auto lightDiffuse light_diffuse_colour 0
+ param_named_auto lightSpecular light_specular_colour 0
+ param_named shine float 4
+ }
+
+ // Base bump map
+ texture_unit
+ {
+ texture nmrock.tga
+ colour_op replace
+ }
+ // Normalisation cube map
+ texture_unit
+ {
+ cubic_texture nm.tga combinedUVW
+ tex_coord_set 1
+ tex_address_mode clamp
+ }
+ // Normalisation cube map #2
+ texture_unit
+ {
+ cubic_texture nm.tga combinedUVW
+ tex_coord_set 2
+ tex_address_mode clamp
+ }
+ }
+
+ // Decal pass
+ pass
+ {
+ lighting off
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named ambient float4 1 1 1 1
+ }
+ scene_blend dest_colour zero
+ texture_unit
+ {
+ texture rock.tga
+ }
+
+ }
+ }
+ // This is the fallback which cards which don't have fragment program
+ // support will use, NB does not support specular colour
+ // Note that it still requires vertex program support
+ technique
+ {
+ // Base ambient pass
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 1 1 1
+ diffuse 0 0 0
+ specular 0 0 0 0
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named_auto ambient ambient_light_colour
+ }
+
+ }
+ // Now do the lighting pass
+ // NB we don't do decal texture here because this is repeated per light
+ pass
+ {
+ // base colours, not needed for rendering, but as information
+ // to lighting pass categorisation routine
+ ambient 0 0 0
+ // do this for each light
+ iteration once_per_light
+
+
+ scene_blend add
+
+ // Vertex program reference
+ vertex_program_ref BumpMapVP
+ {
+ param_named_auto lightPosition light_position_object_space 0
+ param_named_auto worldViewProj worldviewproj_matrix
+ }
+
+ // Base bump map
+ texture_unit
+ {
+ texture nmrock.tga
+ colour_op replace
+ }
+ // Normalisation cube map, with dot product on bump map
+ texture_unit
+ {
+ cubic_texture nm.tga combinedUVW
+ tex_coord_set 1
+ tex_address_mode clamp
+ colour_op_ex dotproduct src_texture src_current
+ colour_op_multipass_fallback dest_colour zero
+ }
+ }
+
+ // Decal pass
+ pass
+ {
+ lighting off
+ // Really basic vertex program
+ // NB we don't use fixed function here because GL does not like
+ // mixing fixed function and vertex programs, depth fighting can
+ // be an issue
+ vertex_program_ref Ogre/BasicVertexPrograms/AmbientOneTexture
+ {
+ param_named_auto worldViewProj worldviewproj_matrix
+ param_named ambient float4 1 1 1 1
+ }
+ scene_blend dest_colour zero
+ texture_unit
+ {
+ texture rock.tga
+ }
+
+ }
+
+ }
+
+
+}
+
+
+
Index: /data/branches/png2/materials/scripts/axes.material
===================================================================
--- /data/branches/png2/materials/scripts/axes.material (revision 7245)
+++ /data/branches/png2/materials/scripts/axes.material (revision 7245)
@@ -0,0 +1,56 @@
+material blue
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.092061 0.000000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material green
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.000000 0.800000 0.000000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material grey
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.448000 0.448000 0.448000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material red
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.000000 0.000000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/can.material
===================================================================
--- /data/branches/png2/materials/scripts/can.material (revision 7245)
+++ /data/branches/png2/materials/scripts/can.material (revision 7245)
@@ -0,0 +1,25 @@
+material can/TEXFACE/can.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture can.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/crate.material
===================================================================
--- /data/branches/png2/materials/scripts/crate.material (revision 7245)
+++ /data/branches/png2/materials/scripts/crate.material (revision 7245)
@@ -0,0 +1,18 @@
+
+material Ac3d/Crate/Mat001_Tex00
+{
+// receive_shadows off
+ technique
+ {
+ pass
+ {
+ ambient 1 1 1 1
+ diffuse 1 1 1 1
+
+ texture_unit
+ {
+ texture crate.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/cube.material
===================================================================
--- /data/branches/png2/materials/scripts/cube.material (revision 7245)
+++ /data/branches/png2/materials/scripts/cube.material (revision 7245)
@@ -0,0 +1,103 @@
+material cube/TEXFACE/OrxonoxYELLOW.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture OrxonoxYELLOW.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+
+material cube/TEXFACE/OrxonoxGREEN.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture OrxonoxGREEN.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+
+material cube/TEXFACE/OrxonoxRED.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture OrxonoxRED.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+
+material cube/TEXFACE/OrxonoxORANGE.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture OrxonoxORANGE.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/drone.material
===================================================================
--- /data/branches/png2/materials/scripts/drone.material (revision 7245)
+++ /data/branches/png2/materials/scripts/drone.material (revision 7245)
@@ -0,0 +1,13 @@
+material SOLID/TEX/TextureDrone.jpg
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture drone.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/earth.material
===================================================================
--- /data/branches/png2/materials/scripts/earth.material (revision 7245)
+++ /data/branches/png2/materials/scripts/earth.material (revision 7245)
@@ -0,0 +1,25 @@
+material earth/TEXFACE/EarthMap_2500x1250.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture EarthMap_2500x1250.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/ghost.material
===================================================================
--- /data/branches/png2/materials/scripts/ghost.material (revision 7245)
+++ /data/branches/png2/materials/scripts/ghost.material (revision 7245)
@@ -0,0 +1,25 @@
+material Material/TEXFACE/ghost_complete-texture_Cube.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.440774 0.440774 0.440774 1.000000
+ texture_unit
+ {
+ texture ghost_complete-texture_Cube.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.115169 0.115169 0.115169 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/h2_green.material
===================================================================
--- /data/branches/png2/materials/scripts/h2_green.material (revision 7245)
+++ /data/branches/png2/materials/scripts/h2_green.material (revision 7245)
@@ -0,0 +1,25 @@
+material Material/TEXFACE/final_gold.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture final_gold.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/hdr.material
===================================================================
--- /data/branches/png2/materials/scripts/hdr.material (revision 7245)
+++ /data/branches/png2/materials/scripts/hdr.material (revision 7245)
@@ -0,0 +1,286 @@
+// Downsample a 2x2 area & turn into luminence (unclamped)
+fragment_program Ogre/Compositor/HDR/downscale2x2LuminenceHLSL_fp hlsl
+{
+ source hdr.hlsl
+ entry_point downscale2x2Luminence
+ target ps_2_0
+}
+fragment_program Ogre/Compositor/HDR/downscale2x2LuminenceGLSL_fp glsl
+{
+ source hdr_downscale2x2luminence.glsl
+ default_params
+ {
+ param_named inRTT int 0
+ }
+}
+fragment_program Ogre/Compositor/HDR/downscale2x2Luminence_fp unified
+{
+ delegate Ogre/Compositor/HDR/downscale2x2LuminenceGLSL_fp
+ delegate Ogre/Compositor/HDR/downscale2x2LuminenceHLSL_fp
+ default_params
+ {
+ param_named_auto texelSize inverse_texture_size 0
+ }
+}
+
+material Ogre/Compositor/HDR/Downsample2x2Luminence
+{
+ technique
+ {
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_vp
+ {
+ }
+ fragment_program_ref Ogre/Compositor/HDR/downscale2x2Luminence_fp
+ {
+ }
+
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering none
+ }
+ }
+ }
+}
+
+// Downsample a 3x3 area
+fragment_program Ogre/Compositor/HDR/downscale3x3HLSL_fp hlsl
+{
+ source hdr.hlsl
+ entry_point downscale3x3
+ target ps_2_0
+}
+fragment_program Ogre/Compositor/HDR/downscale3x3GLSL_fp glsl
+{
+ source hdr_downscale3x3.glsl
+ default_params
+ {
+ param_named inRTT int 0
+ }
+}
+fragment_program Ogre/Compositor/HDR/downscale3x3_fp unified
+{
+ delegate Ogre/Compositor/HDR/downscale3x3GLSL_fp
+ delegate Ogre/Compositor/HDR/downscale3x3HLSL_fp
+ default_params
+ {
+ param_named_auto texelSize inverse_texture_size 0
+ }
+}
+
+
+material Ogre/Compositor/HDR/Downsample3x3
+{
+ technique
+ {
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_vp
+ {
+ }
+ fragment_program_ref Ogre/Compositor/HDR/downscale3x3_fp
+ {
+ }
+
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering none
+ }
+ }
+ }
+}
+
+// Downsample a 3x3 area and perform a brightness filter pass
+fragment_program Ogre/Compositor/HDR/downscale3x3brightpassHLSL_fp hlsl
+{
+ source hdr.hlsl
+ entry_point downscale3x3brightpass
+ target ps_2_0
+}
+fragment_program Ogre/Compositor/HDR/utils_fp glsl
+{
+ source hdr_tonemap_util.glsl
+}
+fragment_program Ogre/Compositor/HDR/downscale3x3brightpassGLSL_fp glsl
+{
+ source hdr_downscale3x3brightpass.glsl
+ // re-use common functions
+ attach Ogre/Compositor/HDR/utils_fp
+ default_params
+ {
+ param_named inRTT int 0
+ param_named inLum int 1
+ }
+}
+fragment_program Ogre/Compositor/HDR/downscale3x3brightpass_fp unified
+{
+ delegate Ogre/Compositor/HDR/downscale3x3brightpassGLSL_fp
+ delegate Ogre/Compositor/HDR/downscale3x3brightpassHLSL_fp
+ default_params
+ {
+ param_named_auto texelSize inverse_texture_size 0
+ }
+}
+
+
+material Ogre/Compositor/HDR/Downsample3x3Brightpass
+{
+ technique
+ {
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_vp
+ {
+ }
+ fragment_program_ref Ogre/Compositor/HDR/downscale3x3brightpass_fp
+ {
+ }
+
+ // Scene
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering none
+ }
+ // Luminence
+ texture_unit
+ {
+ tex_address_mode clamp
+ filtering none
+ }
+ }
+ }
+}
+
+// Bloom an area using gaussian distribution
+fragment_program Ogre/Compositor/HDR/bloomHLSL_fp hlsl
+{
+ source hdr.hlsl
+ entry_point bloom
+ target ps_2_0
+}
+fragment_program Ogre/Compositor/HDR/bloomGLSL_fp glsl
+{
+ source hdr_bloom.glsl
+ default_params
+ {
+ param_named inRTT int 0
+ }
+}
+fragment_program Ogre/Compositor/HDR/bloom_fp unified
+{
+ delegate Ogre/Compositor/HDR/bloomGLSL_fp
+ delegate Ogre/Compositor/HDR/bloomHLSL_fp
+}
+
+
+material Ogre/Compositor/HDR/GaussianBloom
+{
+ technique
+ {
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_vp
+ {
+ }
+ fragment_program_ref Ogre/Compositor/HDR/bloom_fp
+ {
+ }
+
+ // Input
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ filtering none
+ }
+ }
+ }
+}
+
+
+// Perform final tone mapping
+fragment_program Ogre/Compositor/HDR/finaltonemappingHLSL_fp hlsl
+{
+ source hdr.hlsl
+ entry_point finalToneMapping
+ target ps_2_0
+}
+fragment_program Ogre/Compositor/HDR/finaltonemappingGLSL_fp glsl
+{
+ source hdr_finalToneMapping.glsl
+ // re-use common functions
+ attach Ogre/Compositor/HDR/utils_fp
+ default_params
+ {
+ param_named inRTT int 0
+ param_named inBloom int 1
+ param_named inLum int 2
+ }
+}
+fragment_program Ogre/Compositor/HDR/finaltonemapping_fp unified
+{
+ delegate Ogre/Compositor/HDR/finaltonemappingHLSL_fp
+ delegate Ogre/Compositor/HDR/finaltonemappingGLSL_fp
+}
+
+material Ogre/Compositor/HDR/ToneMapping
+{
+ technique
+ {
+ pass
+ {
+ cull_hardware none
+ cull_software none
+ depth_check off
+
+ vertex_program_ref Ogre/Compositor/StdQuad_vp
+ {
+ }
+ fragment_program_ref Ogre/Compositor/HDR/finaltonemapping_fp
+ {
+ }
+
+ // Scene
+ texture_unit
+ {
+ tex_coord_set 0
+ tex_address_mode clamp
+ }
+ // Bloom
+ texture_unit
+ {
+ tex_address_mode clamp
+ }
+ // Luminence
+ texture_unit
+ {
+ tex_address_mode clamp
+ }
+ }
+ }
+}
+
+
Index: /data/branches/png2/materials/scripts/hoover.material
===================================================================
--- /data/branches/png2/materials/scripts/hoover.material (revision 7245)
+++ /data/branches/png2/materials/scripts/hoover.material (revision 7245)
@@ -0,0 +1,39 @@
+material SOLID/TEX/hoover_turbine.tga
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture hoover_turbine.tga
+ }
+ }
+ }
+}
+material SOLID/TEX/hoover_gear.tga
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture hoover_gear.tga
+ }
+ }
+ }
+}
+material SOLID/TEX/hoover_body.tga
+{
+ technique
+ {
+ pass
+ {
+ texture_unit
+ {
+ texture hoover_body.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/hs-w01.material
===================================================================
--- /data/branches/png2/materials/scripts/hs-w01.material (revision 7245)
+++ /data/branches/png2/materials/scripts/hs-w01.material (revision 7245)
@@ -0,0 +1,50 @@
+material hs-w01s/TEXFACE/hs-w01.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material hs-w01/TEXFACE/hs-w01.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/hs-w01_reduced.material
===================================================================
--- /data/branches/png2/materials/scripts/hs-w01_reduced.material (revision 7245)
+++ /data/branches/png2/materials/scripts/hs-w01_reduced.material (revision 7245)
@@ -0,0 +1,251 @@
+material hs-w01_body1/TEXFACE/hs-w01_reduced.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material hs-w01_tubes/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ }
+ }
+ }
+}
+material hs-w01_tube.001/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ }
+ }
+ }
+}
+material hs-w01_gun/TEXFACE/hs-w01_reduced.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material hs-w01_tube.002
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.640000 0.640000 0.640000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ }
+ }
+ }
+}
+material hs-w01_tubes/TEXFACE/hs-w01_reduced.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ }
+ }
+ }
+}
+material hs-w01_stand/TEXFACE/stand.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ }
+ }
+ }
+}
+material hs-w01_stand/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material hs-w01_body2/TEXFACE/hs-w01_reduced.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material hs-w01_gun.001/TEXFACE/hs-w01_reduced.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material hs-w01_tube.001/TEXFACE/hs-w01_reduced.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01_reduced.png
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/hs-w01s.material
===================================================================
--- /data/branches/png2/materials/scripts/hs-w01s.material (revision 7245)
+++ /data/branches/png2/materials/scripts/hs-w01s.material (revision 7245)
@@ -0,0 +1,25 @@
+material hs-w01s/TEXFACE/hs-w01s.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture hs-w01s.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/iceplanet.material
===================================================================
--- /data/branches/png2/materials/scripts/iceplanet.material (revision 7245)
+++ /data/branches/png2/materials/scripts/iceplanet.material (revision 7245)
@@ -0,0 +1,20 @@
+material iceplanet
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.568924 0.760725 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture iceplanet.tga
+ tex_address_mode wrap
+ filtering trilinear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/jumpthrust.material
===================================================================
--- /data/branches/png2/materials/scripts/jumpthrust.material (revision 7245)
+++ /data/branches/png2/materials/scripts/jumpthrust.material (revision 7245)
@@ -0,0 +1,42 @@
+material jumpthrust_d
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.312552 0.237794 0.145220 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material jumpthrust_r
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.000000 0.000000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material jumpthrust_b
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.507904 0.591034 0.624189 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/laserbeam.material
===================================================================
--- /data/branches/png2/materials/scripts/laserbeam.material (revision 7245)
+++ /data/branches/png2/materials/scripts/laserbeam.material (revision 7245)
@@ -0,0 +1,18 @@
+material laserbeam/TEXFACE/laserbeam.tga
+{
+ technique
+ {
+ pass
+ {
+ lighting off
+ depth_write off
+ scene_blend add
+ texture_unit
+ {
+ texture laserbeam.tga
+ colour_op modulate
+ }
+ }
+
+ }
+}
Index: /data/branches/png2/materials/scripts/pirate.material
===================================================================
--- /data/branches/png2/materials/scripts/pirate.material (revision 7245)
+++ /data/branches/png2/materials/scripts/pirate.material (revision 7245)
@@ -0,0 +1,25 @@
+material Material/TEXFACE/pirate.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture pirate.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/plane.material
===================================================================
--- /data/branches/png2/materials/scripts/plane.material (revision 7245)
+++ /data/branches/png2/materials/scripts/plane.material (revision 7245)
@@ -0,0 +1,20 @@
+
+material Ac3d/Plane/Mat001_Tex00
+{
+ technique
+ {
+ pass
+ {
+ ambient 1 1 1 1
+ diffuse 1 1 1 1
+ specular 0.75 0.75 1 1 10
+
+ texture_unit
+ {
+ texture tiled_floor.jpg
+ filtering anisotropic
+ max_anisotropy 8
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/planet.material
===================================================================
--- /data/branches/png2/materials/scripts/planet.material (revision 7245)
+++ /data/branches/png2/materials/scripts/planet.material (revision 7245)
@@ -0,0 +1,71 @@
+material planet/TEXFACE/planet.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 10.800000 10.800000 10.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+
+ texture_unit
+ {
+ texture planet1024.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+
+
+material planet/Atmosphere
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ depth_write off
+ lighting off
+ scene_blend alpha_blend
+ depth_check on
+
+ texture_unit
+ {
+ texture atmospheretype3.tga
+ }
+ }
+ }
+}
+
+
+material atmosphere1
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ depth_write off
+ lighting off
+ scene_blend alpha_blend
+ depth_check on
+
+ texture_unit
+ {
+ texture atmospheretype1.tga
+ }
+ }
+ }
+}
+
+
+
Index: /data/branches/png2/materials/scripts/rock.material
===================================================================
--- /data/branches/png2/materials/scripts/rock.material (revision 7245)
+++ /data/branches/png2/materials/scripts/rock.material (revision 7245)
@@ -0,0 +1,16 @@
+material rock/TEXFACE/rock.tga
+{
+ technique
+ {
+ pass
+ {
+ ambient 1.0 1.0 1.0 1.0
+ diffuse 10.0 10.0 10.0 1.0
+
+ texture_unit
+ {
+ texture rock.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/rocket.material
===================================================================
--- /data/branches/png2/materials/scripts/rocket.material (revision 7245)
+++ /data/branches/png2/materials/scripts/rocket.material (revision 7245)
@@ -0,0 +1,20 @@
+material Rocket
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.285490 0.175686 0.175686 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture rockettex.jpg
+ tex_address_mode wrap
+ filtering bilinear
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/satellite.material
===================================================================
--- /data/branches/png2/materials/scripts/satellite.material (revision 7245)
+++ /data/branches/png2/materials/scripts/satellite.material (revision 7245)
@@ -0,0 +1,214 @@
+material satellite/TEXFACE/sl_metal04.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_metal04.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE/sl_metal07.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_metal07.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE/sl_metal05.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_metal05.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material satellite/TEXFACE/thrust.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture thrust.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE/sl_panel.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_panel.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE/decal.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture decal.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE/dish.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture dish.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material satellite/TEXFACE/sl_foil.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture sl_foil.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.000000 0.000000 0.000000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/spacecruiser.material
===================================================================
--- /data/branches/png2/materials/scripts/spacecruiser.material (revision 7245)
+++ /data/branches/png2/materials/scripts/spacecruiser.material (revision 7245)
@@ -0,0 +1,15 @@
+material Material/SOLID/TEX/spacesruiser.tga
+{
+ technique
+ {
+ pass
+ {
+ diffuse 0.800000 0.800000 0.800000
+ specular 0.500000 0.500000 0.500000 12.500000
+ texture_unit
+ {
+ texture spacesruiser.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/spacecruiser_16.material
===================================================================
--- /data/branches/png2/materials/scripts/spacecruiser_16.material (revision 7245)
+++ /data/branches/png2/materials/scripts/spacecruiser_16.material (revision 7245)
@@ -0,0 +1,39 @@
+material spacecruiser_16/TEXFACE/spacecruiser_16.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture spacecruiser_16.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
+material spacecruiser_16/TEXFACE
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/sphere.material
===================================================================
--- /data/branches/png2/materials/scripts/sphere.material (revision 7245)
+++ /data/branches/png2/materials/scripts/sphere.material (revision 7245)
@@ -0,0 +1,25 @@
+material sphere/TEXFACE/OrxonoxRED.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture OrxonoxRED.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/starship.material
===================================================================
--- /data/branches/png2/materials/scripts/starship.material (revision 7245)
+++ /data/branches/png2/materials/scripts/starship.material (revision 7245)
@@ -0,0 +1,14 @@
+material Material/SOLID/TEX/starship.tga
+{
+ technique
+ {
+ pass
+ {
+ specular 0.500000 0.500000 0.500000 12.500000
+ texture_unit
+ {
+ texture starship.tga
+ }
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/swallow_material.material
===================================================================
--- /data/branches/png2/materials/scripts/swallow_material.material (revision 7245)
+++ /data/branches/png2/materials/scripts/swallow_material.material (revision 7245)
@@ -0,0 +1,25 @@
+material Material/TEXFACE/swallow_tex.tga
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.658722 0.658722 0.658722 1.000000
+ diffuse 1.000000 1.000000 1.000000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture swallow_tex.tga
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.424020 0.424020 0.424020 1.000000 13.750000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/tomato.material
===================================================================
--- /data/branches/png2/materials/scripts/tomato.material (revision 7245)
+++ /data/branches/png2/materials/scripts/tomato.material (revision 7245)
@@ -0,0 +1,25 @@
+material Material/TEXFACE/tomato.jpg
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 0.800000 0.800000 0.800000 1.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ texture_unit
+ {
+ texture tomato.jpg
+ colour_op modulate
+ }
+ }
+ pass
+ {
+ ambient 0.0 0.0 0.0
+ diffuse 0.0 0.0 0.0
+ specular 0.500000 0.500000 0.500000 1.000000 12.500000
+ scene_blend add
+ }
+ }
+}
Index: /data/branches/png2/materials/scripts/wrench.material
===================================================================
--- /data/branches/png2/materials/scripts/wrench.material (revision 7245)
+++ /data/branches/png2/materials/scripts/wrench.material (revision 7245)
@@ -0,0 +1,28 @@
+material ChromeWrench
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 1.000000 1.000000 1.000000 1.000000
+ specular 1.000000 1.000000 1.000000 1.000000 125.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
+material GoldWrench
+{
+ receive_shadows on
+ technique
+ {
+ pass
+ {
+ ambient 0.500000 0.500000 0.500000 1.000000
+ diffuse 1.000000 1.000000 0.000000 1.000000
+ specular 1.000000 1.000000 1.000000 1.000000 125.000000
+ emissive 0.000000 0.000000 0.000000 1.000000
+ }
+ }
+}
Index: /data/branches/png2/materials/textures/orxonox_logo.svg
===================================================================
--- /data/branches/png2/materials/textures/orxonox_logo.svg (revision 7245)
+++ /data/branches/png2/materials/textures/orxonox_logo.svg (revision 7245)
@@ -0,0 +1,70 @@
+
+
+
+
+
+
+ image/svg+xml
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: /data/branches/png2/resources.oxr
===================================================================
--- /data/branches/png2/resources.oxr (revision 7245)
+++ /data/branches/png2/resources.oxr (revision 7245)
@@ -0,0 +1,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+