Scripting

Mit sceneformat er nu et hjemmelavet sprog og min sceneparser er nu en fortolker. Der er understøttelse for if-else, while, do-while, repeat, variable, float-matematik og vektor-matematik.

Eksempel

Nedenstående billede er genereret ud fra følgende scene:

$x = -1200
repeat (30) {
  $z = -1200
  repeat (30) {
    $topy = random(200,300)
    object $box translate <$x,$topy,$z>
    if (random(1) < 0.3) {
      sphere {
        material {
          diffuse <random(1),random(1),random(1)>
          kd 0.4
          specular < 1.0,1.0,1.0 >
          ks 0.6
          specpow 30
        }
        30 < 0,0,0 >
      } translate < $x,$topy+35,$z >
    }
    $z = 100 + $z
  }
  $x = 100 + $x
}

Koden placerer en bunke kasser som alle er forskudt til en tilfældig højde. Ovenpå 30% af kasser placeres en kugle som har en tilfældig farve. Billedet bliver forskelligt hver gang man udregner det.