from lightflowPM import * s = scene() s.newInterface( "default",["trace-depth", 6,"radiosity-depth", 0, 6,"radiosity-samples", 64,"radiosity-threshold", 0.1,"radiosity-reuse-distance", 5.0, 1.0, 0.25,"photon-count", 2000000,"photon-clustering-count", 2000, 100 ]) s.lightOn(s.newLight('soft-conic', [ 'position', vector3(9.37407875061, -9.81691741943, 16.3843421936), 'color', vector3(2000.03226614, 2000.03226614, 2000.03226614), 'radius', 0.015000000596, 'direction', vector3(-0.554840710442, 0.496378420228, -0.667652791478), 'angle', 0.363246649401, 0.392699081699])) s.lightOn(s.newLight('soft-conic', [ 'position', vector3(-4.61503601074, 30.2852096558, 34.5701904297), 'color', vector3(1500.03226614, 1500.03226614, 1500.03226614), 'radius', 0.015000000596, 'direction', vector3(0.109359663283, -0.689807815003, -0.715685435374), 'angle', 0.363246649401, 0.392699081699])) plastic = s.newMaterial( "standard", [ "kc", vector3( 1, 1, 1 ), "kr", vector3( 0.2, 0.2, 0.2 ), "kd", 0.5, "km", 0.1 ] ) glass = s.newMaterial( "generic", [ "fresnel", 1, "IOR", 1.57, "kdr", vector3( 0, 0, 0 ), "kdt", vector3( 0, 0, 0 ), "ksr", vector3( 1, 1, 1 ), vector3( 0.5, 0.8, 1 ), "kst", vector3( 1, 1, 1 ), vector3( 1, 0.6, 0.2 ), "kr", vector3( 1, 1, 1 ), "kt", vector3( 1, 1, 1 ), "km", 0.02, "shinyness", 1.0, "transmission", 1, "radiosity", 0, "caustics", 4, 4 ] ) bluecrystal = s.newMaterial( "generic", [ "fresnel", 1, "IOR", 1.57, "kdr", vector3( 0, 0, 0 ), "kdt", vector3( 0, 0, 0 ), "ksr", vector3( 0.6, 1.0, 0.8 ), "kst", vector3( 0.6, 0.8, 1.0 ), "kr", vector3( 0.6, 1.0, 0.8 ), "kt", vector3( 0.6, 0.8, 1.0 ), "km", 0.03, "shinyness", 1.0, "transmission", 1, "radiosity", 0, "caustics", 4, 4 ] ) LFMAT1 = s.newMaterial( 'standard', [ 'kc', vector3(0.800000011921, 0.800000011921, 0.800000011921), 'kd', 0.750000, 'ksg', 0.250000, 'km', 0.335213 ,'radiosity', 1, 'caustics', 4, 4 ] ) LFMAT2 = s.newMaterial( 'standard', [ 'kc', vector3(0.800000011921, 0.800000011921, 0.800000011921), 'kd', 0.750000, 'ksg', 0.250000, 'km', 0.335213 ,'radiosity', 1, 'caustics', 4, 4 ] ) LFPAT3 = s.newPattern( 'map', [ 'texture', s.newTexture('/WINDOWS/strawtex.tga'), 'type', 'surface'] ) LFMAT3 = s.newMaterial( 'standard', [ 'kc', vector3(0.800000011921, 0.800000011921, 0.800000011921), 'kc', LFPAT3, 'kd', 0.750000, 'ksg', 0.250000, 'km', 0.335213 ,'radiosity', 1, 'caustics', 4, 4 ] ) LFMAT4 = s.newMaterial( 'standard', [ 'kc', vector3(0.800000011921, 0.800000011921, 0.800000011921), 'kd', 0.750000, 'ksg', 0.250000, 'km', 0.335213 ,'radiosity', 1, 'caustics', 4, 4 ] ) s.materialBegin(glass) s.transformBegin(transform().translation( vector3(0.0,0.0,1.01461791992 ) )) s.transformBegin(transform().rotationAroundZ( 0.0 ) ) s.transformBegin(transform().rotationAroundY( 0.0 ) ) s.transformBegin(transform().rotationAroundX( 1.57079637051 ) ) s.transformBegin(transform().scaling( vector3( 1.0,1.0,1.0) )) s.addObject( s.newObject( 'mesh', [ 'file', 'Cup_AS60.mesh', 0] ) ) s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.materialEnd() s.materialBegin(plastic) s.transformBegin(transform().translation( vector3(-0.0222482569516,-0.00766963139176,0.00639796257019 ) )) s.transformBegin(transform().rotationAroundZ( 0.0 ) ) s.transformBegin(transform().rotationAroundY( 0.0 ) ) s.transformBegin(transform().rotationAroundX( 0.0 ) ) s.transformBegin(transform().scaling( vector3( 1215.8371582,1215.8371582,1215.8371582) )) s.addObject( s.newObject( 'mesh', [ 'file', 'Plane.002.mesh', 0] ) ) s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.materialEnd() s.materialBegin(LFMAT3) s.transformBegin(transform().translation( vector3(0.753171861172,4.48430398592e-007,3.89802312851 ) )) s.transformBegin(transform().rotationAroundZ( 2.09936814599e-007 ) ) s.transformBegin(transform().rotationAroundY( 0.414732694626 ) ) s.transformBegin(transform().rotationAroundX( 4.41687575403e-008 ) ) s.transformBegin(transform().scaling( vector3( 1.83599615097,1.83599615097,1.83599615097) )) s.addObject( s.newObject( 'mesh', [ 'file', 'Straw_AS35.mesh', 0] ) ) s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.materialEnd() s.materialBegin(bluecrystal) s.transformBegin(transform().translation( vector3(-0.0132353305817,0.0,1.01461791992 ) )) s.transformBegin(transform().rotationAroundZ( 0.0 ) ) s.transformBegin(transform().rotationAroundY( 0.0 ) ) s.transformBegin(transform().rotationAroundX( 1.57079637051 ) ) s.transformBegin(transform().scaling( vector3( 1.0,1.0,1.0) )) s.addObject( s.newObject( 'mesh', [ 'file', 'Water_AS60.mesh', 0] ) ) s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.transformEnd() s.materialEnd() saver = s.newImager("tga-saver", [ "file", "Cup O' Water.tga", "alpha",0, "depth", 0]) s.imagerBegin( saver ) camera = s.newCamera( "pinhole", [ "eye", vector3( -5.920358181,-8.50862884521,7.36862277985 ), "aim", vector3(-5.40072644764,-7.73417169045,7.00779182619), "fov",0.685714285714] ) s.imagerEnd() s.radiosity() s.render(camera,640,480)