Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
146 commits
Select commit Hold shift + click to select a range
97b701e
add
HypnosNova Nov 30, 2016
5a30331
Create README.md
HypnosNova Nov 30, 2016
e423058
Update README.md
HypnosNova Nov 30, 2016
bd43f74
Update README.md
HypnosNova Nov 30, 2016
b649de3
Update README.md
HypnosNova Nov 30, 2016
640c2d4
Update README.md
HypnosNova Nov 30, 2016
3bf6951
Update README.md
HypnosNova Nov 30, 2016
eecc2cc
Update README.md
HypnosNova Nov 30, 2016
48f0823
add
HypnosNova Dec 17, 2016
61c884d
add
HypnosNova Dec 27, 2016
643713e
调整角度
HypnosNova Dec 28, 2016
0ae04ee
add
HypnosNova Jan 1, 2017
067fd59
Update README.md
HypnosNova Jan 1, 2017
a065aa0
add
HypnosNova Jan 2, 2017
d79a20c
add
HypnosNova Jan 24, 2017
608620d
add
HypnosNova Feb 8, 2017
21c06a3
Update README.md
HypnosNova Feb 8, 2017
c1db890
add
HypnosNova Feb 26, 2017
7a11ba5
add
HypnosNova Mar 5, 2017
5f67b7c
add
HypnosNova Mar 5, 2017
d05ca19
add
HypnosNova Mar 7, 2017
7d3b4c1
add
HypnosNova Apr 4, 2017
e32fb42
add
HypnosNova Apr 4, 2017
006941f
add
HypnosNova May 13, 2017
d5cf124
add
HypnosNova May 14, 2017
8533838
add
HypnosNova Jun 13, 2017
b6c6ac9
add
HypnosNova Jun 15, 2017
7a266b9
add
HypnosNova Jun 15, 2017
e80f762
add
HypnosNova Jun 15, 2017
c817b7b
add
HypnosNova Jun 15, 2017
5a1d411
add
HypnosNova Jun 15, 2017
1d4201d
add
HypnosNova Jun 15, 2017
4159abb
add
HypnosNova Jun 15, 2017
4ef9c2b
add
HypnosNova Jun 15, 2017
b8c8216
ADD
HypnosNova Jun 16, 2017
7499bff
修改过渡demo
HypnosNova Jun 16, 2017
9e20155
整理代码
HypnosNova Jun 16, 2017
27e8408
整理代码
HypnosNova Jun 16, 2017
ed7dc3a
规范代码
HypnosNova Jun 16, 2017
434f9ec
修改
HypnosNova Jun 16, 2017
9e33b67
整理代码
HypnosNova Jun 17, 2017
797164a
修改bug
HypnosNova Jun 17, 2017
0702229
文字居中
HypnosNova Jun 17, 2017
a09681a
整理代码
HypnosNova Jun 17, 2017
0f61286
test
HypnosNova Jun 17, 2017
2e60e72
test
HypnosNova Jun 17, 2017
c8ad230
test
HypnosNova Jun 17, 2017
3274afe
优化代码
HypnosNova Jun 17, 2017
80aae7f
整理代码
HypnosNova Jun 17, 2017
70aa90c
整理代码
HypnosNova Jun 17, 2017
1a76fcd
整理代码
HypnosNova Jun 17, 2017
bc15f50
add model
HypnosNova Jun 17, 2017
aa76392
add
HypnosNova Jun 17, 2017
14edd41
add
HypnosNova Jun 17, 2017
c192cb6
add
HypnosNova Jun 19, 2017
c3fca05
add
HypnosNova Jun 20, 2017
3a8e915
add
HypnosNova Jun 21, 2017
2113470
整理代码,部分重构
HypnosNova Jun 24, 2017
694e6cd
add
HypnosNova Jun 26, 2017
ab916e7
api一些变更后的demo的bug修复
HypnosNova Jun 29, 2017
7ef10d6
整理代码
HypnosNova Jul 10, 2017
492fb04
修复BUG
HypnosNova Jul 10, 2017
15433ed
细微调整
HypnosNova Jul 18, 2017
41cd06d
添加场景物体坐标映射到canvas坐标
HypnosNova Jul 23, 2017
8b61124
修复部分bug,并进行性能优化
HypnosNova Aug 5, 2017
2d998ef
add
HypnosNova Aug 25, 2017
2436d4a
add
HypnosNova Aug 28, 2017
cc9bce9
add
HypnosNova Sep 3, 2017
3b15719
add
HypnosNova Sep 6, 2017
02b6af7
add
HypnosNova Sep 10, 2017
ecc6cd5
add
HypnosNova Sep 14, 2017
7c5f6f7
add
HypnosNova Sep 14, 2017
d999ad6
add
HypnosNova Sep 14, 2017
6e1c2fc
api变动进行调整
HypnosNova Sep 14, 2017
a98f6b3
重构
HypnosNova Sep 14, 2017
fe5e4b0
重构
HypnosNova Sep 14, 2017
5f2c956
add
HypnosNova Sep 14, 2017
5f5ee1a
整理项目
HypnosNova Sep 16, 2017
55a5c03
add
HypnosNova Sep 16, 2017
f594cf8
add
HypnosNova Sep 16, 2017
9de4a35
添加五星红旗实例
HypnosNova Sep 16, 2017
5a28d2f
删除重复例子
HypnosNova Sep 16, 2017
b1c15c3
修改bug
HypnosNova Sep 16, 2017
58463e5
add
HypnosNova Sep 16, 2017
9ae09f2
add
HypnosNova Sep 16, 2017
af7163b
add
HypnosNova Sep 18, 2017
a0d2b5e
add
HypnosNova Sep 18, 2017
fd36ae1
add
HypnosNova Sep 20, 2017
c128864
add
HypnosNova Sep 21, 2017
957bed0
add
HypnosNova Sep 21, 2017
291b59a
add
HypnosNova Sep 22, 2017
be48bbd
add
HypnosNova Sep 22, 2017
13588dd
add
HypnosNova Sep 22, 2017
1e72e62
add
HypnosNova Sep 22, 2017
44f0ebf
add
HypnosNova Sep 22, 2017
79d09ba
修改bug
HypnosNova Sep 22, 2017
5750804
add
HypnosNova Sep 23, 2017
62f071d
add
HypnosNova Sep 23, 2017
c2f5539
add
HypnosNova Sep 23, 2017
4561d9e
delete
HypnosNova Sep 23, 2017
ddf7dd6
delete
HypnosNova Sep 23, 2017
d920e9f
add
HypnosNova Sep 23, 2017
0f4f2a8
add
HypnosNova Sep 24, 2017
42fb870
add
HypnosNova Sep 25, 2017
34f0472
add
HypnosNova Sep 30, 2017
47b1b9b
add
HypnosNova Sep 30, 2017
1abcb08
整理demo
HypnosNova Oct 2, 2017
be86af8
整理demo
HypnosNova Oct 2, 2017
577133c
添加demo链接
HypnosNova Oct 2, 2017
d9f53fa
整理demo
HypnosNova Oct 3, 2017
c9792c3
整理代码
HypnosNova Oct 4, 2017
178bb92
add
HypnosNova Oct 4, 2017
2e5a9e0
add
HypnosNova Oct 4, 2017
6c49a3d
整理demo
HypnosNova Oct 4, 2017
1ddeadf
修改问题
HypnosNova Oct 5, 2017
8b2519c
更新controls
HypnosNova Oct 5, 2017
f7c8c97
添加controls指定dom功能
HypnosNova Oct 5, 2017
bf518b8
整理代码
HypnosNova Oct 5, 2017
c1bffb7
整理代码和demo
HypnosNova Oct 5, 2017
1aef1ac
修正贴图路径
HypnosNova Oct 5, 2017
1bd7166
添加原生webgl实例
HypnosNova Oct 6, 2017
be708c9
Update README.md
HypnosNova Oct 6, 2017
377bfa4
修复一个bug
HypnosNova Oct 6, 2017
2b190b8
Merge branch 'gh-pages' of https://github.com/HypnosNova/ThreeQuery i…
HypnosNova Oct 6, 2017
e19b6bd
添加截屏
HypnosNova Oct 6, 2017
d4cd4a5
Update README.md
HypnosNova Oct 6, 2017
11bee42
缩小尺寸
HypnosNova Oct 6, 2017
96e1ec7
Update README.md
HypnosNova Oct 6, 2017
2872f50
调整大小
HypnosNova Oct 6, 2017
223d10e
Merge branch 'gh-pages' of https://github.com/HypnosNova/ThreeQuery i…
HypnosNova Oct 6, 2017
5e2ab23
去掉背景图
HypnosNova Oct 6, 2017
e6322b4
add
HypnosNova Oct 6, 2017
b9dfbd2
add
HypnosNova Oct 7, 2017
d5061ad
修正demo
HypnosNova Oct 7, 2017
00a280c
add
HypnosNova Oct 8, 2017
83b877b
add
HypnosNova Oct 8, 2017
ad3a9da
Update README.md
HypnosNova Oct 8, 2017
a6ad397
Update README.md
HypnosNova Oct 8, 2017
4234bec
add
HypnosNova Oct 17, 2017
ea84c5f
add
HypnosNova Oct 23, 2017
889512b
add
HypnosNova Oct 26, 2017
755e3a4
add
HypnosNova Nov 3, 2017
3cae81c
add
HypnosNova Nov 3, 2017
bc0d674
add
HypnosNova Nov 3, 2017
58fa150
添加各类修改
HypnosNova Nov 30, 2017
e4d47a6
add
HypnosNova Nov 30, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
28 changes: 28 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>ThreeQuery</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>com.aptana.ide.core.unifiedBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>com.aptana.projects.webnature</nature>
</natures>
<filteredResources>
<filter>
<id>1497596745517</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-name-matches-false-false-node_modules</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
31 changes: 31 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# ThreeQuery
基于Three.js的3D框架,支持移动设备以及VR效果
<br>
## 核心思想:没必要进行额外的封装,只让使用three.js常用功能变得更加轻松容易。

