/* * A test file that tests all of the required stuff - there are two spheres * that have transforms applied to them - then there are two very large * triangles one that acts in the mirror in the background, and another one * that is transparent and green in the front. With recurisve depth set to two * or higher the reflections of the two spheres come through the transparent * lower triangle. With the recursive depth at one it is possible to see only * half of the reflected spheres - the transmissive triangle blocks the other * half because the recursive depth isn't high enough. The shadows on the * mirror triangle to come through though because they are actually on that * surface. */ #version HMCCS155FALL2002 #background 0.0 0.0 0.0 #ambient 0.0 0.0 0.0 #camera -2.66647 -2.37002 -0.581157 // position 0.924115 0.380045 0.0397108 // facing -0.380261 0.924876 -0.00225327 // up 30.0 // heightAngle #light_dir -n DirectionalLight1 -- 1.0 1.0 1.0 // color 1.0 0.0 0.0 // direction #light_point -n PointLight1 -- 1.0 1.0 1.0 // color -1.0 1.0 1.0 // position 1.0 0.0 0.0 // const, linear, quad atten #light_spot -n SpotLight1 -- 1.0 1.0 1.0 // color -10.0 10.0 -10.0 // position 1.0 -1.0 1.0 // direction 1.0 0.0 0.0 // const, linear, quad atten 20.0 1.0 // cutoff dropoff #light_spot -n SpotLight2 -- 1.0 1.0 1.0 // color 1.9 0.0 0.0 // position -1.0 0.0 0.0 // direction 1.0 0.0 0.0 // const, linear, quad atten 85.0 0.0 // cutoff dropoff #light_spot -n SpotLight3 -- 1.0 1.0 1.0 // color 1.9 -2.0 -2.0 // position -1.0 0.0 0.0 // direction 1.0 0.0 0.0 // const, linear, quad atten 85.0 0.0 // cutoff dropoff #light_spot -n SpotLight4 -- 1.0 1.0 1.0 // color 1.9 -2.0 2.0 // position -1.0 0.0 0.0 // direction 1.0 0.0 0.0 // const, linear, quad atten 85.0 0.0 // cutoff dropoff #light_spot -n SpotLight5 -- 1.0 1.0 1.0 // color 1.9 2.0 -2.0 // position -1.0 0.0 0.0 // direction 1.0 0.0 0.0 // const, linear, quad atten 85.0 0.0 // cutoff dropoff #light_spot -n SpotLight6 -- 1.0 1.0 1.0 // color 1.9 2.0 2.0 // position -1.0 0.0 0.0 // direction 1.0 0.0 0.0 // const, linear, quad atten 85.0 0.0 // cutoff dropoff #material -n mOrange -- 0.6 0.3 0.1 // ambient 0.6 0.3 0.1 // diffuse 1.0 1.0 1.0 // specular 0.0 0.0 0.0 // emissive 0.9 0.0 0.0 // kspec ktrans refind #material -n mPurple -- 0.3 0.1 0.6 // ambient 0.3 0.1 0.6 // diffuse 1.0 1.0 1.0 // specular 0.0 0.0 0.0 // emissive 0.9 0.0 0.0 // kspec ktrans refind #material -n mMirror -- 0.0 0.0 0.0 // ambient 0.3 0.3 0.3 // diffuse 1.0 1.0 1.0 // specular 0.0 0.0 0.0 // emissive 1.0 0.0 0.0 // kspec ktrans refind #material -n mTransGreen -- 0.1 0.6 0.3 // ambient 0.1 0.6 0.3 // diffuse 1.0 1.0 1.0 // specular 0.0 0.0 0.0 // emissive 0.9 0.95 0.0 // kspec ktrans refind #group_begin -n Group1 -- 1.0 0.0 0.0 0.0 0.0 0.0 -1.0 0.0 0.0 1.0 0.0 0.0 0.0 0.0 0.0 1.0 #sphere -n Sphere1 -m mOrange -- 0.0 0.0 0.0 // position 0.5 // radius #group_begin -n Group2 -- 0.5 0.0 0.0 0.0 0.0 1.2 0.0 -1.0 0.0 0.0 2.0 0.0 0.0 0.0 0.0 1.0 #sphere -n Sphere1 -m mPurple -- 0.0 0.0 0.0 // position 0.5 // radius #group_end #group_end #triangle -n Triangle1 -m mMirror -- 2.0 0.0 -16.0 // v0 2.0 -20.0 14.0 // v1 2.0 20.0 14.0 // v2 #triangle -n Triangle2 -m mTransGreen -- 0.0 -10.0 0.0 // v0 0.0 -1.5 -14.0 // v1 0.0 -1.5 14.0 // v2 #rayfile_end