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ů | 0 |
Nejvyšší úroveň detailu | 0 |
Nižší úroveň detailu | 0 |
Snímková rychlost v Instant Playeru | 0 |
Odkaz na zdrojový kód gramatiky | 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 20.0 39.58932 const n = 5 Facade --> case LOD <= 0: texture("/Praha/images/B8D (2).png") alignScopeToGeometry(zUp, 0, world.lowest) setupProjection(0, scope.xy, '1.0000, '1.0000) projectUV(0) else: texture("/Praha/images/B8D (2).png") alignScopeToGeometry(zUp, 0, world.lowest) split(y, noAdjust) { ~11.38: Facade__1(0) | ~8.23: Facade__1(1) | 6.15: Facade__1(2) | 5.30: Facade__1(3) | ~8.53: Facade__1(4) } FacadeTrigger(i) --> case LOD <= 0: texture("/Praha/images/B8D (2).png") alignScopeToGeometry(zUp, 0, world.lowest) setupProjection(0, scope.xy, '1.0000, '1.0000) projectUV(0) else: texture("/Praha/images/B8D (2).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 else: Facade__1_1 Facade__1_1 --> split(x, noAdjust) { ~5.00: Facade__1_1_1 }* Facade__1_1_1 --> split(x, noAdjust) { 1.54: Facade__1_1_1_1 | 1.46: Facade__1_1_1_2 | ~2.00: Facade__1_1_1_3 } Facade__1_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '12.9555, '3.4798) projectUV(0) else: setupProjection(0, scope.xy, '12.9555, '3.4798) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_1_1_2 --> split(y, noAdjust) { ~5.92: Facade__1_1_1_2_1 | ~4.00: Facade__1_1_1_2_2 | 1.46: Facade__1_1_1_2_3 } Facade__1_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '13.6928, '6.6888, '-1.0569, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '13.6928, '6.6888, '-1.0569, '0.0000) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '13.6928, '9.9035, '-1.0569, '-1.4806) projectUV(0) else: setupProjection(0, scope.xy, '13.6928, '9.9035, '-1.0569, '-1.4806) t(0, 0, -0.35) projectUV(0) Facade__1_1_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '13.6928, '27.1044, '-1.0569, '-6.7890) projectUV(0) else: setupProjection(0, scope.xy, '13.6928, '27.1044, '-1.0569, '-6.7890) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '10.0219, '3.4798, '-1.5055, '0.0000) projectUV(0) else: setupProjection(0, scope.xy, '10.0219, '3.4798, '-1.5055, '0.0000) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_2 --> split(y, noAdjust) { ~8.23: Facade__1_2_1 }* Facade__1_2_1 --> split(x, noAdjust) { ~5.00: Facade__1_2_1_1 }* Facade__1_2_1_1 --> split(x, noAdjust) { 1.62: Facade__1_2_1_1_1 | ~2.00: Facade__1_2_1_1_2 | 1.38: Facade__1_2_1_1_3 } Facade__1_2_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '12.3409, '4.8129, '0.0000, '-1.3831) projectUV(0) else: setupProjection(0, scope.xy, '12.3409, '4.8129, '0.0000, '-1.3831) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_2_1_1_2 --> split(y, noAdjust) { 1.61: Facade__1_2_1_1_2_1 | ~4.92: Facade__1_2_1_1_2_2 | 1.69: Facade__1_2_1_1_2_3 } Facade__1_2_1_1_2_1 --> case LOD <= 1: setupProjection(0, scope.xy, '10.0063, '24.5230, '-0.8108, '-7.0472) projectUV(0) else: setupProjection(0, scope.xy, '10.0063, '24.5230, '-0.8108, '-7.0472) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_2_1_1_2_2 --> case LOD <= 1: setupProjection(0, scope.xy, '10.0063, '8.0466, '-0.8108, '-2.6405) projectUV(0) else: setupProjection(0, scope.xy, '10.0063, '8.0466, '-0.8108, '-2.6405) t(0, 0, -0.35) projectUV(0) Facade__1_2_1_1_2_3 --> case LOD <= 1: setupProjection(0, scope.xy, '10.0063, '23.4083, '-0.8108, '-10.5905) projectUV(0) else: setupProjection(0, scope.xy, '10.0063, '23.4083, '-0.8108, '-10.5905) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_2_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '14.4862, '4.8129, '-2.6216, '-1.3831) projectUV(0) else: setupProjection(0, scope.xy, '14.4862, '4.8129, '-2.6216, '-1.3831) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_3 --> split(y, noAdjust) { ~6.15: Facade__1_3_1 }* Facade__1_3_1 --> split(x, noAdjust) { ~5.00: Facade__1_3_1_1 }* Facade__1_3_1_1 --> split(y, noAdjust) { ~2.46: Facade__1_3_1_1_1 | 1.31: Facade__1_3_1_1_2 | ~2.38: Facade__1_3_1_1_3 } Facade__1_3_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '16.0932, '0.0000, '-7.9685) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '16.0932, '0.0000, '-7.9685) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_3_1_1_2 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '30.2931, '0.0000, '-16.8819) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '30.2931, '0.0000, '-16.8819) t(0, 0, -0.35) s('1, '1, 0.85) i("builtin:cube") projectUV(0) Facade__1_3_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '16.6124, '0.0000, '-9.8062) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '16.6124, '0.0000, '-9.8062) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_4 --> split(y, noAdjust) { ~5.30: Facade__1_4_1 }* Facade__1_4_1 --> split(x, noAdjust) { ~5.00: Facade__1_4_1_1 }* Facade__1_4_1_1 --> split(y, noAdjust) { ~1.77: Facade__1_4_1_1_1 | 1.23: Facade__1_4_1_1_2 | ~2.31: Facade__1_4_1_1_3 } Facade__1_4_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '22.3906, '0.0000, '-14.5648) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '22.3906, '0.0000, '-14.5648) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_4_1_1_2 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '32.1865, '0.0000, '-22.3745) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '32.1865, '0.0000, '-22.3745) t(0, 0, -0.35) s('1, '1, 0.85) i("builtin:cube") projectUV(0) Facade__1_4_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '17.1661, '0.0000, '-12.4664) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '17.1661, '0.0000, '-12.4664) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_5 --> split(y, noAdjust) { ~8.53: Facade__1_5_1 }* Facade__1_5_1 --> split(x, noAdjust) { ~5.00: Facade__1_5_1_1 }* Facade__1_5_1_1 --> split(y, noAdjust) { 2.15: Facade__1_5_1_1_1 | 1.00: Facade__1_5_1_1_2 | ~5.38: Facade__1_5_1_1_3 } Facade__1_5_1_1_1 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '18.3923, '0.0000, '-14.4283) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '18.3923, '0.0000, '-14.4283) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0) Facade__1_5_1_1_2 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '39.6139, '0.0000, '-33.2300) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '39.6139, '0.0000, '-33.2300) t(0, 0, -0.35) s('1, '1, 0.85) i("builtin:cube") projectUV(0) Facade__1_5_1_1_3 --> case LOD <= 1: setupProjection(0, scope.xy, '4.0000, '7.3578, '0.0000, '-6.3578) projectUV(0) else: setupProjection(0, scope.xy, '4.0000, '7.3578, '0.0000, '-6.3578) t(0, 0, -0.35) s('1, '1, 0.35) i("builtin:cube") projectUV(0)