# Defines the mug scene. INCLUDE material.inc DEFINE mugtext MATERIAL { COLOUR { K .3 1 .6 } LAMBERTIAN { } PROJ_BITMAP { FILE mugtext.tga SRC1 ISECT PARAM DEST COLOUR RGB } } DEFINE checker MATERIAL { COLOUR { RGB 0 0 1 K .3 .7 .7 REFLECT .5 .5 .5 } PLASTIC { } # Standard marble projection # project into TEMP 2 PROJ_MAP { DEST TEMP 0 SRC1 ISECT WORLD # density of ceramic SCALE 8 8 8 } PROJ_TURBULENCE { SEED 5.3 SRC1 TEMP 0 DEST STEMP 1 X PASSES 3 SCALE 6 SIZE 4 } PROJ_ADD { DEST TEMP 2 SRC1 TEMP 1 SRC2 TEMP 0 } PROJ_SIN { DEST STEMP 2 X SRC1 STEMP 2 X } # Map to 0, 1 interval: PROJ_MAP { DEST TEMP 2 SRC1 TEMP 2 ORIG .5 .5 .5 SCALE .5 .5 .5 } # Perform look up PROJ_LUT { SRC1 STEMP 2 X DEST TEMP 2 FILE marbtext.tga } # Set TEMP 3 to inverse: PROJ_MAP { DEST TEMP 3 SRC1 TEMP 2 ORIG 1 1 1 SCALE -1 -1 -1 } # Set colour according to checker pattern PROJ_CHECKER { DENSITY 1 1 1 DEST COLOUR RGB SRC1 TEMP 2 SRC2 TEMP 3 SWITCH ISECT LOCAL } } DEFINE coffee MATERIAL { COLOUR { RGB .4 .3 .3 K .3 .5 .5 TRANS 1 1 1 } GLASS { INDEX 2 ATTENUATION .1 .1 .1 } } DEFINE :table PLANE { ORIENT { VCT_Z 0 1 0 ORIG 0 -1.1 0 } checker # mugtext } DEFINE :mug OBJECT { FILE geo/mug.geo mugtext } DEFINE :handle OBJECT { FILE geo/mughand.geo white } DEFINE :stick OBJECT { FILE geo/stick.geo white } DEFINE :coffee OBJECT { FILE geo/mugwat.geo coffee } DEFINE :camera CAMERA { ORIENT { ORIG 10 20 -10 VCT_Z -10 -20 10 VCT_Y 0 1 0 } FOCAL 7.3 VARIANCE .05 } DEFINE :light LIGHT { ORIENT ORIG 10 20 -10 L_COLOUR .5 .5 .5 } DEFINE :light2 LIGHT { ORIENT ORIG -20 10 -10 L_COLOUR .5 .5 .5 } SCENE { AMBIENT 1 1 1 CAMERANAME :camera }