On this page:
3d Exploration
7.4

3d Exploration

procedure

(exploration-scene [#:speed speed    
  #:fly-mode? fly-mode    
  #:environment environment    
  #:ocean ocean    
  #:stars stars    
  #:sky-objects sky-objects    
  #:ground-objects ground-objects]    
  more-objects ...)  any/c
  speed : positive? = 300
  fly-mode : boolean? = #t
  environment : any/c = 
(basic-environment #:basic? #f
                   #:preset 'default)
  ocean : any/c = #f
  stars : any/c = #f
  sky-objects : any/c = '()
  ground-objects : any/c = '()
  more-objects : any/c
The top-level function for the 3d-exploration language. Can be run with no parameters to get a basic, default explorable world.

procedure

(basic-environment [#:basic? basic?    
  #:preset preset    
  #:dressing dressing    
  #:dressing-amount amount    
  #:dressing-color color    
  #:dressing-scale scale    
  #:dressing-variance variance    
  #:fog fog    
  #:ground ground    
  #:ground-color-1 color-1    
  #:ground-color-2 color-2    
  #:ground-texture texture    
  #:horizon-color horizon    
  #:sky-color sky])  entity?
  basic? : boolean? = #t
  preset : (or/c preset?) = 'default
  dressing : (or/c #f dressing?) = #f
  amount : (or/c #f real?) = #f
  color : (or/c string? symbol? object?) = #f
  scale : (or/c #f real?) = #f
  variance : (or/c #f object?) = #f
  fog : (or/c between-0-1-inclusive?) = 0
  ground : (or/c #f ground?) = #f
  color-1 : (or/c string? symbol? object?) = #f
  color-2 : (or/c string? symbol? object?) = #f
  texture : (or/c #f texture?) = #f
  horizon : (or/c string? symbol? object?) = #f
  sky : (or/c string? symbol? object?) = #f
Basic Environment.

procedure

(basic-box [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:depth dep    
  #:height hei    
  #:width wid    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c number? object?) = (make-scale 1.0 1.0 1.0)
  dep : real? = 1.0
  hei : real? = 1.0
  wid : real? = 1.0
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Box.

procedure

(basic-cone [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius-bottom radb    
  #:radius-top radt    
  #:height hei    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  radb : real? = 1.0
  radt : real? = 0.01
  hei : real? = 1.0
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Cone.

procedure

(basic-cylinder [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:height hei    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  hei : real? = 1.0
  r : real? = 0.5
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Cylinder.

procedure

(basic-dodecahedron [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 0.5
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Dodecahedron.

procedure

(basic-icosahedron [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 0.5
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Icosahedron.

procedure

(basic-octahedron [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 0.5
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Octahedron.

procedure

(basic-sphere [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:shader sha    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 1.0
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  sha : (or/c string? symbol?) = "standard"
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Sphere.

procedure

(basic-tetrahedron [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 0.5
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Tetrahedron.

procedure

(basic-torus [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:radius-tubular rt    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 0.5
  rt : real? = 0.3
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Torus.

procedure

(basic-text [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:value val    
  #:align ali    
  #:baseline bas    
  #:font font    
  #:letter-spacing space    
  #:color col    
  #:opacity opac    
  #:side side    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  val : string? = "Hello, World!"
  ali : (or/c 'center 'left 'right) = 'center
  bas : (or/c 'top 'center 'bottom) = 'center
  font : symbol? = 'roboto
  space : real? = 1
  col : (or/c string? symbol? object?)
   = (make-color 255 255 255)
  opac : between-0-1-inclusive? = 1.0
  side : (or/c 'front 'back 'double) = 'double
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Text.

procedure

(basic-circle [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:radius r    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  r : real? = 0.5
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Circle.

procedure

(basic-plane [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:height hei    
  #:width wid    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  hei : real? = 1.0
  wid : real? = 1.0
  c : (or/c empty? (listof entity?)) = '()
Basic Plane.

procedure

(basic-ring [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:color col    
  #:radius-inner radi    
  #:radius-outer rado    
  #:opacity opac    
  #:texture tex    
  #:shader sha    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  radi : real? = 0.8
  rado : real? = 1.2
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  sha : (or/c string? symbol?) = "standard"
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Ring.

procedure

(basic-triangle [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:color col    
  #:opacity opac    
  #:texture tex    
  #:on-mouse-enter mouse-enter    
  #:on-mouse-leave mouse-leave    
  #:on-mouse-click mouse-click    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  col : (or/c string? symbol? object?)
   = (make-color 128 128 128)
  opac : between-0-1-inclusive? = 1.0
  tex : (or/c string? h:image?) = ""
  mouse-enter : (or/c #f (listof object?)) = #f
  mouse-leave : (or/c #f (listof object?)) = #f
  mouse-click : (or/c #f (listof object?)) = #f
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic Triangle.

procedure

(3d-model [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:model model    
  #:animations-list a-list    
  #:components-list c])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  model : string? = ""
  a-list : (or/c empty? (listof object?)) = '()
  c : (or/c empty? (listof entity?)) = '()
Basic 3D Model.

procedure

(basic-stars [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:color col    
  #:count count    
  #:depth depth    
  #:radius rad    
  #:star-size size    
  #:texture tex])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  col : (or/c string? symbol? object?) = "white"
  count : real? = 10000
  depth : real? = 180
  rad : real? = 180
  size : real? = 1.0
  tex : (or/c string? h:image?) = ""
Basic Stars.

procedure

(basic-ocean [#:position posn    
  #:rotation rota    
  #:scale sca    
  #:amplitude amp    
  #:amplitude-variance amp-var    
  #:color col    
  #:density den    
  #:depth dep    
  #:opacity opac    
  #:speed spe    
  #:speed-variance spe-var    
  #:width wid])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation -90.0 0.0 0.0)
  sca : (or/c object? number?) = (make-scale 1.0 1.0 1.0)
  amp : real? = 0.1
  amp-var : real? = 0.3
  col : (or/c string? symbol? object?)
   = (make-color (random 256) (random 256) (random 256))
  den : real? = 10
  dep : real? = 10
  opac : between-0-1-inclusive? = 0.8
  spe : real? = 1.0
  spe-var : real? = 2.0
  wid : real? = 10
Basic Ocean.

procedure

(basic-particles [#:position posn    
  #:rotation rota    
  #:scale scale    
  #:preset preset    
  #:image img    
  #:size size    
  #:speed spe    
  #:age age    
  #:color col    
  #:count count    
  #:posn-spread spr])  entity?
  posn : object? = (position 0.0 0.0 0.0)
  rota : object? = (rotation 0.0 0.0 0.0)
  scale : object? = (make-scale 1.0 1.0 1.0)
  preset : (or/c 'default 'dust 'snow 'rain) = 'default
  img : (or/c #f h:image?) = #f
  size : (or/c #f real?) = #f
  spe : (or/c #f real?) = #f
  age : (or/c #f real?) = #f
  col : (or/c #f string? symbol? object?) = #f
  count : (or/c #f real?) = #f
  spr : (or/c #f object?) = #f
Basic Particles.