Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
9ec395da
T
three.js
项目概览
Ablesons
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
9ec395da
编写于
3月 31, 2017
作者:
J
Jost Schmithals
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
tab indentation
上级
47e43962
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
771 addition
and
771 deletion
+771
-771
docs/index.css
docs/index.css
+130
-130
docs/index.html
docs/index.html
+231
-231
docs/list.js
docs/list.js
+393
-393
docs/page.css
docs/page.css
+4
-4
docs/page.js
docs/page.js
+13
-13
未找到文件。
docs/index.css
浏览文件 @
9ec395da
@font-face
{
font-family
:
'inconsolata'
;
src
:
url('files/inconsolata.woff')
format
(
'woff'
);
font-weight
:
normal
;
font-style
:
normal
;
font-family
:
'inconsolata'
;
src
:
url('files/inconsolata.woff')
format
(
'woff'
);
font-weight
:
normal
;
font-style
:
normal
;
}
*
{
box-sizing
:
border-box
;
box-sizing
:
border-box
;
}
html
{
height
:
100%
;
height
:
100%
;
}
body
{
background-color
:
#ffffff
;
margin
:
0px
;
height
:
100%
;
color
:
#555
;
font-family
:
'inconsolata'
;
font-size
:
15px
;
line-height
:
18px
;
overflow
:
hidden
;
background-color
:
#ffffff
;
margin
:
0px
;
height
:
100%
;
color
:
#555
;
font-family
:
'inconsolata'
;
font-size
:
15px
;
line-height
:
18px
;
overflow
:
hidden
;
}
h1
{
margin-top
:
30px
;
margin-bottom
:
40px
;
margin-left
:
20px
;
font-size
:
25px
;
font-weight
:
normal
;
margin-top
:
30px
;
margin-bottom
:
40px
;
margin-left
:
20px
;
font-size
:
25px
;
font-weight
:
normal
;
}
h2
{
color
:
#454545
;
font-size
:
18px
;
font-weight
:
normal
;
color
:
#454545
;
font-size
:
18px
;
font-weight
:
normal
;
margin-top
:
20px
;
margin-left
:
20px
;
margin-top
:
20px
;
margin-left
:
20px
;
}
h3
{
color
:
#666
;
font-size
:
16px
;
font-weight
:
normal
;
color
:
#666
;
font-size
:
16px
;
font-weight
:
normal
;
margin-top
:
20px
;
margin-left
:
20px
;
margin-top
:
20px
;
margin-left
:
20px
;
}
a
{
color
:
#2194CE
;
text-decoration
:
none
;
color
:
#2194CE
;
text-decoration
:
none
;
}
#panel
{
position
:
fixed
;
left
:
0px
;
width
:
260px
;
height
:
100%
;
overflow
:
auto
;
background
:
#fafafa
;
position
:
fixed
;
left
:
0px
;
width
:
260px
;
height
:
100%
;
overflow
:
auto
;
background
:
#fafafa
;
}
#panel
ul
{
list-style-type
:
none
;
padding
:
0px
;
margin-left
:
20px
;
list-style-type
:
none
;
padding
:
0px
;
margin-left
:
20px
;
}
iframe
{
position
:
absolute
;
border
:
0px
;
left
:
260px
;
width
:
calc
(
100%
-
260px
);
height
:
100%
;
overflow
:
auto
;
position
:
absolute
;
border
:
0px
;
left
:
260px
;
width
:
calc
(
100%
-
260px
);
height
:
100%
;
overflow
:
auto
;
}
.filterBlock
{
margin
:
20px
;
position
:
relative
;
margin
:
20px
;
position
:
relative
;
}
.filterBlock
p
{
margin
:
0
;
margin
:
0
;
}
#filterInput
{
width
:
100%
;
padding
:
5px
;
font-family
:
inherit
;
font-size
:
15px
;
outline
:
none
;
border
:
1px
solid
#dedede
;
width
:
100%
;
padding
:
5px
;
font-family
:
inherit
;
font-size
:
15px
;
outline
:
none
;
border
:
1px
solid
#dedede
;
}
#filterInput
:focus
{
border
:
1px
solid
#2194CE
;
border
:
1px
solid
#2194CE
;
}
#clearFilterButton
{
position
:
absolute
;
right
:
6px
;
top
:
50%
;
margin-top
:
-8px
;
width
:
16px
;
height
:
16px
;
font-size
:
14px
;
color
:
grey
;
text-align
:
center
;
line-height
:
0
;
padding-top
:
7px
;
opacity
:
.5
;
position
:
absolute
;
right
:
6px
;
top
:
50%
;
margin-top
:
-8px
;
width
:
16px
;
height
:
16px
;
font-size
:
14px
;
color
:
grey
;
text-align
:
center
;
line-height
:
0
;
padding-top
:
7px
;
opacity
:
.5
;
}
#clearFilterButton
:hover
{
opacity
:
1
;
opacity
:
1
;
}
.hidden
{
display
:
none
;
display
:
none
;
}
#panel
li
b
{
font-weight
:
bold
;
font-weight
:
bold
;
}
/* mobile */
#expandButton
{
display
:
none
;
position
:
absolute
;
right
:
20px
;
top
:
12px
;
width
:
32px
;
height
:
32px
;
display
:
none
;
position
:
absolute
;
right
:
20px
;
top
:
12px
;
width
:
32px
;
height
:
32px
;
}
#expandButton
span
{
height
:
2px
;
background-color
:
#2194CE
;
width
:
16px
;
position
:
absolute
;
left
:
8px
;
top
:
10px
;
height
:
2px
;
background-color
:
#2194CE
;
width
:
16px
;
position
:
absolute
;
left
:
8px
;
top
:
10px
;
}
#expandButton
span
:nth-child
(
1
)
{
top
:
16px
;
top
:
16px
;
}
#expandButton
span
:nth-child
(
2
)
{
top
:
22px
;
top
:
22px
;
}
@media
all
and
(
max-width
:
640px
)
{
h1
{
margin-top
:
20px
;
margin-bottom
:
20px
;
}
#panel
{
position
:
absolute
;
left
:
0
;
top
:
0
;
height
:
480px
;
width
:
100%
;
right
:
0
;
z-index
:
100
;
overflow
:
hidden
;
border-bottom
:
1px
solid
#dedede
;
}
#navigation
{
position
:
absolute
;
left
:
0
;
top
:
90px
;
right
:
0
;
bottom
:
0
;
font-size
:
17px
;
line-height
:
22px
;
overflow
:
auto
;
}
iframe
{
position
:
absolute
;
left
:
0
;
top
:
56px
;
width
:
100%
;
height
:
calc
(
100%
-
56px
);
}
#expandButton
{
display
:
block
;
}
#panel
.collapsed
{
height
:
56px
;
}
h1
{
margin-top
:
20px
;
margin-bottom
:
20px
;
}
#panel
{
position
:
absolute
;
left
:
0
;
top
:
0
;
height
:
480px
;
width
:
100%
;
right
:
0
;
z-index
:
100
;
overflow
:
hidden
;
border-bottom
:
1px
solid
#dedede
;
}
#navigation
{
position
:
absolute
;
left
:
0
;
top
:
90px
;
right
:
0
;
bottom
:
0
;
font-size
:
17px
;
line-height
:
22px
;
overflow
:
auto
;
}
iframe
{
position
:
absolute
;
left
:
0
;
top
:
56px
;
width
:
100%
;
height
:
calc
(
100%
-
56px
);
}
#expandButton
{
display
:
block
;
}
#panel
.collapsed
{
height
:
56px
;
}
}
docs/index.html
浏览文件 @
9ec395da
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"utf-8"
>
<title>
three.js / documentation
</title>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"index.css"
>
</head>
<body>
<head>
<meta
charset=
"utf-8"
>
<title>
three.js / documentation
</title>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
>
<link
type=
"text/css"
rel=
"stylesheet"
href=
"index.css"
>
</head>
<body>
<div
id=
"panel"
class=
"collapsed"
>
<div
id=
"panel"
class=
"collapsed"
>
<h1><a
href=
"http://threejs.org"
>
three.js
</a>
/ docs
</h1>
<h1><a
href=
"http://threejs.org"
>
three.js
</a>
/ docs
</h1>
<a
id=
"expandButton"
href=
"#"
>
<span></span>
<span></span>
<span></span>
</a>
<a
id=
"expandButton"
href=
"#"
>
<span></span>
<span></span>
<span></span>
</a>
<div
class=
"filterBlock"
>
<input
type=
"text"
id=
"filterInput"
placeholder=
"Type to filter"
>
<a
href=
"#"
id=
"clearFilterButton"
>
x
</a>
</div>
<div
class=
"filterBlock"
>
<input
type=
"text"
id=
"filterInput"
placeholder=
"Type to filter"
>
<a
href=
"#"
id=
"clearFilterButton"
>
x
</a>
</div>
</div>
</div>
<iframe></iframe>
<iframe></iframe>
<script
src=
"list.js"
></script>
<script
src=
"list.js"
></script>
<script>
<script>
var
panel
=
document
.
getElementById
(
'
panel
'
);
var
clearFilterButton
=
document
.
getElementById
(
'
clearFilterButton
'
);
var
expandButton
=
document
.
getElementById
(
'
expandButton
'
);
var
filterInput
=
document
.
getElementById
(
'
filterInput
'
);
var
iframe
=
document
.
querySelector
(
'
iframe
'
);
var
panel
=
document
.
getElementById
(
'
panel
'
);
var
clearFilterButton
=
document
.
getElementById
(
'
clearFilterButton
'
);
var
expandButton
=
document
.
getElementById
(
'
expandButton
'
);
var
filterInput
=
document
.
getElementById
(
'
filterInput
'
);
var
iframe
=
document
.
querySelector
(
'
iframe
'
);
var
pageProperties
=
{};
var
titles
=
{};
var
categoryElements
=
[];
var
pageProperties
=
{};
var
titles
=
{};
var
categoryElements
=
[];
// ----------------------------------------------------------------------------
...
...
@@ -47,46 +47,46 @@
// ----------------------------------------------------------------------------
// Functionality for hamburger button (on small devices)
// Functionality for hamburger button (on small devices)
expandButton
.
onclick
=
function
(
event
)
{
expandButton
.
onclick
=
function
(
event
)
{
event
.
preventDefault
();
panel
.
classList
.
toggle
(
'
collapsed
'
);
event
.
preventDefault
();
panel
.
classList
.
toggle
(
'
collapsed
'
);
};
};
// Functionality for search/filter input field
// Functionality for search/filter input field
filterInput
.
oninput
=
function
(
event
)
{
filterInput
.
oninput
=
function
(
event
)
{
updateFilter
();
updateFilter
();
};
};
// Functionality for filter clear button
// Functionality for filter clear button
clearFilterButton
.
onclick
=
function
(
event
)
{
clearFilterButton
.
onclick
=
function
(
event
)
{
event
.
preventDefault
();
event
.
preventDefault
();
filterInput
.
value
=
''
;
updateFilter
();
filterInput
.
value
=
''
;
updateFilter
();
};
};
// Activate content and title change on browser navigation
// Activate content and title change on browser navigation
window
.
onpopstate
=
createNewIframe
;
window
.
onpopstate
=
createNewIframe
;
// Create the navigation panel and configure the iframe
// Create the navigation panel and configure the iframe
createNavigation
();
createNewIframe
();
createNavigation
();
createNewIframe
();
// ----------------------------------------------------------------------------
...
...
@@ -94,106 +94,106 @@
// ----------------------------------------------------------------------------
function
createNavigation
()
{
function
createNavigation
()
{
// Create the navigation panel using data from list.js
// Create the navigation panel using data from list.js
var
navigation
=
createAndAppendDOMElement
(
{
type
:
'
div
'
,
parent
:
panel
}
);
var
navigation
=
createAndAppendDOMElement
(
{
type
:
'
div
'
,
parent
:
panel
}
);
for
(
var
section
in
list
)
{
for
(
var
section
in
list
)
{
// Create sections
// Create sections
var
categories
=
list
[
section
];
var
categories
=
list
[
section
];
var
sectionHead
=
createAndAppendDOMElement
(
{
type
:
'
h2
'
,
parent
:
navigation
,
content
:
section
}
)
var
sectionHead
=
createAndAppendDOMElement
(
{
type
:
'
h2
'
,
parent
:
navigation
,
content
:
section
}
)
for
(
var
category
in
categories
)
{
for
(
var
category
in
categories
)
{
// Create categories
// Create categories
var
pages
=
categories
[
category
];
var
pages
=
categories
[
category
];
var
categoryContainer
=
createAndAppendDOMElement
(
{
type
:
'
div
'
,
parent
:
navigation
}
);
var
categoryHead
=
createAndAppendDOMElement
(
{
type
:
'
h3
'
,
parent
:
categoryContainer
,
content
:
category
}
);
var
categoryContent
=
createAndAppendDOMElement
(
{
type
:
'
ul
'
,
parent
:
categoryContainer
}
);
var
categoryContainer
=
createAndAppendDOMElement
(
{
type
:
'
div
'
,
parent
:
navigation
}
);
var
categoryHead
=
createAndAppendDOMElement
(
{
type
:
'
h3
'
,
parent
:
categoryContainer
,
content
:
category
}
);
var
categoryContent
=
createAndAppendDOMElement
(
{
type
:
'
ul
'
,
parent
:
categoryContainer
}
);
for
(
var
pageName
in
pages
)
{
for
(
var
pageName
in
pages
)
{
// Create page links
// Create page links
var
pageURL
=
pages
[
pageName
];
var
pageURL
=
pages
[
pageName
];
var
listElement
=
createAndAppendDOMElement
(
{
type
:
'
li
'
,
parent
:
categoryContent
}
);
var
linkElement
=
createAndAppendDOMElement
(
{
type
:
'
a
'
,
parent
:
listElement
,
content
:
pageName
}
);
var
listElement
=
createAndAppendDOMElement
(
{
type
:
'
li
'
,
parent
:
categoryContent
}
);
var
linkElement
=
createAndAppendDOMElement
(
{
type
:
'
a
'
,
parent
:
listElement
,
content
:
pageName
}
);
// The href attribute is only used for the option to create a new tab by right click
// The href attribute is only used for the option to create a new tab by right click
linkElement
.
setAttribute
(
'
href
'
,
'
#
'
+
pageURL
);
linkElement
.
setAttribute
(
'
href
'
,
'
#
'
+
pageURL
);
addClickHandlers
(
linkElement
,
pageURL
);
addClickHandlers
(
linkElement
,
pageURL
);
// Gather the main properties for the current subpage
// Gather the main properties for the current subpage
pageProperties
[
pageName
]
=
{
section
:
section
,
category
:
category
,
pageURL
:
pageURL
,
linkElement
:
linkElement
};
pageProperties
[
pageName
]
=
{
section
:
section
,
category
:
category
,
pageURL
:
pageURL
,
linkElement
:
linkElement
};
// Gather the document titles (used for easy access on browser navigation)
// Gather the document titles (used for easy access on browser navigation)
titles
[
pageURL
]
=
pageName
;
titles
[
pageURL
]
=
pageName
;
}
}
// Gather the category elements for easy access on filtering
// Gather the category elements for easy access on filtering
categoryElements
.
push
(
categoryContent
);
categoryElements
.
push
(
categoryContent
);
}
}
}
}
};
};
function
createAndAppendDOMElement
(
properties
)
{
function
createAndAppendDOMElement
(
properties
)
{
// Helper function for creating and appending new DOM elements
// Helper function for creating and appending new DOM elements
var
newElement
=
document
.
createElement
(
properties
.
type
);
var
newElement
=
document
.
createElement
(
properties
.
type
);
properties
.
parent
.
appendChild
(
newElement
);
properties
.
parent
.
appendChild
(
newElement
);
if
(
properties
.
content
)
{
if
(
properties
.
content
)
{
newElement
.
textContent
=
properties
.
content
;
newElement
.
textContent
=
properties
.
content
;
}
}
return
newElement
;
return
newElement
;
}
}
function
addClickHandlers
(
linkElement
,
pageURL
)
{
function
addClickHandlers
(
linkElement
,
pageURL
)
{
// Helper function for adding ClickHandlers to the page links
// Helper function for adding ClickHandlers to the page links
linkElement
.
onclick
=
function
(
event
)
{
linkElement
.
onclick
=
function
(
event
)
{
event
.
preventDefault
();
event
.
preventDefault
();
window
.
location
.
hash
=
pageURL
;
createNewIframe
();
window
.
location
.
hash
=
pageURL
;
createNewIframe
();
panel
.
classList
.
add
(
'
collapsed
'
);
panel
.
classList
.
add
(
'
collapsed
'
);
};
};
};
};
// ----------------------------------------------------------------------------
...
...
@@ -201,36 +201,36 @@
// ----------------------------------------------------------------------------
//
(uncomment the following lines and the first line in updateFilter(), if you want query strings):
//
(uncomment the following lines and the first line in updateFilter(), if you want query strings):
//
filterInput.value = extractFromQueryString();
//
updateFilter();
//
filterInput.value = extractFromQueryString();
//
updateFilter();
//
//
//
function extractFromQueryString() {
//
function extractFromQueryString() {
//
//
var queryString = window.location.search;
//
var queryString = window.location.search;
//
//
if ( queryString.indexOf( '?q=' ) === -1 ) return '';
//
if ( queryString.indexOf( '?q=' ) === -1 ) return '';
//
//
return queryString.substr( 3 );
//
return queryString.substr( 3 );
//
//
}
//
}
//
//
function updateQueryString() {
//
function updateQueryString() {
//
//
var searchString = filterInput.value;
//
var query = '';
//
var searchString = filterInput.value;
//
var query = '';
//
//
if (searchString !== '') {
//
if (searchString !== '') {
//
//
query = '?q=' + searchString;
//
query = '?q=' + searchString;
//
//
}
//
}
//
//
window.history.replaceState( {} , '', window.location.pathname + query + window.location.hash );
//
window.history.replaceState( {} , '', window.location.pathname + query + window.location.hash );
//
//
}
//
}
// ----------------------------------------------------------------------------
...
...
@@ -238,91 +238,91 @@
// ----------------------------------------------------------------------------
function
updateFilter
()
{
function
updateFilter
()
{
//
(uncomment the following line and the "Query strings" section, if you want query strings):
//
updateQueryString();
//
(uncomment the following line and the "Query strings" section, if you want query strings):
//
updateQueryString();
var
regExp
=
new
RegExp
(
filterInput
.
value
,
'
gi
'
);
var
regExp
=
new
RegExp
(
filterInput
.
value
,
'
gi
'
);
for
(
var
pageName
in
pageProperties
)
{
var
linkElement
=
pageProperties
[
pageName
].
linkElement
;
var
categoryClassList
=
linkElement
.
parentElement
.
classList
;
var
filterResults
=
pageName
.
match
(
regExp
);
for
(
var
pageName
in
pageProperties
)
{
if
(
filterResults
&&
filterResults
.
length
>
0
)
{
var
linkElement
=
pageProperties
[
pageName
].
linkElement
;
var
categoryClassList
=
linkElement
.
parentElement
.
classList
;
var
filterResults
=
pageName
.
match
(
regExp
);
// Accentuate matching characters
if
(
filterResults
&&
filterResults
.
length
>
0
)
{
for
(
var
i
=
0
;
i
<
filterResults
.
length
;
i
++
)
{
// Accentuate matching characters
var
result
=
filterResults
[
i
];
for
(
var
i
=
0
;
i
<
filterResults
.
length
;
i
++
)
{
if
(
result
!==
''
)
{
pageName
=
pageName
.
replace
(
result
,
'
<b>
'
+
result
+
'
</b>
'
);
}
var
result
=
filterResults
[
i
];
}
if
(
result
!==
''
)
{
pageName
=
pageName
.
replace
(
result
,
'
<b>
'
+
result
+
'
</b>
'
);
}
categoryClassList
.
remove
(
'
hidden
'
);
linkElement
.
innerHTML
=
pageName
;
}
}
else
{
categoryClassList
.
remove
(
'
hidden
'
);
linkElement
.
innerHTML
=
pageName
;
// Hide all non-matching page names
}
else
{
categoryClassList
.
add
(
'
hidden
'
);
// Hide all non-matching page names
}
categoryClassList
.
add
(
'
hidden
'
);
}
}
displayFilteredPanel
();
}
}
displayFilteredPanel
();
}
function
displayFilteredPanel
()
{
// Show/hide categories depending on their content
// First check if at least one page in this category is not hidden
function
displayFilteredPanel
()
{
categoryElements
.
forEach
(
function
(
category
)
{
// Show/hide categories depending on their content
// First check if at least one page in this category is not hidden
var
pages
=
category
.
children
;
var
pagesLength
=
pages
.
length
;
var
sectionClassList
=
category
.
parentElement
.
classList
;
categoryElements
.
forEach
(
function
(
category
)
{
var
hideCategory
=
true
;
var
pages
=
category
.
children
;
var
pagesLength
=
pages
.
length
;
var
sectionClassList
=
category
.
parentElement
.
classList
;
for
(
var
i
=
0
;
i
<
pagesLength
;
i
++
)
{
var
hideCategory
=
true
;
var
pageClassList
=
pages
[
i
].
classList
;
for
(
var
i
=
0
;
i
<
pagesLength
;
i
++
)
{
if
(
!
pageClassList
.
contains
(
'
hidden
'
)
)
{
var
pageClassList
=
pages
[
i
].
classList
;
hideCategory
=
false
;
if
(
!
pageClassList
.
contains
(
'
hidden
'
)
)
{
}
hideCategory
=
false
;
}
}
// If and only if all page names are hidden, hide the whole category
}
if
(
hideCategory
)
{
// If and only if all page names are hidden, hide the whole category
sectionClassList
.
add
(
'
hidden
'
);
if
(
hideCategory
)
{
}
else
{
sectionClassList
.
add
(
'
hidden
'
);
sectionClassList
.
remove
(
'
hidden
'
);
}
else
{
}
sectionClassList
.
remove
(
'
hidden
'
);
}
);
}
}
}
);
}
// ----------------------------------------------------------------------------
...
...
@@ -330,92 +330,92 @@
// ----------------------------------------------------------------------------
function
setUrlFragment
(
pageName
)
{
function
setUrlFragment
(
pageName
)
{
// Handle navigation from the subpages (iframes):
// First separate the memeber (if existing) from the page name,
// then identify the subpage's URL and set it as URL fragment (re-adding the member)
// Handle navigation from the subpages (iframes):
// First separate the memeber (if existing) from the page name,
// then identify the subpage's URL and set it as URL fragment (re-adding the member)
var
splitPageName
=
decomposePageName
(
pageName
,
'
.
'
,
'
.
'
);
var
splitPageName
=
decomposePageName
(
pageName
,
'
.
'
,
'
.
'
);
var
currentProperties
=
pageProperties
[
splitPageName
[
0
]
];
var
currentProperties
=
pageProperties
[
splitPageName
[
0
]
];
if
(
currentProperties
)
{
if
(
currentProperties
)
{
window
.
location
.
hash
=
currentProperties
.
pageURL
+
splitPageName
[
1
];
window
.
location
.
hash
=
currentProperties
.
pageURL
+
splitPageName
[
1
];
createNewIframe
();
createNewIframe
();
}
}
}
}
function
createNewIframe
()
{
function
createNewIframe
()
{
// Change the content displayed in the iframe
// First separate the member part of the fragment (if existing)
// Change the content displayed in the iframe
// First separate the member part of the fragment (if existing)
var
hash
=
window
.
location
.
hash
.
substring
(
1
);
var
splitHash
=
decomposePageName
(
hash
,
'
.
'
,
'
#
'
);
var
hash
=
window
.
location
.
hash
.
substring
(
1
);
var
splitHash
=
decomposePageName
(
hash
,
'
.
'
,
'
#
'
);
// Creating a new Iframe instead of assigning a new src is
// a cross-browser solution to allow normal browser navigation;
// - only assigning a new src would result in two history states each time.
// Creating a new Iframe instead of assigning a new src is
// a cross-browser solution to allow normal browser navigation;
// - only assigning a new src would result in two history states each time.
// Note: iframe.contentWindow.location.replace(hash) should work, too,
// but it doesn't work in Edge with links from the subpages!
// Note: iframe.contentWindow.location.replace(hash) should work, too,
// but it doesn't work in Edge with links from the subpages!
var
oldIframe
;
var
subtitle
;
var
oldIframe
;
var
subtitle
;
oldIframe
=
iframe
;
iframe
=
oldIframe
.
cloneNode
();
oldIframe
=
iframe
;
iframe
=
oldIframe
.
cloneNode
();
if
(
hash
)
{
if
(
hash
)
{
iframe
.
src
=
splitHash
[
0
]
+
'
.html
'
+
splitHash
[
1
];
subtitle
=
'
-
'
+
titles
[
splitHash
[
0
]
]
+
splitHash
[
1
];
iframe
.
src
=
splitHash
[
0
]
+
'
.html
'
+
splitHash
[
1
];
subtitle
=
'
-
'
+
titles
[
splitHash
[
0
]
]
+
splitHash
[
1
];
}
else
{
}
else
{
iframe
.
src
=
''
;
subtitle
=
''
;
iframe
.
src
=
''
;
subtitle
=
''
;
}
}
document
.
body
.
replaceChild
(
iframe
,
oldIframe
);
document
.
title
=
'
three.js docs
'
+
subtitle
;
document
.
body
.
replaceChild
(
iframe
,
oldIframe
);
document
.
title
=
'
three.js docs
'
+
subtitle
;
}
}
function
decomposePageName
(
pageName
,
oldDelimiter
,
newDelimiter
)
{
function
decomposePageName
(
pageName
,
oldDelimiter
,
newDelimiter
)
{
// Helper function for separating the member (if existing) from the pageName
// For example: 'Geometry.morphTarget' can be converted to
// ['Geometry', '.morphTarget'] or ['Geometry', '#morphTarget']
// Note: According RFC 3986 no '#' allowed inside of an URL fragment!
// Helper function for separating the member (if existing) from the pageName
// For example: 'Geometry.morphTarget' can be converted to
// ['Geometry', '.morphTarget'] or ['Geometry', '#morphTarget']
// Note: According RFC 3986 no '#' allowed inside of an URL fragment!
var
parts
=
[];
var
parts
=
[];
var
dotIndex
=
pageName
.
indexOf
(
oldDelimiter
);
var
dotIndex
=
pageName
.
indexOf
(
oldDelimiter
);
if
(
dotIndex
!==
-
1
)
{
if
(
dotIndex
!==
-
1
)
{
parts
=
pageName
.
split
(
oldDelimiter
);
parts
[
1
]
=
newDelimiter
+
parts
[
1
];
parts
=
pageName
.
split
(
oldDelimiter
);
parts
[
1
]
=
newDelimiter
+
parts
[
1
];
}
else
{
}
else
{
parts
[
0
]
=
pageName
;
parts
[
1
]
=
''
;
parts
[
0
]
=
pageName
;
parts
[
1
]
=
''
;
}
}
return
parts
;
return
parts
;
}
}
// ----------------------------------------------------------------------------
...
...
@@ -423,20 +423,20 @@
// ----------------------------------------------------------------------------
console
.
log
(
[
'
__ __
'
,
'
__/ __
\\
/ __
\\
__ ____ _____ _____
'
,
'
/ __/ /
\\
/ / /___
\\
/ ____
\\
/ _____
\\
/ _____
\\
'
,
'
\\
/_ __/ / _ / / __/ / __ / / __ /_ __ _____
'
,
'
/ / / / / / / / / / / / ___/ / ___/
\\
_
\\
/ __
\\
/ _____
\\
'
,
'
\\
/__/
\\
/__/
\\
/__/
\\
/__/
\\
/_____/
\\
/_____/
\\
/__/ / / / ___/
'
,
'
/ __/ /
\\
__
\\
'
,
'
\\
/____/
\\
/_____/
'
].
join
(
'
\n
'
)
);
console
.
log
(
[
'
__ __
'
,
'
__/ __
\\
/ __
\\
__ ____ _____ _____
'
,
'
/ __/ /
\\
/ / /___
\\
/ ____
\\
/ _____
\\
/ _____
\\
'
,
'
\\
/_ __/ / _ / / __/ / __ / / __ /_ __ _____
'
,
'
/ / / / / / / / / / / / ___/ / ___/
\\
_
\\
/ __
\\
/ _____
\\
'
,
'
\\
/__/
\\
/__/
\\
/__/
\\
/__/
\\
/_____/
\\
/_____/
\\
/__/ / / / ___/
'
,
'
/ __/ /
\\
__
\\
'
,
'
\\
/____/
\\
/_____/
'
].
join
(
'
\n
'
)
);
</script>
</script>
</body>
</body>
</html>
docs/list.js
浏览文件 @
9ec395da
var
list
=
{
"
Manual
"
:
{
"
Getting Started
"
:
{
"
Creating a scene
"
:
"
manual/introduction/Creating-a-scene
"
,
"
Detecting WebGL and browser compatibility
"
:
"
manual/introduction/Detecting-WebGL-and-browser-compatibility
"
,
"
How to run things locally
"
:
"
manual/introduction/How-to-run-thing-locally
"
,
"
Drawing Lines
"
:
"
manual/introduction/Drawing-lines
"
,
"
Creating Text
"
:
"
manual/introduction/Creating-text
"
,
"
Migration Guide
"
:
"
manual/introduction/Migration-guide
"
,
"
Code Style Guide
"
:
"
manual/introduction/Code-style-guide
"
,
"
FAQ
"
:
"
manual/introduction/FAQ
"
,
"
Useful links
"
:
"
manual/introduction/Useful-links
"
},
"
Next Steps
"
:
{
"
How to update things
"
:
"
manual/introduction/How-to-update-things
"
,
"
Matrix transformations
"
:
"
manual/introduction/Matrix-transformations
"
,
"
Animation System
"
:
"
manual/introduction/Animation-system
"
},
"
Build Tools
"
:
{
"
Testing with NPM
"
:
"
manual/buildTools/Testing-with-NPM
"
}
},
"
Reference
"
:
{
"
Animation
"
:
{
"
AnimationAction
"
:
"
api/animation/AnimationAction
"
,
"
AnimationClip
"
:
"
api/animation/AnimationClip
"
,
"
AnimationMixer
"
:
"
api/animation/AnimationMixer
"
,
"
AnimationObjectGroup
"
:
"
api/animation/AnimationObjectGroup
"
,
"
AnimationUtils
"
:
"
api/animation/AnimationUtils
"
,
"
KeyframeTrack
"
:
"
api/animation/KeyframeTrack
"
,
"
PropertyBinding
"
:
"
api/animation/PropertyBinding
"
,
"
PropertyMixer
"
:
"
api/animation/PropertyMixer
"
},
"
Animation / Tracks
"
:
{
"
BooleanKeyframeTrack
"
:
"
api/animation/tracks/BooleanKeyframeTrack
"
,
"
ColorKeyframeTrack
"
:
"
api/animation/tracks/ColorKeyframeTrack
"
,
"
NumberKeyframeTrack
"
:
"
api/animation/tracks/NumberKeyframeTrack
"
,
"
QuaternionKeyframeTrack
"
:
"
api/animation/tracks/QuaternionKeyframeTrack
"
,
"
StringKeyframeTrack
"
:
"
api/animation/tracks/StringKeyframeTrack
"
,
"
VectorKeyframeTrack
"
:
"
api/animation/tracks/VectorKeyframeTrack
"
},
"
Audio
"
:
{
"
Audio
"
:
"
api/audio/Audio
"
,
"
AudioAnalyser
"
:
"
api/audio/AudioAnalyser
"
,
"
AudioContext
"
:
"
api/audio/AudioContext
"
,
"
AudioListener
"
:
"
api/audio/AudioListener
"
,
"
PositionalAudio
"
:
"
api/audio/PositionalAudio
"
},
"
Cameras
"
:
{
"
Camera
"
:
"
api/cameras/Camera
"
,
"
CubeCamera
"
:
"
api/cameras/CubeCamera
"
,
"
OrthographicCamera
"
:
"
api/cameras/OrthographicCamera
"
,
"
PerspectiveCamera
"
:
"
api/cameras/PerspectiveCamera
"
,
"
StereoCamera
"
:
"
api/cameras/StereoCamera
"
},
"
Constants
"
:
{
"
Animation
"
:
"
api/constants/Animation
"
,
"
Core
"
:
"
api/constants/Core
"
,
"
CustomBlendingEquation
"
:
"
api/constants/CustomBlendingEquations
"
,
"
DrawModes
"
:
"
api/constants/DrawModes
"
,
"
Materials
"
:
"
api/constants/Materials
"
,
"
Renderer
"
:
"
api/constants/Renderer
"
,
"
Textures
"
:
"
api/constants/Textures
"
},
"
Core
"
:
{
"
BufferAttribute
"
:
"
api/core/BufferAttribute
"
,
"
BufferGeometry
"
:
"
api/core/BufferGeometry
"
,
"
Clock
"
:
"
api/core/Clock
"
,
"
DirectGeometry
"
:
"
api/core/DirectGeometry
"
,
"
EventDispatcher
"
:
"
api/core/EventDispatcher
"
,
"
Face3
"
:
"
api/core/Face3
"
,
"
Geometry
"
:
"
api/core/Geometry
"
,
"
InstancedBufferAttribute
"
:
"
api/core/InstancedBufferAttribute
"
,
"
InstancedBufferGeometry
"
:
"
api/core/InstancedBufferGeometry
"
,
"
InstancedInterleavedBuffer
"
:
"
api/core/InstancedInterleavedBuffer
"
,
"
InterleavedBuffer
"
:
"
api/core/InterleavedBuffer
"
,
"
InterleavedBufferAttribute
"
:
"
api/core/InterleavedBufferAttribute
"
,
"
Layers
"
:
"
api/core/Layers
"
,
"
Object3D
"
:
"
api/core/Object3D
"
,
"
Raycaster
"
:
"
api/core/Raycaster
"
,
"
Uniform
"
:
"
api/core/Uniform
"
},
"
Core / BufferAttributes
"
:
{
"
BufferAttribute Types
"
:
"
api/core/bufferAttributeTypes/BufferAttributeTypes
"
},
"
Deprecated
"
:
{
"
DeprecatedList
"
:
"
api/deprecated/DeprecatedList
"
},
"
Extras
"
:
{
"
CurveUtils
"
:
"
api/extras/CurveUtils
"
,
"
SceneUtils
"
:
"
api/extras/SceneUtils
"
,
"
ShapeUtils
"
:
"
api/extras/ShapeUtils
"
},
"
Extras / Core
"
:
{
"
Curve
"
:
"
api/extras/core/Curve
"
,
"
CurvePath
"
:
"
api/extras/core/CurvePath
"
,
"
Font
"
:
"
api/extras/core/Font
"
,
"
Path
"
:
"
api/extras/core/Path
"
,
"
Shape
"
:
"
api/extras/core/Shape
"
,
"
ShapePath
"
:
"
api/extras/core/ShapePath
"
},
"
Extras / Curves
"
:
{
"
ArcCurve
"
:
"
api/extras/curves/ArcCurve
"
,
"
CatmullRomCurve3
"
:
"
api/extras/curves/CatmullRomCurve3
"
,
"
CubicBezierCurve
"
:
"
api/extras/curves/CubicBezierCurve
"
,
"
CubicBezierCurve3
"
:
"
api/extras/curves/CubicBezierCurve3
"
,
"
EllipseCurve
"
:
"
api/extras/curves/EllipseCurve
"
,
"
LineCurve
"
:
"
api/extras/curves/LineCurve
"
,
"
LineCurve3
"
:
"
api/extras/curves/LineCurve3
"
,
"
QuadraticBezierCurve
"
:
"
api/extras/curves/QuadraticBezierCurve
"
,
"
QuadraticBezierCurve3
"
:
"
api/extras/curves/QuadraticBezierCurve3
"
,
"
SplineCurve
"
:
"
api/extras/curves/SplineCurve
"
},
"
Extras / Objects
"
:
{
"
ImmediateRenderObject
"
:
"
api/extras/objects/ImmediateRenderObject
"
,
"
MorphBlendMesh
"
:
"
api/extras/objects/MorphBlendMesh
"
},
"
Geometries
"
:
{
"
BoxBufferGeometry
"
:
"
api/geometries/BoxBufferGeometry
"
,
"
BoxGeometry
"
:
"
api/geometries/BoxGeometry
"
,
"
CircleBufferGeometry
"
:
"
api/geometries/CircleBufferGeometry
"
,
"
CircleGeometry
"
:
"
api/geometries/CircleGeometry
"
,
"
ConeBufferGeometry
"
:
"
api/geometries/ConeBufferGeometry
"
,
"
ConeGeometry
"
:
"
api/geometries/ConeGeometry
"
,
"
CylinderBufferGeometry
"
:
"
api/geometries/CylinderBufferGeometry
"
,
"
CylinderGeometry
"
:
"
api/geometries/CylinderGeometry
"
,
"
DodecahedronBufferGeometry
"
:
"
api/geometries/DodecahedronBufferGeometry
"
,
"
DodecahedronGeometry
"
:
"
api/geometries/DodecahedronGeometry
"
,
"
EdgesGeometry
"
:
"
api/geometries/EdgesGeometry
"
,
"
ExtrudeGeometry
"
:
"
api/geometries/ExtrudeGeometry
"
,
"
ExtrudeBufferGeometry
"
:
"
api/geometries/ExtrudeBufferGeometry
"
,
"
IcosahedronBufferGeometry
"
:
"
api/geometries/IcosahedronBufferGeometry
"
,
"
IcosahedronGeometry
"
:
"
api/geometries/IcosahedronGeometry
"
,
"
LatheBufferGeometry
"
:
"
api/geometries/LatheBufferGeometry
"
,
"
LatheGeometry
"
:
"
api/geometries/LatheGeometry
"
,
"
OctahedronBufferGeometry
"
:
"
api/geometries/OctahedronBufferGeometry
"
,
"
OctahedronGeometry
"
:
"
api/geometries/OctahedronGeometry
"
,
"
ParametricBufferGeometry
"
:
"
api/geometries/ParametricBufferGeometry
"
,
"
ParametricGeometry
"
:
"
api/geometries/ParametricGeometry
"
,
"
PlaneBufferGeometry
"
:
"
api/geometries/PlaneBufferGeometry
"
,
"
PlaneGeometry
"
:
"
api/geometries/PlaneGeometry
"
,
"
PolyhedronBufferGeometry
"
:
"
api/geometries/PolyhedronBufferGeometry
"
,
"
PolyhedronGeometry
"
:
"
api/geometries/PolyhedronGeometry
"
,
"
RingBufferGeometry
"
:
"
api/geometries/RingBufferGeometry
"
,
"
RingGeometry
"
:
"
api/geometries/RingGeometry
"
,
"
ShapeBufferGeometry
"
:
"
api/geometries/ShapeBufferGeometry
"
,
"
ShapeGeometry
"
:
"
api/geometries/ShapeGeometry
"
,
"
SphereBufferGeometry
"
:
"
api/geometries/SphereBufferGeometry
"
,
"
SphereGeometry
"
:
"
api/geometries/SphereGeometry
"
,
"
TetrahedronBufferGeometry
"
:
"
api/geometries/TetrahedronBufferGeometry
"
,
"
TetrahedronGeometry
"
:
"
api/geometries/TetrahedronGeometry
"
,
"
TextGeometry
"
:
"
api/geometries/TextGeometry
"
,
"
TorusBufferGeometry
"
:
"
api/geometries/TorusBufferGeometry
"
,
"
TorusGeometry
"
:
"
api/geometries/TorusGeometry
"
,
"
TorusKnotBufferGeometry
"
:
"
api/geometries/TorusKnotBufferGeometry
"
,
"
TorusKnotGeometry
"
:
"
api/geometries/TorusKnotGeometry
"
,
"
TubeGeometry
"
:
"
api/geometries/TubeGeometry
"
,
"
TubeBufferGeometry
"
:
"
api/geometries/TubeBufferGeometry
"
,
"
WireframeGeometry
"
:
"
api/geometries/WireframeGeometry
"
},
"
Helpers
"
:
{
"
ArrowHelper
"
:
"
api/helpers/ArrowHelper
"
,
"
AxisHelper
"
:
"
api/helpers/AxisHelper
"
,
"
BoxHelper
"
:
"
api/helpers/BoxHelper
"
,
"
CameraHelper
"
:
"
api/helpers/CameraHelper
"
,
"
DirectionalLightHelper
"
:
"
api/helpers/DirectionalLightHelper
"
,
"
FaceNormalsHelper
"
:
"
api/helpers/FaceNormalsHelper
"
,
"
GridHelper
"
:
"
api/helpers/GridHelper
"
,
"
PolarGridHelper
"
:
"
api/helpers/PolarGridHelper
"
,
"
HemisphereLightHelper
"
:
"
api/helpers/HemisphereLightHelper
"
,
"
PointLightHelper
"
:
"
api/helpers/PointLightHelper
"
,
"
RectAreaLightHelper
"
:
"
api/helpers/RectAreaLightHelper
"
,
"
SkeletonHelper
"
:
"
api/helpers/SkeletonHelper
"
,
"
SpotLightHelper
"
:
"
api/helpers/SpotLightHelper
"
,
"
VertexNormalsHelper
"
:
"
api/helpers/VertexNormalsHelper
"
},
"
Lights
"
:
{
"
AmbientLight
"
:
"
api/lights/AmbientLight
"
,
"
DirectionalLight
"
:
"
api/lights/DirectionalLight
"
,
"
HemisphereLight
"
:
"
api/lights/HemisphereLight
"
,
"
Light
"
:
"
api/lights/Light
"
,
"
PointLight
"
:
"
api/lights/PointLight
"
,
"
RectAreaLight
"
:
"
api/lights/RectAreaLight
"
,
"
SpotLight
"
:
"
api/lights/SpotLight
"
},
"
Lights / Shadows
"
:
{
"
DirectionalLightShadow
"
:
"
api/lights/shadows/DirectionalLightShadow
"
,
"
LightShadow
"
:
"
api/lights/shadows/LightShadow
"
,
"
RectAreaLightShadow
"
:
"
api/lights/shadows/RectAreaLightShadow
"
,
"
SpotLightShadow
"
:
"
api/lights/shadows/SpotLightShadow
"
},
"
Loaders
"
:
{
"
AnimationLoader
"
:
"
api/loaders/AnimationLoader
"
,
"
AudioLoader
"
:
"
api/loaders/AudioLoader
"
,
"
BufferGeometryLoader
"
:
"
api/loaders/BufferGeometryLoader
"
,
"
Cache
"
:
"
api/loaders/Cache
"
,
"
CompressedTextureLoader
"
:
"
api/loaders/CompressedTextureLoader
"
,
"
CubeTextureLoader
"
:
"
api/loaders/CubeTextureLoader
"
,
"
DataTextureLoader
"
:
"
api/loaders/DataTextureLoader
"
,
"
FileLoader
"
:
"
api/loaders/FileLoader
"
,
"
FontLoader
"
:
"
api/loaders/FontLoader
"
,
"
ImageLoader
"
:
"
api/loaders/ImageLoader
"
,
"
JSONLoader
"
:
"
api/loaders/JSONLoader
"
,
"
Loader
"
:
"
api/loaders/Loader
"
,
"
MaterialLoader
"
:
"
api/loaders/MaterialLoader
"
,
"
ObjectLoader
"
:
"
api/loaders/ObjectLoader
"
,
"
TextureLoader
"
:
"
api/loaders/TextureLoader
"
},
"
Loaders / Managers
"
:
{
"
DefaultLoadingManager
"
:
"
api/loaders/managers/DefaultLoadingManager
"
,
"
LoadingManager
"
:
"
api/loaders/managers/LoadingManager
"
},
"
Materials
"
:
{
"
LineBasicMaterial
"
:
"
api/materials/LineBasicMaterial
"
,
"
LineDashedMaterial
"
:
"
api/materials/LineDashedMaterial
"
,
"
Material
"
:
"
api/materials/Material
"
,
"
MeshBasicMaterial
"
:
"
api/materials/MeshBasicMaterial
"
,
"
MeshDepthMaterial
"
:
"
api/materials/MeshDepthMaterial
"
,
"
MeshLambertMaterial
"
:
"
api/materials/MeshLambertMaterial
"
,
"
MeshNormalMaterial
"
:
"
api/materials/MeshNormalMaterial
"
,
"
MeshPhongMaterial
"
:
"
api/materials/MeshPhongMaterial
"
,
"
MeshPhysicalMaterial
"
:
"
api/materials/MeshPhysicalMaterial
"
,
"
MeshStandardMaterial
"
:
"
api/materials/MeshStandardMaterial
"
,
"
MeshToonMaterial
"
:
"
api/materials/MeshToonMaterial
"
,
"
PointsMaterial
"
:
"
api/materials/PointsMaterial
"
,
"
RawShaderMaterial
"
:
"
api/materials/RawShaderMaterial
"
,
"
ShaderMaterial
"
:
"
api/materials/ShaderMaterial
"
,
"
ShadowMaterial
"
:
"
api/materials/ShadowMaterial
"
,
"
SpriteMaterial
"
:
"
api/materials/SpriteMaterial
"
},
"
Math
"
:
{
"
Box2
"
:
"
api/math/Box2
"
,
"
Box3
"
:
"
api/math/Box3
"
,
"
Color
"
:
"
api/math/Color
"
,
"
Cylindrical
"
:
"
api/math/Cylindrical
"
,
"
Euler
"
:
"
api/math/Euler
"
,
"
Frustum
"
:
"
api/math/Frustum
"
,
"
Interpolant
"
:
"
api/math/Interpolant
"
,
"
Line3
"
:
"
api/math/Line3
"
,
"
Math
"
:
"
api/math/Math
"
,
"
Matrix3
"
:
"
api/math/Matrix3
"
,
"
Matrix4
"
:
"
api/math/Matrix4
"
,
"
Plane
"
:
"
api/math/Plane
"
,
"
Quaternion
"
:
"
api/math/Quaternion
"
,
"
Ray
"
:
"
api/math/Ray
"
,
"
Sphere
"
:
"
api/math/Sphere
"
,
"
Spherical
"
:
"
api/math/Spherical
"
,
"
Triangle
"
:
"
api/math/Triangle
"
,
"
Vector2
"
:
"
api/math/Vector2
"
,
"
Vector3
"
:
"
api/math/Vector3
"
,
"
Vector4
"
:
"
api/math/Vector4
"
},
"
Math / Interpolants
"
:
{
"
CubicInterpolant
"
:
"
api/math/interpolants/CubicInterpolant
"
,
"
DiscreteInterpolant
"
:
"
api/math/interpolants/DiscreteInterpolant
"
,
"
LinearInterpolant
"
:
"
api/math/interpolants/LinearInterpolant
"
,
"
QuaternionLinearInterpolant
"
:
"
api/math/interpolants/QuaternionLinearInterpolant
"
},
"
Objects
"
:
{
"
Bone
"
:
"
api/objects/Bone
"
,
"
Group
"
:
"
api/objects/Group
"
,
"
LensFlare
"
:
"
api/objects/LensFlare
"
,
"
Line
"
:
"
api/objects/Line
"
,
"
LineLoop
"
:
"
api/objects/LineLoop
"
,
"
LineSegments
"
:
"
api/objects/LineSegments
"
,
"
LOD
"
:
"
api/objects/LOD
"
,
"
Mesh
"
:
"
api/objects/Mesh
"
,
"
Points
"
:
"
api/objects/Points
"
,
"
Skeleton
"
:
"
api/objects/Skeleton
"
,
"
SkinnedMesh
"
:
"
api/objects/SkinnedMesh
"
,
"
Sprite
"
:
"
api/objects/Sprite
"
},
"
Renderers
"
:
{
"
WebGLRenderer
"
:
"
api/renderers/WebGLRenderer
"
,
"
WebGLRenderTarget
"
:
"
api/renderers/WebGLRenderTarget
"
,
"
WebGLRenderTargetCube
"
:
"
api/renderers/WebGLRenderTargetCube
"
},
"
Renderers / Shaders
"
:
{
"
ShaderChunk
"
:
"
api/renderers/shaders/ShaderChunk
"
,
"
ShaderLib
"
:
"
api/renderers/shaders/ShaderLib
"
,
"
UniformsLib
"
:
"
api/renderers/shaders/UniformsLib
"
,
"
UniformsUtils
"
:
"
api/renderers/shaders/UniformsUtils
"
},
"
Scenes
"
:
{
"
Fog
"
:
"
api/scenes/Fog
"
,
"
FogExp2
"
:
"
api/scenes/FogExp2
"
,
"
Scene
"
:
"
api/scenes/Scene
"
},
"
Textures
"
:
{
"
CanvasTexture
"
:
"
api/textures/CanvasTexture
"
,
"
CompressedTexture
"
:
"
api/textures/CompressedTexture
"
,
"
CubeTexture
"
:
"
api/textures/CubeTexture
"
,
"
DataTexture
"
:
"
api/textures/DataTexture
"
,
"
DepthTexture
"
:
"
api/textures/DepthTexture
"
,
"
Texture
"
:
"
api/textures/Texture
"
,
"
VideoTexture
"
:
"
api/textures/VideoTexture
"
}
},
"
Examples
"
:
{
"
Collada Animation
"
:
{
"
ColladaAnimation
"
:
"
examples/collada/Animation
"
,
"
AnimationHandler
"
:
"
examples/collada/AnimationHandler
"
,
"
KeyFrameAnimation
"
:
"
examples/collada/KeyFrameAnimation
"
},
"
Geometries
"
:
{
"
ConvexBufferGeometry
"
:
"
examples/geometries/ConvexBufferGeometry
"
,
"
ConvexGeometry
"
:
"
examples/geometries/ConvexGeometry
"
},
"
Loaders
"
:
{
"
BabylonLoader
"
:
"
examples/loaders/BabylonLoader
"
,
"
ColladaLoader
"
:
"
examples/loaders/ColladaLoader
"
,
"
GLTF2Loader
"
:
"
examples/loaders/GLTF2Loader
"
,
"
MTLLoader
"
:
"
examples/loaders/MTLLoader
"
,
"
OBJLoader
"
:
"
examples/loaders/OBJLoader
"
,
"
PCDLoader
"
:
"
examples/loaders/PCDLoader
"
,
"
PDBLoader
"
:
"
examples/loaders/PDBLoader
"
,
"
SVGLoader
"
:
"
examples/loaders/SVGLoader
"
,
"
TGALoader
"
:
"
examples/loaders/TGALoader
"
},
"
Plugins
"
:
{
"
CombinedCamera
"
:
"
examples/cameras/CombinedCamera
"
,
"
LookupTable
"
:
"
examples/Lut
"
,
"
SpriteCanvasMaterial
"
:
"
examples/SpriteCanvasMaterial
"
},
"
QuickHull
"
:
{
"
Face
"
:
"
examples/quickhull/Face
"
,
"
HalfEdge
"
:
"
examples/quickhull/HalfEdge
"
,
"
QuickHull
"
:
"
examples/quickhull/QuickHull
"
,
"
VertexNode
"
:
"
examples/quickhull/VertexNode
"
,
"
VertexList
"
:
"
examples/quickhull/VertexList
"
},
"
Renderers
"
:
{
"
CanvasRenderer
"
:
"
examples/renderers/CanvasRenderer
"
}
},
"
Developer Reference
"
:
{
"
Polyfills
"
:
{
"
Polyfills
"
:
"
api/Polyfills
"
},
"
WebGLRenderer
"
:
{
"
WebGLProgram
"
:
"
api/renderers/webgl/WebGLProgram
"
,
"
WebGLShader
"
:
"
api/renderers/webgl/WebGLShader
"
,
"
WebGLState
"
:
"
api/renderers/webgl/WebGLState
"
},
"
WebGLRenderer / Plugins
"
:
{
"
LensFlarePlugin
"
:
"
api/renderers/webgl/plugins/LensFlarePlugin
"
,
"
SpritePlugin
"
:
"
api/renderers/webgl/plugins/SpritePlugin
"
}
}
"
Manual
"
:
{
"
Getting Started
"
:
{
"
Creating a scene
"
:
"
manual/introduction/Creating-a-scene
"
,
"
Detecting WebGL and browser compatibility
"
:
"
manual/introduction/Detecting-WebGL-and-browser-compatibility
"
,
"
How to run things locally
"
:
"
manual/introduction/How-to-run-thing-locally
"
,
"
Drawing Lines
"
:
"
manual/introduction/Drawing-lines
"
,
"
Creating Text
"
:
"
manual/introduction/Creating-text
"
,
"
Migration Guide
"
:
"
manual/introduction/Migration-guide
"
,
"
Code Style Guide
"
:
"
manual/introduction/Code-style-guide
"
,
"
FAQ
"
:
"
manual/introduction/FAQ
"
,
"
Useful links
"
:
"
manual/introduction/Useful-links
"
},
"
Next Steps
"
:
{
"
How to update things
"
:
"
manual/introduction/How-to-update-things
"
,
"
Matrix transformations
"
:
"
manual/introduction/Matrix-transformations
"
,
"
Animation System
"
:
"
manual/introduction/Animation-system
"
},
"
Build Tools
"
:
{
"
Testing with NPM
"
:
"
manual/buildTools/Testing-with-NPM
"
}
},
"
Reference
"
:
{
"
Animation
"
:
{
"
AnimationAction
"
:
"
api/animation/AnimationAction
"
,
"
AnimationClip
"
:
"
api/animation/AnimationClip
"
,
"
AnimationMixer
"
:
"
api/animation/AnimationMixer
"
,
"
AnimationObjectGroup
"
:
"
api/animation/AnimationObjectGroup
"
,
"
AnimationUtils
"
:
"
api/animation/AnimationUtils
"
,
"
KeyframeTrack
"
:
"
api/animation/KeyframeTrack
"
,
"
PropertyBinding
"
:
"
api/animation/PropertyBinding
"
,
"
PropertyMixer
"
:
"
api/animation/PropertyMixer
"
},
"
Animation / Tracks
"
:
{
"
BooleanKeyframeTrack
"
:
"
api/animation/tracks/BooleanKeyframeTrack
"
,
"
ColorKeyframeTrack
"
:
"
api/animation/tracks/ColorKeyframeTrack
"
,
"
NumberKeyframeTrack
"
:
"
api/animation/tracks/NumberKeyframeTrack
"
,
"
QuaternionKeyframeTrack
"
:
"
api/animation/tracks/QuaternionKeyframeTrack
"
,
"
StringKeyframeTrack
"
:
"
api/animation/tracks/StringKeyframeTrack
"
,
"
VectorKeyframeTrack
"
:
"
api/animation/tracks/VectorKeyframeTrack
"
},
"
Audio
"
:
{
"
Audio
"
:
"
api/audio/Audio
"
,
"
AudioAnalyser
"
:
"
api/audio/AudioAnalyser
"
,
"
AudioContext
"
:
"
api/audio/AudioContext
"
,
"
AudioListener
"
:
"
api/audio/AudioListener
"
,
"
PositionalAudio
"
:
"
api/audio/PositionalAudio
"
},
"
Cameras
"
:
{
"
Camera
"
:
"
api/cameras/Camera
"
,
"
CubeCamera
"
:
"
api/cameras/CubeCamera
"
,
"
OrthographicCamera
"
:
"
api/cameras/OrthographicCamera
"
,
"
PerspectiveCamera
"
:
"
api/cameras/PerspectiveCamera
"
,
"
StereoCamera
"
:
"
api/cameras/StereoCamera
"
},
"
Constants
"
:
{
"
Animation
"
:
"
api/constants/Animation
"
,
"
Core
"
:
"
api/constants/Core
"
,
"
CustomBlendingEquation
"
:
"
api/constants/CustomBlendingEquations
"
,
"
DrawModes
"
:
"
api/constants/DrawModes
"
,
"
Materials
"
:
"
api/constants/Materials
"
,
"
Renderer
"
:
"
api/constants/Renderer
"
,
"
Textures
"
:
"
api/constants/Textures
"
},
"
Core
"
:
{
"
BufferAttribute
"
:
"
api/core/BufferAttribute
"
,
"
BufferGeometry
"
:
"
api/core/BufferGeometry
"
,
"
Clock
"
:
"
api/core/Clock
"
,
"
DirectGeometry
"
:
"
api/core/DirectGeometry
"
,
"
EventDispatcher
"
:
"
api/core/EventDispatcher
"
,
"
Face3
"
:
"
api/core/Face3
"
,
"
Geometry
"
:
"
api/core/Geometry
"
,
"
InstancedBufferAttribute
"
:
"
api/core/InstancedBufferAttribute
"
,
"
InstancedBufferGeometry
"
:
"
api/core/InstancedBufferGeometry
"
,
"
InstancedInterleavedBuffer
"
:
"
api/core/InstancedInterleavedBuffer
"
,
"
InterleavedBuffer
"
:
"
api/core/InterleavedBuffer
"
,
"
InterleavedBufferAttribute
"
:
"
api/core/InterleavedBufferAttribute
"
,
"
Layers
"
:
"
api/core/Layers
"
,
"
Object3D
"
:
"
api/core/Object3D
"
,
"
Raycaster
"
:
"
api/core/Raycaster
"
,
"
Uniform
"
:
"
api/core/Uniform
"
},
"
Core / BufferAttributes
"
:
{
"
BufferAttribute Types
"
:
"
api/core/bufferAttributeTypes/BufferAttributeTypes
"
},
"
Deprecated
"
:
{
"
DeprecatedList
"
:
"
api/deprecated/DeprecatedList
"
},
"
Extras
"
:
{
"
CurveUtils
"
:
"
api/extras/CurveUtils
"
,
"
SceneUtils
"
:
"
api/extras/SceneUtils
"
,
"
ShapeUtils
"
:
"
api/extras/ShapeUtils
"
},
"
Extras / Core
"
:
{
"
Curve
"
:
"
api/extras/core/Curve
"
,
"
CurvePath
"
:
"
api/extras/core/CurvePath
"
,
"
Font
"
:
"
api/extras/core/Font
"
,
"
Path
"
:
"
api/extras/core/Path
"
,
"
Shape
"
:
"
api/extras/core/Shape
"
,
"
ShapePath
"
:
"
api/extras/core/ShapePath
"
},
"
Extras / Curves
"
:
{
"
ArcCurve
"
:
"
api/extras/curves/ArcCurve
"
,
"
CatmullRomCurve3
"
:
"
api/extras/curves/CatmullRomCurve3
"
,
"
CubicBezierCurve
"
:
"
api/extras/curves/CubicBezierCurve
"
,
"
CubicBezierCurve3
"
:
"
api/extras/curves/CubicBezierCurve3
"
,
"
EllipseCurve
"
:
"
api/extras/curves/EllipseCurve
"
,
"
LineCurve
"
:
"
api/extras/curves/LineCurve
"
,
"
LineCurve3
"
:
"
api/extras/curves/LineCurve3
"
,
"
QuadraticBezierCurve
"
:
"
api/extras/curves/QuadraticBezierCurve
"
,
"
QuadraticBezierCurve3
"
:
"
api/extras/curves/QuadraticBezierCurve3
"
,
"
SplineCurve
"
:
"
api/extras/curves/SplineCurve
"
},
"
Extras / Objects
"
:
{
"
ImmediateRenderObject
"
:
"
api/extras/objects/ImmediateRenderObject
"
,
"
MorphBlendMesh
"
:
"
api/extras/objects/MorphBlendMesh
"
},
"
Geometries
"
:
{
"
BoxBufferGeometry
"
:
"
api/geometries/BoxBufferGeometry
"
,
"
BoxGeometry
"
:
"
api/geometries/BoxGeometry
"
,
"
CircleBufferGeometry
"
:
"
api/geometries/CircleBufferGeometry
"
,
"
CircleGeometry
"
:
"
api/geometries/CircleGeometry
"
,
"
ConeBufferGeometry
"
:
"
api/geometries/ConeBufferGeometry
"
,
"
ConeGeometry
"
:
"
api/geometries/ConeGeometry
"
,
"
CylinderBufferGeometry
"
:
"
api/geometries/CylinderBufferGeometry
"
,
"
CylinderGeometry
"
:
"
api/geometries/CylinderGeometry
"
,
"
DodecahedronBufferGeometry
"
:
"
api/geometries/DodecahedronBufferGeometry
"
,
"
DodecahedronGeometry
"
:
"
api/geometries/DodecahedronGeometry
"
,
"
EdgesGeometry
"
:
"
api/geometries/EdgesGeometry
"
,
"
ExtrudeGeometry
"
:
"
api/geometries/ExtrudeGeometry
"
,
"
ExtrudeBufferGeometry
"
:
"
api/geometries/ExtrudeBufferGeometry
"
,
"
IcosahedronBufferGeometry
"
:
"
api/geometries/IcosahedronBufferGeometry
"
,
"
IcosahedronGeometry
"
:
"
api/geometries/IcosahedronGeometry
"
,
"
LatheBufferGeometry
"
:
"
api/geometries/LatheBufferGeometry
"
,
"
LatheGeometry
"
:
"
api/geometries/LatheGeometry
"
,
"
OctahedronBufferGeometry
"
:
"
api/geometries/OctahedronBufferGeometry
"
,
"
OctahedronGeometry
"
:
"
api/geometries/OctahedronGeometry
"
,
"
ParametricBufferGeometry
"
:
"
api/geometries/ParametricBufferGeometry
"
,
"
ParametricGeometry
"
:
"
api/geometries/ParametricGeometry
"
,
"
PlaneBufferGeometry
"
:
"
api/geometries/PlaneBufferGeometry
"
,
"
PlaneGeometry
"
:
"
api/geometries/PlaneGeometry
"
,
"
PolyhedronBufferGeometry
"
:
"
api/geometries/PolyhedronBufferGeometry
"
,
"
PolyhedronGeometry
"
:
"
api/geometries/PolyhedronGeometry
"
,
"
RingBufferGeometry
"
:
"
api/geometries/RingBufferGeometry
"
,
"
RingGeometry
"
:
"
api/geometries/RingGeometry
"
,
"
ShapeBufferGeometry
"
:
"
api/geometries/ShapeBufferGeometry
"
,
"
ShapeGeometry
"
:
"
api/geometries/ShapeGeometry
"
,
"
SphereBufferGeometry
"
:
"
api/geometries/SphereBufferGeometry
"
,
"
SphereGeometry
"
:
"
api/geometries/SphereGeometry
"
,
"
TetrahedronBufferGeometry
"
:
"
api/geometries/TetrahedronBufferGeometry
"
,
"
TetrahedronGeometry
"
:
"
api/geometries/TetrahedronGeometry
"
,
"
TextGeometry
"
:
"
api/geometries/TextGeometry
"
,
"
TorusBufferGeometry
"
:
"
api/geometries/TorusBufferGeometry
"
,
"
TorusGeometry
"
:
"
api/geometries/TorusGeometry
"
,
"
TorusKnotBufferGeometry
"
:
"
api/geometries/TorusKnotBufferGeometry
"
,
"
TorusKnotGeometry
"
:
"
api/geometries/TorusKnotGeometry
"
,
"
TubeGeometry
"
:
"
api/geometries/TubeGeometry
"
,
"
TubeBufferGeometry
"
:
"
api/geometries/TubeBufferGeometry
"
,
"
WireframeGeometry
"
:
"
api/geometries/WireframeGeometry
"
},
"
Helpers
"
:
{
"
ArrowHelper
"
:
"
api/helpers/ArrowHelper
"
,
"
AxisHelper
"
:
"
api/helpers/AxisHelper
"
,
"
BoxHelper
"
:
"
api/helpers/BoxHelper
"
,
"
CameraHelper
"
:
"
api/helpers/CameraHelper
"
,
"
DirectionalLightHelper
"
:
"
api/helpers/DirectionalLightHelper
"
,
"
FaceNormalsHelper
"
:
"
api/helpers/FaceNormalsHelper
"
,
"
GridHelper
"
:
"
api/helpers/GridHelper
"
,
"
PolarGridHelper
"
:
"
api/helpers/PolarGridHelper
"
,
"
HemisphereLightHelper
"
:
"
api/helpers/HemisphereLightHelper
"
,
"
PointLightHelper
"
:
"
api/helpers/PointLightHelper
"
,
"
RectAreaLightHelper
"
:
"
api/helpers/RectAreaLightHelper
"
,
"
SkeletonHelper
"
:
"
api/helpers/SkeletonHelper
"
,
"
SpotLightHelper
"
:
"
api/helpers/SpotLightHelper
"
,
"
VertexNormalsHelper
"
:
"
api/helpers/VertexNormalsHelper
"
},
"
Lights
"
:
{
"
AmbientLight
"
:
"
api/lights/AmbientLight
"
,
"
DirectionalLight
"
:
"
api/lights/DirectionalLight
"
,
"
HemisphereLight
"
:
"
api/lights/HemisphereLight
"
,
"
Light
"
:
"
api/lights/Light
"
,
"
PointLight
"
:
"
api/lights/PointLight
"
,
"
RectAreaLight
"
:
"
api/lights/RectAreaLight
"
,
"
SpotLight
"
:
"
api/lights/SpotLight
"
},
"
Lights / Shadows
"
:
{
"
DirectionalLightShadow
"
:
"
api/lights/shadows/DirectionalLightShadow
"
,
"
LightShadow
"
:
"
api/lights/shadows/LightShadow
"
,
"
RectAreaLightShadow
"
:
"
api/lights/shadows/RectAreaLightShadow
"
,
"
SpotLightShadow
"
:
"
api/lights/shadows/SpotLightShadow
"
},
"
Loaders
"
:
{
"
AnimationLoader
"
:
"
api/loaders/AnimationLoader
"
,
"
AudioLoader
"
:
"
api/loaders/AudioLoader
"
,
"
BufferGeometryLoader
"
:
"
api/loaders/BufferGeometryLoader
"
,
"
Cache
"
:
"
api/loaders/Cache
"
,
"
CompressedTextureLoader
"
:
"
api/loaders/CompressedTextureLoader
"
,
"
CubeTextureLoader
"
:
"
api/loaders/CubeTextureLoader
"
,
"
DataTextureLoader
"
:
"
api/loaders/DataTextureLoader
"
,
"
FileLoader
"
:
"
api/loaders/FileLoader
"
,
"
FontLoader
"
:
"
api/loaders/FontLoader
"
,
"
ImageLoader
"
:
"
api/loaders/ImageLoader
"
,
"
JSONLoader
"
:
"
api/loaders/JSONLoader
"
,
"
Loader
"
:
"
api/loaders/Loader
"
,
"
MaterialLoader
"
:
"
api/loaders/MaterialLoader
"
,
"
ObjectLoader
"
:
"
api/loaders/ObjectLoader
"
,
"
TextureLoader
"
:
"
api/loaders/TextureLoader
"
},
"
Loaders / Managers
"
:
{
"
DefaultLoadingManager
"
:
"
api/loaders/managers/DefaultLoadingManager
"
,
"
LoadingManager
"
:
"
api/loaders/managers/LoadingManager
"
},
"
Materials
"
:
{
"
LineBasicMaterial
"
:
"
api/materials/LineBasicMaterial
"
,
"
LineDashedMaterial
"
:
"
api/materials/LineDashedMaterial
"
,
"
Material
"
:
"
api/materials/Material
"
,
"
MeshBasicMaterial
"
:
"
api/materials/MeshBasicMaterial
"
,
"
MeshDepthMaterial
"
:
"
api/materials/MeshDepthMaterial
"
,
"
MeshLambertMaterial
"
:
"
api/materials/MeshLambertMaterial
"
,
"
MeshNormalMaterial
"
:
"
api/materials/MeshNormalMaterial
"
,
"
MeshPhongMaterial
"
:
"
api/materials/MeshPhongMaterial
"
,
"
MeshPhysicalMaterial
"
:
"
api/materials/MeshPhysicalMaterial
"
,
"
MeshStandardMaterial
"
:
"
api/materials/MeshStandardMaterial
"
,
"
MeshToonMaterial
"
:
"
api/materials/MeshToonMaterial
"
,
"
PointsMaterial
"
:
"
api/materials/PointsMaterial
"
,
"
RawShaderMaterial
"
:
"
api/materials/RawShaderMaterial
"
,
"
ShaderMaterial
"
:
"
api/materials/ShaderMaterial
"
,
"
ShadowMaterial
"
:
"
api/materials/ShadowMaterial
"
,
"
SpriteMaterial
"
:
"
api/materials/SpriteMaterial
"
},
"
Math
"
:
{
"
Box2
"
:
"
api/math/Box2
"
,
"
Box3
"
:
"
api/math/Box3
"
,
"
Color
"
:
"
api/math/Color
"
,
"
Cylindrical
"
:
"
api/math/Cylindrical
"
,
"
Euler
"
:
"
api/math/Euler
"
,
"
Frustum
"
:
"
api/math/Frustum
"
,
"
Interpolant
"
:
"
api/math/Interpolant
"
,
"
Line3
"
:
"
api/math/Line3
"
,
"
Math
"
:
"
api/math/Math
"
,
"
Matrix3
"
:
"
api/math/Matrix3
"
,
"
Matrix4
"
:
"
api/math/Matrix4
"
,
"
Plane
"
:
"
api/math/Plane
"
,
"
Quaternion
"
:
"
api/math/Quaternion
"
,
"
Ray
"
:
"
api/math/Ray
"
,
"
Sphere
"
:
"
api/math/Sphere
"
,
"
Spherical
"
:
"
api/math/Spherical
"
,
"
Triangle
"
:
"
api/math/Triangle
"
,
"
Vector2
"
:
"
api/math/Vector2
"
,
"
Vector3
"
:
"
api/math/Vector3
"
,
"
Vector4
"
:
"
api/math/Vector4
"
},
"
Math / Interpolants
"
:
{
"
CubicInterpolant
"
:
"
api/math/interpolants/CubicInterpolant
"
,
"
DiscreteInterpolant
"
:
"
api/math/interpolants/DiscreteInterpolant
"
,
"
LinearInterpolant
"
:
"
api/math/interpolants/LinearInterpolant
"
,
"
QuaternionLinearInterpolant
"
:
"
api/math/interpolants/QuaternionLinearInterpolant
"
},
"
Objects
"
:
{
"
Bone
"
:
"
api/objects/Bone
"
,
"
Group
"
:
"
api/objects/Group
"
,
"
LensFlare
"
:
"
api/objects/LensFlare
"
,
"
Line
"
:
"
api/objects/Line
"
,
"
LineLoop
"
:
"
api/objects/LineLoop
"
,
"
LineSegments
"
:
"
api/objects/LineSegments
"
,
"
LOD
"
:
"
api/objects/LOD
"
,
"
Mesh
"
:
"
api/objects/Mesh
"
,
"
Points
"
:
"
api/objects/Points
"
,
"
Skeleton
"
:
"
api/objects/Skeleton
"
,
"
SkinnedMesh
"
:
"
api/objects/SkinnedMesh
"
,
"
Sprite
"
:
"
api/objects/Sprite
"
},
"
Renderers
"
:
{
"
WebGLRenderer
"
:
"
api/renderers/WebGLRenderer
"
,
"
WebGLRenderTarget
"
:
"
api/renderers/WebGLRenderTarget
"
,
"
WebGLRenderTargetCube
"
:
"
api/renderers/WebGLRenderTargetCube
"
},
"
Renderers / Shaders
"
:
{
"
ShaderChunk
"
:
"
api/renderers/shaders/ShaderChunk
"
,
"
ShaderLib
"
:
"
api/renderers/shaders/ShaderLib
"
,
"
UniformsLib
"
:
"
api/renderers/shaders/UniformsLib
"
,
"
UniformsUtils
"
:
"
api/renderers/shaders/UniformsUtils
"
},
"
Scenes
"
:
{
"
Fog
"
:
"
api/scenes/Fog
"
,
"
FogExp2
"
:
"
api/scenes/FogExp2
"
,
"
Scene
"
:
"
api/scenes/Scene
"
},
"
Textures
"
:
{
"
CanvasTexture
"
:
"
api/textures/CanvasTexture
"
,
"
CompressedTexture
"
:
"
api/textures/CompressedTexture
"
,
"
CubeTexture
"
:
"
api/textures/CubeTexture
"
,
"
DataTexture
"
:
"
api/textures/DataTexture
"
,
"
DepthTexture
"
:
"
api/textures/DepthTexture
"
,
"
Texture
"
:
"
api/textures/Texture
"
,
"
VideoTexture
"
:
"
api/textures/VideoTexture
"
}
},
"
Examples
"
:
{
"
Collada Animation
"
:
{
"
ColladaAnimation
"
:
"
examples/collada/Animation
"
,
"
AnimationHandler
"
:
"
examples/collada/AnimationHandler
"
,
"
KeyFrameAnimation
"
:
"
examples/collada/KeyFrameAnimation
"
},
"
Geometries
"
:
{
"
ConvexBufferGeometry
"
:
"
examples/geometries/ConvexBufferGeometry
"
,
"
ConvexGeometry
"
:
"
examples/geometries/ConvexGeometry
"
},
"
Loaders
"
:
{
"
BabylonLoader
"
:
"
examples/loaders/BabylonLoader
"
,
"
ColladaLoader
"
:
"
examples/loaders/ColladaLoader
"
,
"
GLTF2Loader
"
:
"
examples/loaders/GLTF2Loader
"
,
"
MTLLoader
"
:
"
examples/loaders/MTLLoader
"
,
"
OBJLoader
"
:
"
examples/loaders/OBJLoader
"
,
"
PCDLoader
"
:
"
examples/loaders/PCDLoader
"
,
"
PDBLoader
"
:
"
examples/loaders/PDBLoader
"
,
"
SVGLoader
"
:
"
examples/loaders/SVGLoader
"
,
"
TGALoader
"
:
"
examples/loaders/TGALoader
"
},
"
Plugins
"
:
{
"
CombinedCamera
"
:
"
examples/cameras/CombinedCamera
"
,
"
LookupTable
"
:
"
examples/Lut
"
,
"
SpriteCanvasMaterial
"
:
"
examples/SpriteCanvasMaterial
"
},
"
QuickHull
"
:
{
"
Face
"
:
"
examples/quickhull/Face
"
,
"
HalfEdge
"
:
"
examples/quickhull/HalfEdge
"
,
"
QuickHull
"
:
"
examples/quickhull/QuickHull
"
,
"
VertexNode
"
:
"
examples/quickhull/VertexNode
"
,
"
VertexList
"
:
"
examples/quickhull/VertexList
"
},
"
Renderers
"
:
{
"
CanvasRenderer
"
:
"
examples/renderers/CanvasRenderer
"
}
},
"
Developer Reference
"
:
{
"
Polyfills
"
:
{
"
Polyfills
"
:
"
api/Polyfills
"
},
"
WebGLRenderer
"
:
{
"
WebGLProgram
"
:
"
api/renderers/webgl/WebGLProgram
"
,
"
WebGLShader
"
:
"
api/renderers/webgl/WebGLShader
"
,
"
WebGLState
"
:
"
api/renderers/webgl/WebGLState
"
},
"
WebGLRenderer / Plugins
"
:
{
"
LensFlarePlugin
"
:
"
api/renderers/webgl/plugins/LensFlarePlugin
"
,
"
SpritePlugin
"
:
"
api/renderers/webgl/plugins/SpritePlugin
"
}
}
}
docs/page.css
浏览文件 @
9ec395da
...
...
@@ -17,8 +17,8 @@ body {
a
{
color
:
#1184CE
;
cursor
:
pointer
;
text-decoration
:
underline
;
cursor
:
pointer
;
text-decoration
:
underline
;
}
h1
{
...
...
@@ -107,8 +107,8 @@ strong {
}
#button
:hover
{
cursor
:
pointer
;
opacity
:
1
;
cursor
:
pointer
;
opacity
:
1
;
}
a
.permalink
{
...
...
docs/page.js
浏览文件 @
9ec395da
if
(
!
window
.
frameElement
)
{
// If the page is not yet displayed as an iframe of the index page (navigation panel/working links),
// redirect to the index page (using the current URL without extension as the new fragment).
// If this URL itself has a fragment, append it with a dot (since '#' in an URL fragment is not allowed).
// If the page is not yet displayed as an iframe of the index page (navigation panel/working links),
// redirect to the index page (using the current URL without extension as the new fragment).
// If this URL itself has a fragment, append it with a dot (since '#' in an URL fragment is not allowed).
var
href
=
window
.
location
.
href
;
var
splitIndex
=
href
.
lastIndexOf
(
'
/docs/
'
)
+
6
;
var
docsBaseURL
=
href
.
substr
(
0
,
splitIndex
);
var
href
=
window
.
location
.
href
;
var
splitIndex
=
href
.
lastIndexOf
(
'
/docs/
'
)
+
6
;
var
docsBaseURL
=
href
.
substr
(
0
,
splitIndex
);
var
hash
=
window
.
location
.
hash
;
var
hash
=
window
.
location
.
hash
;
if
(
hash
!==
''
)
{
if
(
hash
!==
''
)
{
href
=
href
.
replace
(
hash
,
''
);
hash
=
hash
.
replace
(
'
#
'
,
'
.
'
);
href
=
href
.
replace
(
hash
,
''
);
hash
=
hash
.
replace
(
'
#
'
,
'
.
'
);
}
}
var
pathSnippet
=
href
.
slice
(
splitIndex
,
-
5
);
var
pathSnippet
=
href
.
slice
(
splitIndex
,
-
5
);
window
.
location
.
replace
(
docsBaseURL
+
'
#
'
+
pathSnippet
+
hash
);
window
.
location
.
replace
(
docsBaseURL
+
'
#
'
+
pathSnippet
+
hash
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录