-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathraycaster.html
More file actions
190 lines (173 loc) · 17 KB
/
raycaster.html
File metadata and controls
190 lines (173 loc) · 17 KB
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
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- saved from url=(0039)http://www.chromeexperiments.com/about/ -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="./Chrome Experiments - About This Project_files/cb=gapi.loaded_1"
async="">
</script>
<script type="text/javascript" async="" src="./Chrome Experiments - About This Project_files/ga.js">
</script>
<script src="./Chrome Experiments - About This Project_files/cb=gapi.loaded_0"
async="">
</script>
<link rel="dns-prefetch" href="http://ajax.googleapis.com/">
<link rel="dns-prefetch" href="http://1-ps.googleusercontent.com/">
<link rel="dns-prefetch" href="http://apis.google.com/">
<script type="text/psa_flush_style" id="QNwl3f6W-y">
.social - links.social - link.facebook,
.social - links.social - link.twitter {
background - image: url(http: //1-ps.googleusercontent.com/x/s.chromexperiments-hrd.appspot.com/www.chromeexperiments.com/img/xshare-icons-se8e5b7900f.png.pagespeed.ic.d2XZyQ_dsH.png);background-repeat:no-repeat}html,body,div,span,h1,h2,h3,p,a,img,ul,li,fieldset{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}img{border:none}li{list-style-type:none}*{margin:0}html,body{height:100%}body{font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;color:#fff;font-size:13px;background-color:#000}a{color:#009de9;outline:none}a:hover{text-decoration:none}p{margin-bottom:15px;line-height:23px}h1{font-size:17px;font-weight:normal}h2{font-size:17px;margin-bottom:4px;font-weight:normal}h3{font-size:15px}#wrapper{min-height:100%;height:auto!important;height:100%;margin:0 auto -68px;position:relative;width:918px}#page{width:918px;margin:0 auto;float:left;height:100%;display:block;height:auto;padding:0 0 35px}#footer,.push{height:68px}#footer{background-color:#1c1c1c;clear:both;position:relative}#back-to-mobile{display:none;background:#039bec;height:0;opacity:0;padding-right:67px;width:100%!important;-webkit-transition:all .1s ease-in-out;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;transition:all .1s ease-in-out}#back-to-mobile h1{margin:0 auto;width:918px}#back-to-mobile a,#back-to-mobile a:visited{font-size:30px;line-height:60px;padding:0;color:#fff;display:block;text-decoration:none}#subhead{background-color:#000;height:22px;padding:25px 0;margin-bottom:30px;position:relative}#subhead h2{float:left}#plusone-link{float:left;padding:4px 15px}#footer img{float:left;margin:0 auto}#footerContent{width:916px;margin:0 auto;padding:21px 0 0;height:47px;display:block}#footer ul{clear:right;float:right}#footer ul li{display:inline;clear:both}#footer ul li a{padding-right:16px;color:#fff;font-size:11px;line-height:24px}#footer ul li.last a{padding:0}#sideBar{width:435px;float:left}input:focus{outline:none}#about p{font-size:14px;line-height:23px;margin-bottom:22px}#about h3,#about #sideBar ul{margin-bottom:22px}#about #sideBar ul{font-size:14px;line-height:1.64286;padding-left:20px}#about #sideBar ul li{list-style:disc}#header{background:#000;height:42px;padding:35px 0;position:relative}#header .content{height:100%;margin:0 auto;overflow:visible;width:918px}#header #title{float:left;font-size:22px;font-weight:700;line-height:1;width:255px}#header #title a{color:#fff;text-decoration:none}#header #tagline{color:#737373;display:block;font-size:13px;font-weight:400;margin-top:6px}#header #site-options{float:right;padding:6px 0;width:632px}#header #nav,#header #searchbox,#header .social-links{float:right;margin:0 0 0 15px}#header #nav{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;font-size:14px;line-height:2.14286}#header #nav li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;float:left;padding-left:10px;padding-right:10px}#header #nav li:first-child{padding-left:0}#header #nav li:last-child{padding-right:0}#header #nav a{font-weight:400;text-decoration:none}#header #nav a:hover{text-decoration:underline}#header #nav a.active{color:#fff}#header #searchbox{position:relative;height:30px;width:140px}#header #searchbox input{-moz-appearance:none;-webkit-appearance:none;background:#1c1c1c;border:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;color:#7d7d7d;font-size:14px;font:400 14px/16px 'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:16px;outline:none;padding:6px 30px 6px 10px;width:140px}#header #searchbox button{text-indent:-119988px;overflow:hidden;text-align:left;-moz-appearance:none;-webkit-appearance:none;border:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background:transparent url(http://www.chromeexperiments.com/img/search.svg?1374795339) no-repeat 50% 50%;-moz-background-size:16px;-o-background-size:16px;-webkit-background-size:16px;background-size:16px;cursor:pointer;position:absolute;top:0;bottom:0;right:5px;width:20px;z-index:1000}.social-links{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;height:20px;padding:5px 0}.social-links li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;float:left;padding-left:5px;padding-right:5px}.social-links li:first-child{padding-left:0}.social-links li:last-child{padding-right:0}.social-links .social-link{height:20px}.social-links .social-link a{display:block;text-indent:-119988px;overflow:hidden;text-align:left;height:100%;width:20px}.social-links .social-link .google-plus{min-width:32px}.social-links .social-link .facebook{-moz-background-size:20px;-o-background-size:20px;-webkit-background-size:20px;background-size:20px;background-position:0 -20px}.social-links .social-link .facebook:hover{background-position:0 0}.social-links .social-link .twitter{-moz-background-size:20px;-o-background-size:20px;-webkit-background-size:20px;background-size:20px;background-position:0 -60px}.social-links .social-link .twitter:hover{background-position:0 -40px}
</script>
<script type="text/javascript">
window.mod_pagespeed_prefetch_start = Number(new Date());
window.mod_pagespeed_num_resources_prefetched = 3
</script>
<title>
Chrome Experiments - About This Project
</title>
<script type="text/javascript">
window.mod_pagespeed_start = Number(new Date());
</script>
<link rel="alternate" type="application/rss+xml" title="Chrome Experiments - Recent Experiments"
href="http://feeds.feedburner.com/chromeexperiments/">
<meta name="description" content="A showcase of creative experiments programmed in JavaScript, HTML5, and WebGL.">
<script id="psa_flush_style_early" pagespeed_no_defer="" type="text/javascript">
var applyFlushedCriticalCss = function(script_id, mediaString) {
var scripts = document.getElementsByTagName('script');
var styleScript = document.getElementById(script_id);
if (styleScript == null) {
return;
}
var cssText = styleScript.innerHTML || styleScript.textContent || styleScript.data || "";
var styleElem = document.createElement('style');
styleElem.type = 'text/css';
if (styleElem.styleSheet) {
styleElem.styleSheet.cssText = cssText;
} else {
styleElem.appendChild(document.createTextNode(cssText));
}
if (mediaString) {
styleElem.setAttribute("media", mediaString);
}
var currentScript = scripts[scripts.length - 1];
currentScript.parentNode.insertBefore(styleElem, currentScript);
};
</script>
<style type="text/css">
.social-links .social-link .facebook,.social-links .social-link .twitter{background-image:url(http://1-ps.googleusercontent.com/x/s.chromexperiments-hrd.appspot.com/www.chromeexperiments.com/img/xshare-icons-se8e5b7900f.png.pagespeed.ic.d2XZyQ_dsH.png);background-repeat:no-repeat}html,body,div,span,h1,h2,h3,p,a,img,ul,li,fieldset{margin:0;padding:0;border:0;font-weight:inherit;font-style:inherit;font-size:100%;font-family:inherit;vertical-align:baseline}img{border:none}li{list-style-type:none}*{margin:0}html,body{height:100%}body{font-family:'Helvetica
Neue',Helvetica,Arial,sans-serif;color:#fff;font-size:13px;background-color:#000}a{color:#009de9;outline:none}a:hover{text-decoration:none}p{margin-bottom:15px;line-height:23px}h1{font-size:17px;font-weight:normal}h2{font-size:17px;margin-bottom:4px;font-weight:normal}h3{font-size:15px}#wrapper{min-height:100%;height:auto!important;height:100%;margin:0
auto -68px;position:relative;width:918px}#page{width:918px;margin:0 auto;float:left;height:100%;display:block;height:auto;padding:0
0 35px}#footer,.push{height:68px}#footer{background-color:#1c1c1c;clear:both;position:relative}#back-to-mobile{display:none;background:#039bec;height:0;opacity:0;padding-right:67px;width:100%!important;-webkit-transition:all
.1s ease-in-out;-moz-transition:all .1s ease-in-out;-o-transition:all .1s
ease-in-out;transition:all .1s ease-in-out}#back-to-mobile h1{margin:0
auto;width:918px}#back-to-mobile a,#back-to-mobile a:visited{font-size:30px;line-height:60px;padding:0;color:#fff;display:block;text-decoration:none}#subhead{background-color:#000;height:22px;padding:25px
0;margin-bottom:30px;position:relative}#subhead h2{float:left}#plusone-link{float:left;padding:4px
15px}#footer img{float:left;margin:0 auto}#footerContent{width:916px;margin:0
auto;padding:21px 0 0;height:47px;display:block}#footer ul{clear:right;float:right}#footer
ul li{display:inline;clear:both}#footer ul li a{padding-right:16px;color:#fff;font-size:11px;line-height:24px}#footer
ul li.last a{padding:0}#sideBar{width:435px;float:left}input:focus{outline:none}#about
p{font-size:14px;line-height:23px;margin-bottom:22px}#about h3,#about #sideBar
ul{margin-bottom:22px}#about #sideBar ul{font-size:14px;line-height:1.64286;padding-left:20px}#about
#sideBar ul li{list-style:disc}#header{background:#000;height:42px;padding:35px
0;position:relative}#header .content{height:100%;margin:0 auto;overflow:visible;width:918px}#header
#title{float:left;font-size:22px;font-weight:700;line-height:1;width:255px}#header
#title a{color:#fff;text-decoration:none}#header #tagline{color:#737373;display:block;font-size:13px;font-weight:400;margin-top:6px}#header
#site-options{float:right;padding:6px 0;width:632px}#header #nav,#header
#searchbox,#header .social-links{float:right;margin:0 0 0 15px}#header
#nav{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;font-size:14px;line-height:2.14286}#header
#nav li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;float:left;padding-left:10px;padding-right:10px}#header
#nav li:first-child{padding-left:0}#header #nav li:last-child{padding-right:0}#header
#nav a{font-weight:400;text-decoration:none}#header #nav a:hover{text-decoration:underline}#header
#nav a.active{color:#fff}#header #searchbox{position:relative;height:30px;width:140px}#header
#searchbox input{-moz-appearance:none;-webkit-appearance:none;background:#1c1c1c;border:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;color:#7d7d7d;font-size:14px;font:400
14px/16px 'Helvetica Neue',Helvetica,Arial,sans-serif;line-height:16px;outline:none;padding:6px
30px 6px 10px;width:140px}#header #searchbox button{text-indent:-119988px;overflow:hidden;text-align:left;-moz-appearance:none;-webkit-appearance:none;border:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;background:transparent
url(http://www.chromeexperiments.com/img/search.svg?1374795339) no-repeat
50% 50%;-moz-background-size:16px;-o-background-size:16px;-webkit-background-size:16px;background-size:16px;cursor:pointer;position:absolute;top:0;bottom:0;right:5px;width:20px;z-index:1000}.social-links{margin:0;padding:0;border:0;overflow:hidden;*zoom:1;height:20px;padding:5px
0}.social-links li{list-style-image:none;list-style-type:none;margin-left:0;white-space:nowrap;float:left;padding-left:5px;padding-right:5px}.social-links
li:first-child{padding-left:0}.social-links li:last-child{padding-right:0}.social-links
.social-link{height:20px}.social-links .social-link a{display:block;text-indent:-119988px;overflow:hidden;text-align:left;height:100%;width:20px}.social-links
.social-link .google-plus{min-width:32px}.social-links .social-link .facebook{-moz-background-size:20px;-o-background-size:20px;-webkit-background-size:20px;background-size:20px;background-position:0
-20px}.social-links .social-link .facebook:hover{background-position:0
0}.social-links .social-link .twitter{-moz-background-size:20px;-o-background-size:20px;-webkit-background-size:20px;background-size:20px;background-position:0
-60px}.social-links .social-link .twitter:hover{background-position:0 -40px}
</style>
<style>
body{
positions:relative;
padding:0px;
margin:0px;
width:100%;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
}
</style>
<script pagespeed_no_defer="" type="text/javascript">
applyFlushedCriticalCss("QNwl3f6W-y", "");
</script>
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="/css/ie6.css" />
<![endif]-->
</head>
<body id="about">
<noscript>
<meta HTTP-EQUIV="refresh" content="0;url='http://www.chromeexperiments.com/about/?PageSpeed=noscript'"
/><style><!--table,div,span,font,p{display:none} --></style><div
style="display:block">Please click <a href="http://www.chromeexperiments.com/about/?PageSpeed=noscript">here</a>
if you are not redirected within a few seconds.</div>
</noscript>
<div style="position:absolute;z-index:2;width:100%;">
<div id="header" style="background:none;">
<div class="content">
<h1 id="title">
<a href="index.html">
NetCentric Graph Viz
<span id="tagline">Online demonstration project</span>
</a>
</h1>
<div id="site-options">
<fieldset id="searchbox">
<input type="text" size="19" value="" placeholder="Search">
<button type="submit">
Search
</button>
</fieldset>
<ul id="nav">
<li class="nav-item submit">
<a href="index2d.html">2d layout</a>
</li>
<li class="nav-item mobile-gallery">
<a href="index.html">3d layout</a>
</li>
<li class="nav-item submit">
<a href="techdemo.html">tech demo</a>
</li>
<li class="nav-item submit">
<a href="raycaster.html" style="color:white;">raycaster </a>
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- end header -->
<!-- ========================================================================================== -->
<script src="graph/gl-matrix.js"> </script>
<script src="webgl/webglcamera.js"> </script>
<script src="webgl/webglgeometry.js"> </script>
<script src="webgl/webglprogram.js"> </script>
<script src="webgl/webgltextures.js"> </script>
<script src="webgl/canvasrenderer.js"> </script>
<script src="webgl/webgl.js"> </script>
<script src="graph/Graph.js"> </script>
<script src="graph/force-directed-layout.js"> </script>
<script src="lib/templateengine.js"> </script>
<script> GLOBALLAYOUT="3d" </script>
<script src="raycaster.js"> </script>
<!-- ========================================================================================== -->
<p style="position:absolute; bottom:20px; left:50px; color:#999;" id="location"> Вычисления проекции 3d сцены на 2d плоскость средствами js(без шейдеров), используется как часть подсистемы работы с мышью.</p>
<img src="http://net-centric.ru/styles/nc/logo1.png" width="100px" style="bottom:30px;right:50px;position:absolute;opacity:0.7;"/>
</body>
</html>