#####################################################
#                                                   #
#   HEADER                                          #
#                                                   #
#####################################################

header {
	title: __*
	width: 1280
	height: 500	
	music: hala.ogg
	bpm: 140.0
}

#####################################################
#                                                   #
#    OBJECTS                                        #
#                                                   #
#####################################################

objects {
	cam: camera {
	}
	env: enviroment {
		lighting: 0
		fog: 1
		fogDensity: 0.5
		
		fogColor.r: 1.0
		fogColor.g: 0.0
		fogColor.b: 0.0
		fogColor.a: 1.0
	}
	partut: particles {
		textures: megaparticle.png
		drawingMode: 1
		maxParticles: 100		
		emitter {
			size: 1.5, 10
			radius: 10, 150
			lifeTime: -1
			color.r: 1.0
			color.g: 1.0
			color.b: 1.0
			color.a: 1.0
		}		
	}
	skene: 3ds skene1.3ds {
		meshes.sammakko.lighting: 0
		materials[0].blendMode: 2
	}
	title: image title.jpg {
		blend: 2
	}
	
	blurPlaneX: image *output1 {
		shader: blurX.frag
		shaders[0].blurSize: 0.00078125
	}
	blurPlaneY: image *output2 noise.jpg {
		multiTexturing: 1
		shader: blurY.frag
		shaders[0].blurSize: 0.00138889
		shaders[0].noiseTex: 1
	}
	finalPlane: image *output3 {
		shader: final.frag
	}
	title2: image title.jpg {
		blend: 2
	}
}

#####################################################
#                                                   #
#    RENDER LINES                                   #
#                                                   #
#####################################################

renderLines {
	main {
		exclude: blurPlaneX, blurPlaneY, finalPlane
		output: *output1
	}
	blurX {
		objects: blurPlaneX
		output: *output2
	}
	blurY {
		objects: blurPlaneY
		output: *output3
	}
	final {
		objects: finalPlane, title2
	}
}

#####################################################
#                                                   #
#    SCRIPT                                         #
#                                                   #
#####################################################

script {
	@0.0 enable cam, env, blurPlaneX, blurPlaneY, finalPlane, skene, partut
	
	@0.0 main.clear.a = 1.0
	
	#@0.0 skene.meshes.sammakko.sphereMap = rand( 0 - 2 ) for @16.0
	@0.0 cam.fovy = 10 to 150 in @64.0
	@0.0 cam.far = 1000
	
	@0.0 loop @4.0 24 times {
		@0.0 cam.pos.x = rand( -40 - 40 )
		@0.0 cam.pos.y = rand( -40 - 40 )
		@0.0 cam.pos.z = rand( -40 - 40 )
		@0.0 cam.lookAt.y = rand( -10 - 10 )
		@0.0 cam.lookAt.z = 2 to -2 in @4.0
		@0.0 cam.up.x = -1 to 1 in @4.0
	}
	@0.0 loop @16.0 8 times {
		@0.0 cam.lookAt.x = -10 to 10 in @8.0
		@8.0 cam.lookAt.x = 10 to -10 in @8.0
		@0.0 cam.up.y = -1 to 1 in @8.0
		@8.0 cam.up.y = 1 to -1 in @8.0
		@0.0 cam.up.z = -1 to 1 in @16.0
	}

	@0.0 blurPlaneX.shaders[0].blurAmount = 70 to 2 in @16.0
	@0.0 blurPlaneY.shaders[0].blurAmount = 30 to 2 in @16.0
	@16.0 blurPlaneX.shaders[0].blurAmount = rand( 2 - 25 ) for @16.0
	@16.0 blurPlaneY.shaders[0].blurAmount = rand( 2 - 5 ) for @16.0
	@32.0 blurPlaneX.shaders[0].blurAmount = rand( 2 - 50 ) for @16.0
	@32.0 blurPlaneY.shaders[0].blurAmount = rand( 2 - 50 ) for @16.0
	@48.0 blurPlaneX.shaders[0].blurAmount = rand( 2 - 80 ) for @16.0
	@48.0 blurPlaneY.shaders[0].blurAmount = rand( 2 - 20 ) for @16.0
	@64.0 blurPlaneX.shaders[0].blurAmount = 2
	@64.0 blurPlaneY.shaders[0].blurAmount = 2 to 50 in @16.0
	
	@0.0 blurPlaneY.shaders[0].noisePos.0 = rand( 0 - 1 ) for @64.0
	@0.0 blurPlaneY.shaders[0].noisePos.1 = rand( 0 - 1 ) for @64.0
	@0.0 finalPlane.shaders[0].mix = rand( 0.5 - 1.5 ) for @64.0
	
	@64.0 finalPlane.col.a = 1.0 to 0.0 in @16.0
	@64.0 enable title, title2
	@64.0 title.col.a = 0 to 1 in @8.0
	@64.0 title2.col.a = 0 to 1 in @8.0
	@82.0 end
}