summaryrefslogtreecommitdiff
path: root/site/assets/cloud/demo/script.js
blob: a6fc540af8c8c2d5588d2a918e3d2534454ecaa5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
/* eslint-disable */
(function() {

	var datasets = ["10K US Adult Faces","3D-RMA","3D Dynamic","3DPeS","4DFAB","50 People One Question","aPascal","Aberdeen","Adience","AFAD","AFEW-VA","AffectNet","AFLW","AFW","AgeDB","ALERT Airport","AM-FED","APiS1.0","AR Face","AWE Ears","B3D(AC)","BBC Pose","BPAD","BFM","BioID Face","BJUT-3D","The Bosphorus","BP4D+","BP4D-Spontanous","Brainwash","BU-3DFE","BUHMAP-DB ","CAFE","Caltech 10K Web Faces","Caltech Faces","Caltech Pedestrians","CAMEL","CAS-PEAL","Casablanca","CASIA Webface","CAVIAR4REID","CelebA","CelebFaces+","CFD","ChaLearn","ChokePoint","Cityscapes","CCP","CMDP","CMU PIE","COCO","COCO-a","COCO QA","COFW","CK","CK+","Columbia Gaze","Ongoing Complex Activities","CUHK01","CUHK02","CUHK03","CVC-01","UFI","D3DFACS","Dartmouth Children","Data61 Pedestrian","DeepFashion","DISFA","Long Distance Heterogeneous Face","Duke MTMC","EmotioNet Database","ETHZ Pedestrian","EuroCity Persons","ExpW","Face Research Lab London","FaceScrub","FaceTracer","SFC","Facebook100","Face Place","Faces94","Faces95","Faces96","FIW","FDDB","FEI","FERET","FER+","CMU FiA","300-W","Florida Inmate","FRAV2D","FRAV3D","GRIMACE","FRGC","Gallagher","Gavab","GeoFaces","Georgia Tech Face","Google Makeup","Google (private)","Graz Pedestrian","H3D","HDA+","Helen","Hi4D-ADSIP","HID","Hipsterwars","HollywoodHeads","HRT Transgender","IFAD","IFDB","IIT Dehli Ear","IJB-A","IJB-B","IJB-C","","iLIDS-VID","Images of Groups","IMDB","IMFDB","IMM Face Dataset","Immediacy","imSitu","INRIA Pedestrian","iQIYI-VID dataset ","JAFFE","Jiku Mobile Video Dataset","JPL-Interaction dataset","Karpathy Instagram","KDEF","UB KinFace","KinectFaceDB","KITTI","LAG","Large Scale Person Search","Leeds Sports Pose","Leeds Sports Pose Extended","LFW","LFW-a","LFWP","m2vts","xm2vtsdb","MAFL","MALF","Mapillary","Market 1501","Market 1203","MARS","McGill Real World","Multiple Encounter Dataset","MegaAge","MegaFace","MIFS","MIKKI dataset","MIT CBCL","CBCL","CBCLSS","MIW","MMI Facial Expression Dataset","Moments in Time","MORPH Commercial","MORPH Non-Commercial","MOT","Large MPI Facial Expression","Small MPI Facial Expression","MPIIGaze","MPII Human Pose","MR2","MRP Drone","MsCeleb","MSMT17","MUCT","MUG Faces","MULTIPIE","MTFL","News Dataset","ND-2006","MID","Novaemötions Dataset","Nude Detection","ORL","Penn Fudan","PETA","PETS 2017","PPB","PIPA","PKU","PKU-Reid","Pornography DB","Precarious","PRID","PRW","PSU","PubFig","pubfig83","Put Face","GRID","QMUL-iLIDS","QMUL-SurvFace","RaFD","RAiD","RAP","ReSEED","SAIVT SoftBio","SAMM","Sarc3D","SCface","SCUT-FBP","SCUT HEAD","SDU-VID","SED Dataset","Sheffield Face","Shinpuhkan 2014","Social Relation","SOTON HiD","SVW","STAIR Action","Stanford Drone","Buffy Stickmen","We Are Family Stickmen","Stickmen PASCAL","Stirling/ESRC 3D Face","SUN","SVS","Texas 3DFRD","TinyFace","Tiny Images","TownCenter","TUD-Brussels","TUD-Campus","TUD-Crossing","TUD-Motionparis","TUD-Multiview","TUD-Pedestrian","TUD-Stadtmitte","TVHI","ND-TWINS-2009-2010","UCCS","UCF101","UCF-CC-50","UCF Selfie","UFDD","UMB","UMD","UNBC-McMaster Pain","Urban Tribes","USED Social Event Dataset","UTKFace","V47","VADANA","CIP","VGG Face","VGG Face2","Violent Flows","VIPeR","Phrasal Recognition","VMU","VOC","VQA","WARD","WGT","WIDER","WIDER FACE","WIDER Attribute","WildTrack","YaleFaces","Yale Face Database B","Extended Yale Face Database B ","YawDD","YFCC100M","UOY 3D Face Database","YouTubeFaces","YMU","YouTube Pose","WLFDB","SAL","Semaine","Belfast naturalistic","Belfast induced","VAM-faces","MAHNOB-HCI","DEAP","AMFED","Recola","AVEC13","AVEC14","Mimicry","Meissner Caucasian and African American","Nottingham Scans","Nottingham Originals","Stirling Pain","Utrecht ECVP","Mooney","Visual Commonsense Reasoning","HUFRD Pilgrims Dataset"]
	var getRandomText = function() {
		return chance.pickone(datasets)
	};
	var getRandomFontFamily = function() {
		return 'Helvetica, Arial, sans-serif'
		// return chance.pickone([
			// 'Georgia, serif',
			// '"Palatino Linotype", "Book Antiqua", Palatino, serif',
			// '"Times New Roman", Times, serif',
			// 'Helvetica, Arial, sans-serif',
			// '"Arial Black", Gadget, sans-serif',
			// '"Comic Sans MS", cursive, sans-serif',
			// 'Impact, Charcoal, sans-serif',
			// '"Lucida Sans Unicode", "Lucida Grande", sans-serif',
			// 'Tahoma, Geneva, sans-serif',
			// '"Trebuchet MS", Helvetica, sans-serif',
			// 'Verdana, Geneva, sans-serif',
			// '"Courier New", Courier, monospace',
			// '"Lucida Console", Monaco, monospace',
		// ]);
	};
	var getRandomColor = function() {
		return chance.pickone([ 0xffffff, 0xffffff, 0xffffff, 0xdddde6, 0x888896 ]) // chance.color({format: 'hex'});
	};
	var getRandomTextSize = function() {
		return (1 + Math.random()) * 1/8;
	};
	var renderer = new THREE.WebGLRenderer({antialias: true, alpha: true});
	renderer.setPixelRatio(devicePixelRatio);
	renderer.setClearColor(0x000000, 0);
	document.body.appendChild(renderer.domElement);
	var scene = new THREE.Scene();
	var camera = new THREE.PerspectiveCamera(75, 1, 1/128, 128);
	camera.position.set(4, 0, 10);
	var redrawInterval = 1;
	var sprites = Array.from({length: datasets.length}, function(t, i) {
		// console.log(i)
		var sprite = new THREE.TextSprite({
			textSize: getRandomTextSize(),
			redrawInterval: redrawInterval,
			material: {
				color: getRandomColor(),
			},
			texture: {
				text: datasets[i],
				fontFamily: getRandomFontFamily(),
			},
		});
		sprite.position
			.setX(Math.random())
			.setY(Math.random())
			.setZ(Math.random())
			.subScalar(1/2)
			.setLength(1 + Math.random())
			.multiplyScalar(6);
		scene.add(sprite);
		return sprite;
	});
	var controls = new THREE.OrbitControls(camera, renderer.domElement);
	controls.maxDistance = camera.far/2;
	controls.enableDamping = true;
	controls.dampingFactor = 1/8;
	controls.rotateSpeed = 1/4;
	controls.zoomSpeed = 1;
	controls.keyPanSpeed = 1/2;
	var renderScene = function() {
		renderer.setSize(document.body.offsetWidth, document.body.offsetHeight);
		camera.aspect = renderer.domElement.width / renderer.domElement.height;
		camera.updateProjectionMatrix();
		// controls.update();
		camera.position.z += -0.0025
		camera.rotation.y += 0.00001
		renderer.render(scene, camera);
	};
	window.addEventListener('resize', renderScene, false);
	var startSceneRenderer = function() {
		requestAnimationFrame(function() {
			setTimeout(startSceneRenderer, 1000/60);
		});
		renderScene();
	};
	startSceneRenderer();
	// var gui = new dat.GUI();
	// (function() {
	// 	var guiFolder = gui.addFolder('texture');
	// 	guiFolder.add({
	// 		text: function() {
	// 			sprites.forEach(function(sprite) {
	// 				sprite.material.map.text = getRandomText();
	// 			});
	// 		},
	// 	}, 'text');
	// 	guiFolder.add({
	// 		fontFamily: function() {
	// 			sprites.forEach(function(sprite) {
	// 				sprite.material.map.fontFamily = getRandomFontFamily();
	// 			});
	// 		},
	// 	}, 'fontFamily');
	// 	guiFolder.open();
	// })();
	// (function() {
	// 	var guiFolder = gui.addFolder('sprite');
	// 	guiFolder.add({
	// 		textSize: function() {
	// 			sprites.forEach(function(sprite) {
	// 				sprite.textSize = getRandomTextSize();
	// 			});
	// 		},
	// 	}, 'textSize');
	// 	guiFolder.add(Object.defineProperty({}, 'redrawInterval', {
	// 		get: function() {
	// 			return redrawInterval;
	// 		},
	// 		set: function(value) {
	// 			redrawInterval = value;
	// 			sprites.forEach(function(sprite) {
	// 				sprite.redrawInterval = redrawInterval;
	// 			});
	// 		},
	// 	}), 'redrawInterval', 0, 2000, 1);
	// 	guiFolder.open();
	// })();

})();