### 文档地址

https://hypnosnova.github.io/ThreeQuery/docs



### 各种基础和高级demo地址

https://hypnosnova.github.io/ThreeQuery/gallery



### 原生WebGL实例地址

https://hypnosnova.github.io/ThreeQuery/pureWebgl


![screenshot/1.jpg](screenshot/1.jpg)
![screenshot/1.jpg](screenshot/3.jpg)
![screenshot/1.jpg](screenshot/2.jpg)
![screenshot/1.jpg](screenshot/4.jpg)
![screenshot/1.jpg](screenshot/5.jpg)
![screenshot/1.jpg](screenshot/6.jpg)
![screenshot/1.jpg](screenshot/8.jpg)
![screenshot/1.jpg](screenshot/7.jpg)
![screenshot/1.jpg](screenshot/9.jpg)
117 changes: 117 additions & 0 deletions camera.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,117 @@
<!DOCTYPE html>
<html >
<head>
<title>HTML5 GetUserMedia Demo</title>
<meta charset="utf-8"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0" />
</head>
<body>
<input type="button" title="开启摄像头" value="开启摄像头" onclick="getMedia();" /><br />
<video height="120px" autoplay="autoplay"></video><hr />
<input type="button" title="拍照" value="拍照" onclick="getPhoto();" /><br />
<canvas id="canvas1" height="120px" ></canvas><hr />
<input type="button" title="视频" value="视频" onclick="getVedio();" /><br />
<canvas id="canvas2" height="120px"></canvas>

