Veronika Černohorská | cernover@fel.cvut.cz |
7:30—9:00 D. Sedláček |
Vlevo je pohled z Instant playeru, uprostřed použitá textura a vpravo obrázek z hotové scény.
Fasáda domu byla vygenerována pomocí nástroje Facade Wizard v City Enginu, výsledná fasáda má vytlačená okna i dveře. Střecha byla náhodně vygenerována z ručně napsaného skriptu.
Počet trojúhelníků | |
Nejvyšší úroveň detailu | 0 |
Nižší úroveň detailu | 0 |
Snímková rychlost v Instant Playeru | 0 |
version "2012.1" attr LOD = 2 # LOD 0 generates the original texture # LOD 1 generates flat splits # LOD 2 generates splits with depth as defined in Facade Wizard #! SIZE 30.0 31.612902 const n = 6 Facade --> case LOD <= 0: texture("/Praha/images/B7B.png") alignScopeToGeometry(zUp, 0, world.lowest) setupProjection(0, scope.xy, '1.0000, '1.0000) projectUV(0) else: texture("/Praha/images/B7B.png") alignScopeToGeometry(zUp, 0, world.lowest) split(y, noAdjust) { 4.33: Facade__1(0) | ~6.51: Facade__1(1) | ~7.63: Facade__1(2) | ~5.92: Facade__1(3) | ~5.39: Facade__1(4) | 1.83: Facade__1(5) } FacadeTrigger(i) --> case LOD <= 0: texture("/Praha/images/B7B.png") alignScopeToGeometry(zUp, 0, world.lowest) setupProjection(0, scope.xy, '1.0000, '1.0000) projectUV(0) else: texture("/Praha/images/B7B.png") alignScopeToGeometry(zUp, 0, world.lowest) Facade__1(i) Facade__1(i) --> case i == 0: Facade__1_1 case i == 1: Facade__1_2 case i == 2: Facade__1_3 case i == 3: Facade__1_4 case i == 4: Facade__1_5 case i == 5: Facade__1_6 else: Facade__1_1 Facade__1_1 --> split(x, noAdjust) { ~12.14: Facade__1_1_1 | 2.10: Facade__1_1_2 | ~15.76: Facade__1_1_3 } Facade__1_1_1 --> split(x, noAdjust) { ~4.05: Facade__1_1_1_1 }* Facade__1_1_1_1 --> split(x, noAdjust) { ~1.82: Facade__1_1_1_1_1 | ~1.97: Facade__1_1_1_1_2 | 0.26: Facade__1_1_1_1_3 } Facade__1_1_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '16.5289, '7.2988) projectUV(0) else: setupProjection(0, scope.xy, '16.5289, '7.2988) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_1_1_2 --> split(y, noAdjust) { 0.98: Facade__1_1_1_1_2_1 | ~2.83: Facade__1_1_1_1_2_2 | 0.53: Facade__1_1_1_1_2_3 } Facade__1_1_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '15.2067, '32.3427, '-0.9200, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '15.2067, '32.3427, '-0.9200, '0.0000) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '15.2067, '11.1797, '-0.9200, '-0.3457) projectUV(0) else: setupProjection(0, scope.xy, '15.2067, '11.1797, '-0.9200, '-0.3457) t(0, 0, -0.6) s('1, '1, 0.40000004) i("builtin:cube") projectUV(0) Facade__1_1_1_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '15.2067, '60.0909, '-0.9200, '-7.2329) projectUV(0) else: setupProjection(0, scope.xy, '15.2067, '60.0909, '-0.9200, '-7.2329) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '115.9863, '7.2988, '-14.6445, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '115.9863, '7.2988, '-14.6445, '0.0000) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_2 --> split(y, noAdjust) { ~3.67: Facade__1_1_2_1 | 0.66: Facade__1_1_2_2 } Facade__1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '14.2563, '8.6054, '-5.7688, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '14.2563, '8.6054, '-5.7688, '0.0000) t(0, 0, -0.6) projectUV(0) Facade__1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '14.2563, '48.0727, '-5.7688, '-5.5864) projectUV(0) else: setupProjection(0, scope.xy, '14.2563, '48.0727, '-5.7688, '-5.5864) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_3 --> split(x, noAdjust) { ~3.94: Facade__1_1_3_1 }* Facade__1_1_3_1 --> split(x, noAdjust) { 1.18: Facade__1_1_3_1_1 | ~1.91: Facade__1_1_3_1_2 | 0.85: Facade__1_1_3_1_3 } Facade__1_1_3_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '25.3445, '7.2988, '-12.0333, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '25.3445, '7.2988, '-12.0333, '0.0000) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_3_1_2 --> split(y, noAdjust) { 0.65: Facade__1_1_3_1_2_1 | ~3.16: Facade__1_1_3_1_2_2 | 0.53: Facade__1_1_3_1_2_3 } Facade__1_1_3_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '15.7310, '48.7376, '-8.0897, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '15.7310, '48.7376, '-8.0897, '0.0000) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_3_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '15.7310, '10.0152, '-8.0897, '-0.2055) projectUV(0) else: setupProjection(0, scope.xy, '15.7310, '10.0152, '-8.0897, '-0.2055) t(0, 0, -0.6) s('1, '1, 0.40000004) i("builtin:cube") projectUV(0) Facade__1_1_3_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '15.7310, '60.0909, '-8.0897, '-7.2329) projectUV(0) else: setupProjection(0, scope.xy, '15.7310, '60.0909, '-8.0897, '-7.2329) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_1_3_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '35.3643, '7.2988, '-20.4341, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '35.3643, '7.2988, '-20.4341, '0.0000) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_2 --> split(y, noAdjust) { ~6.51: Facade__1_2_1 }* Facade__1_2_1 --> split(x, noAdjust) { ~4.29: Facade__1_2_1_1 }* Facade__1_2_1_1 --> split(x, noAdjust) { ~2.14: Facade__1_2_1_1_1 | 1.32: Facade__1_2_1_1_2 | 0.83: Facade__1_2_1_1_3 } Facade__1_2_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '13.9938, '4.8558, '0.0000, '-0.6653) projectUV(0) else: setupProjection(0, scope.xy, '13.9938, '4.8558, '0.0000, '-0.6653) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_2_1_1_2 --> split(y, noAdjust) { 1.18: Facade__1_2_1_1_2_1 | ~3.62: Facade__1_2_1_1_2_2 | 1.71: Facade__1_2_1_1_2_3 } Facade__1_2_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '22.8100, '26.7071, '-1.6300, '-3.6591) projectUV(0) else: setupProjection(0, scope.xy, '22.8100, '26.7071, '-1.6300, '-3.6591) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_2_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '22.8100, '8.7405, '-1.6300, '-1.5248) projectUV(0) else: setupProjection(0, scope.xy, '22.8100, '8.7405, '-1.6300, '-1.5248) t(0, 0, -0.6) s('1, '1, 0.40000004) i("builtin:cube") projectUV(0) Facade__1_2_1_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '22.8100, '18.4895, '-1.6300, '-5.3409) projectUV(0) else: setupProjection(0, scope.xy, '22.8100, '18.4895, '-1.6300, '-5.3409) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_2_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '36.2889, '4.8558, '-4.1841, '-0.6653) projectUV(0) else: setupProjection(0, scope.xy, '36.2889, '4.8558, '-4.1841, '-0.6653) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_3 --> split(y, noAdjust) { ~7.63: Facade__1_3_1 }* Facade__1_3_1 --> split(y, noAdjust) { ~7.63: Facade__1_3_1_1 }* Facade__1_3_1_1 --> split(y, noAdjust) { ~7.63: Facade__1_3_1_1_1 }* Facade__1_3_1_1_1 --> split(y, noAdjust) { ~7.63: Facade__1_3_1_1_1_1 }* Facade__1_3_1_1_1_1 --> split(x, noAdjust) { ~4.29: Facade__1_3_1_1_1_1_1 }* Facade__1_3_1_1_1_1_1 --> split(x, noAdjust) { ~2.14: Facade__1_3_1_1_1_1_1_1 | 1.38: Facade__1_3_1_1_1_1_1_2 | 0.76: Facade__1_3_1_1_1_1_1_3 } Facade__1_3_1_1_1_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '13.9938, '4.1442, '0.0000, '-1.4212) projectUV(0) else: setupProjection(0, scope.xy, '13.9938, '4.1442, '0.0000, '-1.4212) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_3_1_1_1_1_1_2 --> split(y, noAdjust) { 1.18: Facade__1_3_1_1_1_1_1_2_1 | ~3.35: Facade__1_3_1_1_1_1_1_2_2 | ~3.09: Facade__1_3_1_1_1_1_1_2_3 } Facade__1_3_1_1_1_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '21.7238, '26.7071, '-1.5524, '-9.1591) projectUV(0) else: setupProjection(0, scope.xy, '21.7238, '26.7071, '-1.5524, '-9.1591) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_3_1_1_1_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '21.7238, '9.4260, '-1.5524, '-3.5856) projectUV(0) else: setupProjection(0, scope.xy, '21.7238, '9.4260, '-1.5524, '-3.5856) t(0, 0, -0.6) s('1, '1, 0.40000004) i("builtin:cube") projectUV(0) Facade__1_3_1_1_1_1_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '21.7238, '10.2282, '-1.5524, '-4.9758) projectUV(0) else: setupProjection(0, scope.xy, '21.7238, '10.2282, '-1.5524, '-4.9758) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_3_1_1_1_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '39.4251, '4.1442, '-4.6322, '-1.4212) projectUV(0) else: setupProjection(0, scope.xy, '39.4251, '4.1442, '-4.6322, '-1.4212) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_4 --> split(y, noAdjust) { ~5.92: Facade__1_4_1 }* Facade__1_4_1 --> split(x, noAdjust) { ~4.29: Facade__1_4_1_1 }* Facade__1_4_1_1 --> split(x, noAdjust) { ~2.14: Facade__1_4_1_1_1 | 1.38: Facade__1_4_1_1_2 | 0.76: Facade__1_4_1_1_3 } Facade__1_4_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '13.9938, '5.3414, '0.0000, '-3.1207) projectUV(0) else: setupProjection(0, scope.xy, '13.9938, '5.3414, '0.0000, '-3.1207) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_4_1_1_2 --> split(y, noAdjust) { 2.96: Facade__1_4_1_1_2_1 | ~2.96: Facade__1_4_1_1_2_2 } Facade__1_4_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '21.7238, '10.6828, '-1.5524, '-6.2414) projectUV(0) else: setupProjection(0, scope.xy, '21.7238, '10.6828, '-1.5524, '-6.2414) t(0, 0, -0.6) s('1, '1, 0.40000004) i("builtin:cube") projectUV(0) Facade__1_4_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '21.7238, '10.6828, '-1.5524, '-7.2414) projectUV(0) else: setupProjection(0, scope.xy, '21.7238, '10.6828, '-1.5524, '-7.2414) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_4_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '39.4251, '5.3414, '-4.6322, '-3.1207) projectUV(0) else: setupProjection(0, scope.xy, '39.4251, '5.3414, '-4.6322, '-3.1207) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_5 --> split(y, noAdjust) { ~5.39: Facade__1_5_1 }* Facade__1_5_1 --> split(x, noAdjust) { ~4.29: Facade__1_5_1_1 }* Facade__1_5_1_1 --> split(x, noAdjust) { ~2.28: Facade__1_5_1_1_1 | 1.18: Facade__1_5_1_1_2 | 0.83: Facade__1_5_1_1_3 } Facade__1_5_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '13.1849, '5.8625, '0.0000, '-4.5227) projectUV(0) else: setupProjection(0, scope.xy, '13.1849, '5.8625, '0.0000, '-4.5227) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_5_1_1_2 --> split(y, noAdjust) { 0.59: Facade__1_5_1_1_2_1 | ~2.37: Facade__1_5_1_1_2_2 | ~2.43: Facade__1_5_1_1_2_3 } Facade__1_5_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '25.3445, '53.4143, '-1.9222, '-41.2072) projectUV(0) else: setupProjection(0, scope.xy, '25.3445, '53.4143, '-1.9222, '-41.2072) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_5_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '25.3445, '13.3535, '-1.9222, '-10.5518) projectUV(0) else: setupProjection(0, scope.xy, '25.3445, '13.3535, '-1.9222, '-10.5518) t(0, 0, -0.6) s('1, '1, 0.40000004) i("builtin:cube") projectUV(0) Facade__1_5_1_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '25.3445, '12.9926, '-1.9222, '-11.2396) projectUV(0) else: setupProjection(0, scope.xy, '25.3445, '12.9926, '-1.9222, '-11.2396) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_5_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '36.2890, '5.8625, '-4.1841, '-4.5227) projectUV(0) else: setupProjection(0, scope.xy, '36.2890, '5.8625, '-4.1841, '-4.5227) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0) Facade__1_6 --> case LOD <= 1: setupProjection(0, scope.xy, '1.0000, '17.2529, '0.0000, '-16.2529) projectUV(0) else: setupProjection(0, scope.xy, '1.0000, '17.2529, '0.0000, '-16.2529) t(0, 0, -0.6) s('1, '1, 0.6) i("builtin:cube") projectUV(0)