Skip to content

Example: Cornell Box

Xiang Feng edited this page Jun 16, 2022 · 2 revisions

scene.json

{
  "state": {
    "path_tracing": {
      "spp": 64,
      "max_path_depth": 64
    }
  },
  "camera": {
    "type": "perspective",
    "fov": 19.5,
    "film": {
      "resolution": [720, 720]
    }
  },
  "lights": [
    {
      "type": "rect",
      "position": [-0.24, 1.98, -0.22],
      "v1": [0.23, 1.98, -0.22],
      "v2": [-0.24, 1.98, 0.16],
      "radiance": [17, 12, 4],
      "double_side": false
    }
  ],
  "materials": [
    {
      "name": "LeftWall",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.63, 0.065, 0.05]
    },
    {
      "name": "RightWall",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.14, 0.45, 0.091]
    },
    {
      "name": "Floor",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.725, 0.71, 0.68]
    },
    {
      "name": "Ceiling",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.725, 0.71, 0.68]
    },
    {
      "name": "BackWall",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.725, 0.71, 0.68]
    },
    {
      "name": "ShortBox",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.725, 0.71, 0.68]
    },
    {
      "name": "TallBox",
      "type": "brdf_lambertian",
      "diffuse_reflectance": [0.725, 0.71, 0.68]
    }
  ],
  "meshes": [
    {
      "name": "ceiling",
      "path": "ceiling.obj"
    },
    {
      "name": "floor",
      "path": "floor.obj"
    },
    {
      "name": "leftwall",
      "path": "leftwall.obj"
    },
    {
      "name": "rightwall",
      "path": "rightwall.obj"
    },
    {
      "name": "backwall",
      "path": "backwall.obj"
    },
    {
      "name": "shortbox",
      "path": "shortbox.obj"
    },
    {
      "name": "tallbox",
      "path": "tallbox.obj"
    }
  ],
  "instances": [
    {
      "mesh": "floor",
      "material": "Floor"
    },
    {
      "mesh": "ceiling",
      "material": "Ceiling"
    },
    {
      "mesh": "leftwall",
      "material": "LeftWall"
    },
    {
      "mesh": "rightwall",
      "material": "RightWall"
    },
    {
      "mesh": "backwall",
      "material": "BackWall"
    },
    {
      "mesh": "shortbox",
      "material": "ShortBox"
    },
    {
      "mesh": "tallbox",
      "material": "TallBox"
    }
  ],
  "shots": [
    {
      "type": "lookat",
      "eye": [0, 1, 6.8],
      "lookat": [0, 1, 0],
      "up": [0, 1, 0]
    }
  ]
}

backwall.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn 8.74228e-8 -4.37114e-8 -1
vn 8.74228e-8 -4.37114e-8 -1
vn 8.74228e-8 -4.37114e-8 -1
vn 8.74228e-8 -4.37114e-8 -1
v -1 0 -1
v -1 2 -1
v 1 2 -1
v 1 0 -1
f 1/1/1 2/2/2 3/3/3
f 1/1/1 3/3/3 4/4/4

ceiling.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn -8.74228e-8 -1 -4.37114e-8
vn -8.74228e-8 -1 -4.37114e-8
vn -8.74228e-8 -1 -4.37114e-8
vn -8.74228e-8 -1 -4.37114e-8
v 1 2 1
v -1 2 1
v -1 2 -1
v  1 2 -1
f 1/1/1 2/2/2 3/3/3
f 1/1/1 3/3/3 4/4/4

floor.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn 4.37114e-8 1 1.91069e-15
vn 4.37114e-8 1 1.91069e-15
vn 4.37114e-8 1 1.91069e-15
vn 4.37114e-8 1 1.91069e-15
v -1 1.74846e-7 -1
v -1 1.74846e-7 1
v 1 -1.74846e-7 1
v 1 -1.74846e-7 -1
f 1/1/1 2/2/2 3/3/3
f 1/1/1 3/3/3 4/4/4

leftwall.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn -1 -4.37114e-8 -4.37114e-8
vn -1 -4.37114e-8 -4.37114e-8
vn -1 -4.37114e-8 -4.37114e-8
vn -1 -4.37114e-8 -4.37114e-8
v -1 0 1
v -1 2 1
v -1 2 -1
v -1 0 -1
f 1/1/1 2/2/2 3/3/3
f 1/1/1 3/3/3 4/4/4

rightwall.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn 1 -4.37114e-8 1.31134e-7
vn 1 -4.37114e-8 1.31134e-7
vn 1 -4.37114e-8 1.31134e-7
vn 1 -4.37114e-8 1.31134e-7
v 1 0 -1
v 1 2 -1
v 1 2 1
v 1 0 1
f 1/1/1 2/2/2 3/3/3
f 1/1/1 3/3/3 4/4/4

