home *** CD-ROM | disk | FTP | other *** search
/ Freelog 34 / Freelog034.iso / Graphisme3D / City / OFFICES.OBJ < prev    next >
Encoding:
Text File  |  1999-02-01  |  3.3 KB  |  54 lines

  1. /*************************************************************************
  2.  CITY GENERATOR OFFICE BUILDINGS FILE FOR PERSISTENCE OF VISION 3.x
  3.  
  4.  Created by Chris Colefax, 1 February 1999
  5.  NOTE: This file is designed for use with City.mcr and City.inc
  6.        To use, include the file before including City.inc, with any other
  7.        object/building files you want to use.
  8.  
  9. **************************************************************************/
  10.  
  11. // INCLUDE DEFAULT OBJECTS FILE IF REQUIRED
  12.    #ifndef (building_size) #include "DEFAULT.OBJ" #end
  13.  
  14. // OFFICE BUILDING #1
  15.    #declare building_size[building_types] = <10, 2, 10>;
  16.    #declare building_options[building_types] = build_window_profile + build_details + build_roof + build_texture;
  17.    #declare building_texture[building_types] = texture {pigment {rgb <.7, .76, .75>} normal {bumps .3 scale .1}}
  18.    #declare building_windows[building_types] = box {<-4.9, 0, -4.9>, <4.9, 2, 4.9> interior {ior 2.5}}
  19.    #local Glass = texture {pigment {rgbt <1, 1, 1, .5>}
  20.       normal {bumps .01 scale <.5, .1, .5>}
  21.       finish {specular .2 roughness .1 reflection .5}}
  22.    set_window_texture (texture {Glass}, texture {Glass finish {ambient 1}}, <1, 2, 1>)
  23.    #declare building_details[building_types] = difference {
  24.       box {<-5, 0, -5>, <5, 2, 5>} box {<-4.5, .5, -5.1>, <4.5, 1.8, 5.1>}
  25.       box {<-5.1, .5, -4.5>, <5.1, 1.8, 4.5>} box {<-4.8, -.1, -4.8>, <4.8, 2.1, 4.8>}}
  26.    #local AirVent = union {
  27.       cylinder {-z, z, 1 clipped_by {box {<-1, 0, -1.1>, <1, 1, 1.1>}} scale <1, 1, 1.5>
  28.          pigment {rgb <.5, .5, .53>} normal {gradient z bump_size .6 sine_wave scale .5 translate z*2}}
  29.       cylinder {<0, 0, -1.5>, <0, 3, -1.5>, .2 open pigment {rgb .5} finish {metallic}}
  30.       translate <-3, .5, 2.5>}
  31.    #declare building_roof[building_types] = union {box {<-5.2, -.2, -5.2>, <5.2, .5, 5.2>}
  32.       object {AirVent} object {AirVent rotate y * 180}}
  33.    #declare building_types = building_types + 1;
  34.  
  35. // OFFICE BUILDING #2
  36.    #declare building_size[building_types] = <2, .5, 2>;
  37.    #declare building_options[building_types] = build_texture + build_profile + build_window_profile + build_details + build_roof;
  38.    #declare building_texture[building_types] = texture {pigment {rgb .4} finish {metallic}}
  39.    #declare building_profile[building_types] = union {
  40.       #local C = -.75; #while (C < 1) 
  41.          box {<C-.01, 0, -1.01>, <C+.01, .5, 1.01>}
  42.          box {<-1.01, 0, C-.01>, <1.01, .5, C+.01>}
  43.       #local C = C + .25; #end }
  44.    #declare building_windows[building_types] = box {<-1, 0, -1>, <1, .5, 1>}
  45.    #local Glass = texture {pigment {rgb .5} normal {bumps .05 scale .6} finish {specular .5 roughness .1 reflection <.3, .4, .5>}}
  46.    set_window_texture (texture {Glass}, texture {Glass finish {ambient 1}}, <.25, .5, .25>)
  47.    #declare building_details[building_types] = box {<-1.02, 0, -1.02>, <1.02, .03, 1.02>}
  48.    #declare building_roof[building_types] = union {
  49.       box {<-1.05, 0, -1.05>, <1.05, .05, 1.05>}
  50.       object {building_windows[building_types] texture {building_window_texture[building_types]} scale .8 rotate y*90 translate y*.05}
  51.       object {building_profile[building_types] scale .8 rotate y*90 translate y*.05}
  52.       box {<-.85, .45, -.85>, <.85, .5, .85>}}
  53.    #declare building_types = building_types + 1;
  54.