Modely získané 3D rekonstrukcí sourceforge html5-valid css3-valid

B7-B

Veronika Černohorská

cernover@fel.cvut.cz
7:30—9:00 D. Sedláček

Obrázek  zpět na začátek ↑

Vlevo je pohled z Instant playeru, uprostřed použitá textura a vpravo obrázek z hotové scény.


Popis řešení  zpět na začátek ↑

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.


Technická specifikace  zpět na začátek ↑

Počet trojúhelníků
Nejvyšší úroveň detailu0
Nižší úroveň detailu0
Snímková rychlost v Instant Playeru0

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) 


								

zpět na začátek