shortbox.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn -0.958123 -4.18809e-8 -0.286357
vn -0.958123 -4.18809e-8 -0.286357 
vn -0.958123 -4.18809e-8 -0.286357
vn -0.958123 -4.18809e-8 -0.286357 
vn 0.958123 4.18809e-8 0.286357
vn 0.958123 4.18809e-8 0.286357
vn 0.958123 4.18809e-8 0.286357
vn 0.958123 4.18809e-8 0.286357
vn -4.37114e-8 1 -1.91069e-15 
vn -4.37114e-8 1 -1.91069e-15
vn -4.37114e-8 1 -1.91069e-15
vn -4.37114e-8 1 -1.91069e-15
vn 4.37114e-8 -1 1.91069e-15
vn 4.37114e-8 -1 1.91069e-15 
vn 4.37114e-8 -1 1.91069e-15
vn 4.37114e-8 -1 1.91069e-15
vn -0.286357 -1.25171e-8 0.958123
vn -0.286357 -1.25171e-8 0.958123
vn -0.286357 -1.25171e-8 0.958123 
vn -0.286357 -1.25171e-8 0.958123
vn 0.286357 1.25171e-8 -0.958123
vn 0.286357 1.25171e-8 -0.958123
vn 0.286357 1.25171e-8 -0.958123
vn 0.286357 1.25171e-8 -0.958123
v -0.0460751 0.6 0.573007
v -0.0460751 -2.98023e-8 0.573007
v 0.124253 0 0.00310463
v 0.124253 0.6 0.00310463
v 0.533009 0 0.746079
v 0.533009 0.6 0.746079
v 0.703337 0.6 0.176177
v 0.703337 2.98023e-8 0.176177
v 0.533009 0.6 0.746079
v -0.0460751 0.6 0.573007
v 0.124253 0.6 0.00310463
v 0.703337 0.6 0.176177
v 0.703337 2.98023e-8 0.176177
v 0.124253 0 0.00310463
v -0.0460751 -2.98023e-8 0.573007
v 0.533009 0 0.746079
v 0.533009 0 0.746079
v -0.0460751 -2.98023e-8 0.573007
v -0.0460751 0.6 0.573007
v 0.533009 0.6 0.746079
v 0.703337 0.6 0.176177
v 0.124253 0.6 0.00310463
v 0.124253 0 0.00310463
v 0.703337 2.98023e-8 0.176177
f 1/1/1 3/3/3 2/2/2
f 1/1/1 4/4/4 3/3/3
f 5/5/5 7/7/7 6/6/6
f 5/5/5 8/8/8 7/7/7
f 9/9/9 11/11/11 10/10/10
f 9/9/9 12/12/12 11/11/11
f 13/13/13 15/15/15 14/14/14
f 13/13/13 16/16/16 15/15/15
f 17/17/17 19/19/19 18/18/18
f 17/17/17 20/20/20 19/19/19
f 21/21/21 23/23/23 22/22/22
f 21/21/21 24/24/24 23/23/23

tallbox.obj

vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vt 0 0
vt 1 0
vt 1 1
vt 0 1
vn -0.328669 -4.1283e-8 -0.944445
vn -0.328669 -4.1283e-8 -0.944445
vn -0.328669 -4.1283e-8 -0.944445
vn -0.328669 -4.1283e-8 -0.944445
vn 0.328669 4.1283e-8 0.944445
vn 0.328669 4.1283e-8 0.944445
vn 0.328669 4.1283e-8 0.944445
vn 0.328669 4.1283e-8 0.944445
vn 3.82137e-15 1 -4.37114e-8
vn 3.82137e-15 1 -4.37114e-8
vn 3.82137e-15 1 -4.37114e-8
vn 3.82137e-15 1 -4.37114e-8
vn -3.82137e-15 -1 4.37114e-8
vn -3.82137e-15 -1 4.37114e-8
vn -3.82137e-15 -1 4.37114e-8
vn -3.82137e-15 -1 4.37114e-8
vn -0.944445 1.43666e-8 0.328669
vn -0.944445 1.43666e-8 0.328669
vn -0.944445 1.43666e-8 0.328669
vn -0.944445 1.43666e-8 0.328669
vn 0.944445 -1.43666e-8 -0.328669
vn 0.944445 -1.43666e-8 -0.328669
vn 0.944445 -1.43666e-8 -0.328669
vn 0.944445 -1.43666e-8 -0.328669
v -0.720444 1.2 -0.473882
v -0.720444 0 -0.473882
v -0.146892 0 -0.673479
v -0.146892 1.2 -0.673479
v -0.523986 0 0.0906493
v -0.523986 1.2 0.0906492
v 0.0495656 1.2 -0.108948
v 0.0495656 0 -0.108948
v -0.523986 1.2 0.0906492
v -0.720444 1.2 -0.473882
v -0.146892 1.2 -0.673479
v 0.0495656 1.2 -0.108948
v 0.0495656 0 -0.108948
v -0.146892 0 -0.673479
v -0.720444 0 -0.473882
v -0.523986 0 0.0906493
v -0.523986 0 0.0906493
v -0.720444 0 -0.473882
v -0.720444 1.2 -0.473882
v -0.523986 1.2 0.0906492
v 0.0495656 1.2 -0.108948
v -0.146892 1.2 -0.673479
v -0.146892 0 -0.673479
v 0.0495656 0 -0.108948
f 1/1/1 3/3/3 2/2/2
f 1/1/1 4/4/4 3/3/3
f 5/5/5 7/7/7 6/6/6
f 5/5/5 8/8/8 7/7/7
f 9/9/9 11/11/11 10/10/10
f 9/9/9 12/12/12 11/11/11
f 13/13/13 15/15/15 14/14/14
f 13/13/13 16/16/16 15/15/15
f 17/17/17 19/19/19 18/18/18
f 17/17/17 20/20/20 19/19/19
f 21/21/21 23/23/23 22/22/22
f 21/21/21 24/24/24 23/23/23

This page is still in progress.

Clone this wiki locally