<script type="text/javascript">
var video = document.querySelector('video');
var audio, audioType;

var canvas1 = document.getElementById('canvas1');
var context1 = canvas1.getContext('2d');

var canvas2 = document.getElementById('canvas2');
var context2 = canvas2.getContext('2d');

navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia || navigator.msGetUserMedia;
window.URL = window.URL || window.webkitURL || window.mozURL || window.msURL;

var exArray = []; //存储设备源ID
MediaStreamTrack.getSources(function (sourceInfos) {
for (var i = 0; i != sourceInfos.length; ++i) {
var sourceInfo = sourceInfos[i];
//这里会遍历audio,video,所以要加以区分
if (sourceInfo.kind === 'video') {
exArray.push(sourceInfo.id);
}
}
});

function getMedia() {
if (navigator.getUserMedia) {
navigator.getUserMedia({
'video': {
'optional': [{
'sourceId': exArray[1] //0为前置摄像头,1为后置
}]
},
'audio':true
}, successFunc, errorFunc); //success是获取成功的回调函数
}
else {
alert('Native device media streaming (getUserMedia) not supported in this browser.');
}
}

function successFunc(stream) {
//alert('Succeed to get media!');
if (video.mozSrcObject !== undefined) {
//Firefox中,video.mozSrcObject最初为null,而不是未定义的,我们可以靠这个来检测Firefox的支持
video.mozSrcObject = stream;
}
else {
video.src = window.URL && window.URL.createObjectURL(stream) || stream;
}

//video.play();

// 音频
audio = new Audio();
audioType = getAudioType(audio);
if (audioType) {
audio.src = 'polaroid.' + audioType;
audio.play();
}
}
function errorFunc(e) {
alert('Error!'+e);
}


// 将视频帧绘制到Canvas对象上,Canvas每60ms切换帧,形成肉眼视频效果
function drawVideoAtCanvas(video,context) {
window.setInterval(function () {
context.drawImage(video, 0, 0,90,120);
}, 60);
}

//获取音频格式
function getAudioType(element) {
if (element.canPlayType) {
if (element.canPlayType('audio/mp4; codecs="mp4a.40.5"') !== '') {
return ('aac');
} else if (element.canPlayType('audio/ogg; codecs="vorbis"') !== '') {
return ("ogg");
}
}
return false;
}

// vedio播放时触发,绘制vedio帧图像到canvas
// video.addEventListener('play', function () {
// drawVideoAtCanvas(video, context2);
// }, false);

//拍照
function getPhoto() {
context1.drawImage(video, 0, 0,90,120); //将video对象内指定的区域捕捉绘制到画布上指定的区域,实现拍照。
}

//视频
function getVedio() {
drawVideoAtCanvas(video, context2);
}

</script>
</body>
</html>
Loading