view plaincopy to clipboardprint?
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<title>O3D Example</title>
<mce:script type="text/javascript" src="o3djs/base.js" mce_src="o3djs/base.js"></mce:script>
<mce:script type="text/javascript"><!--
//o3d js
// --></mce:script>
</head>
<body>
<h1>O3D Example</h1>
<!-- Start of O3D plugin -->
<div id="o3d" style="width: 600px; height: 600px;"></div>
<!-- End of O3D plugin -->
</body>
</html>
一个复杂的3D应用包含场景、摄像机、3D几何体、灯管和材质等。
o3djs.require('o3djs.util');
o3djs.require('o3djs.rendergraph');
o3djs.require('o3djs.primitives');
o3djs.require('o3djs.camera');
o3djs.require('o3djs.material');
//O3D程序的入口点
var g_client;
//3D视窗
var g_viewInfo;
//旋转角度
var g_animate_angle=0;
window.onload = function(){
o3djs.util.makeClients(initialize);
}
function initialize(clientElements) {
var o3d = clientElements[0];
//初始化程序入口client
g_client = o3d.client;
// 创建场景容器
var pack = g_client.createPack();
// 创建视窗
g_viewInfo = o3djs.rendergraph.createBasicView(
pack,g_client.root,g_client.renderGraphRoot);
// 创建材质
var material = o3djs.material.createBasicMaterial(
pack,g_viewInfo, [1, 0, 0, 1]);
// 创建一个正方体
var cube = o3djs.primitives.createCube(pack, material, 0.5);
// 创建3D物体的容器
var transform = pack.createObject('Transform');
transform.parent = g_client.root;
transform.addShape(cube);
// 初始化Camera
o3djs.camera.fitContextToScene(g_client.root,
g_client.width,
g_client.height,
g_viewInfo.drawContext);
//添加帧循环回调函数
g_client.setRenderCallback(onRender);
}
/**
* 帧循环回调函数
*/
function onRender(event){
//取得帧间隔时间
var elapsedTime = event.elapsedTime;
g_animate_angle += 0.1 * elapsedTime;
// camera的位置
var eye = [ Math.sin(g_animate_angle) * 1.0,
1.0,
Math.cos(g_animate_angle) * 1.0];
// camera的指向
var target = [0, 0, 0];
//告诉camera哪个方向是向上,本例中是y轴指向。
var up = [0, 1, 0];
//更新camera的位置
g_viewInfo.drawContext.view = o3djs.math.matrix4.lookAt(eye, target, up);
}
分享到:
相关推荐
jQuery demos jQuery demos jQuery demos
Signal processing demos from Richards
这些2.5D Java游戏的例子包括源码,其中有:俄罗斯方块、人物行走等等。
最新Android apidemos
ApiDemos 6.0
indy10_demosindy10_demos
Android ApiDemos apk, 包括Android presentation双屏异显 demon, App>Activity>Presentation
文件名称: jdk-8u211-windows-x64-demos.zip 文件大小: 57.0 MB (59,804,583 字节) MD5: c759dd4d00b1ee2ed172e21d3a7b2d82 SHA1: 9dd4288b1486621efe4e7e261b0aac9f2a1decb5 SHA256: bef76dec23897b81f3fb5ed8b7c...
该Api Demos 源码是基于Android6.0 ,Eclipse下的,可以直接使用Android studio 导入工程即可。
sun公司的旗舰产品 就不用我吹了 javaFX demos
DevExpress Demos 17.2 WinForm Demo,My Office Work,和邮件示例.
android APIdemos,android 源码简单使用demos
Delphi 2010 Demos.zip
Java SE Development Kit 8 Demos and Samples Downloads
Support4Demos 源码,app,fragment,widget精选
API Demos 是 Google 为了 Android 开发者所提供的一个 Android API 合集,其中包含了很多的 API 范例,同时遵循了良好的代码规范,是一个值得开发者研究和学习的典型。android的ApiDemos,需要解压缩后使用。
Android开发入门与实例 DemosAndroid开发入门与实例 DemosAndroid开发入门与实例 DemosAndroid开发入门与实例 Demos
Android 5.1的ApiDemos安装包
ant design demo 直接打开里面Html即可,chrome最佳
Android官网ApiDemos源码 供大家学习参考之用