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);
}
分享到:
相关推荐
在这个"Java 2.5D游戏Demos"压缩包中,包含了一系列用Java编写的2.5D游戏示例,如俄罗斯方块和人物行走等。这些示例对于学习和理解Java游戏编程至关重要,因为它们提供了实际的代码和逻辑结构,可以帮助开发者掌握...
**Android 6.0 API Demos详解** Android 6.0 API Demos 是一个官方提供的示例代码集合,它展示了Android 6.0 (Marshmallow) SDK中的各种API功能和用法。这些示例旨在帮助开发者更好地理解和学习如何在实际应用中...
Signal processing demos from Richards
《深入探索Android API Demos:最新实践与技术解析》 Android API Demos是Google官方提供的一款用于展示Android SDK中各种API功能和用法的应用程序,它涵盖了从基础控件到高级特性的全方位示例,是开发者学习...
《Android ApiDemos apk:深入理解Android应用开发的实践指南》 Android ApiDemos apk是Android开发者们熟悉的一个示例程序,它包含了Android SDK中的各种API功能演示,为开发者提供了丰富的学习资源。这个应用程序...
ApiDemos 6.0
《Android 8.1版本ApiDemos源码详解:深入理解API使用实例》 在Android开发领域,理解和熟练运用各种API是提升技能的关键步骤。"8.1版本ApiDemos源码"为开发者提供了一个宝贵的资源,它包含了Android 8.1系统中各种...
《Android ApiDemos详解——揭示Android开发的奥秘》 Android ApiDemos是Android开发者学习和探索平台功能的重要资源库,它集成了Android SDK中的各种控件、绘图技术以及四大组件(Activity、Service、...
《ApiDemos示例源码解析》 ApiDemos是Android平台提供的一款示例应用,它包含了Android SDK中的各种API功能展示,对于开发者来说,这是一个非常宝贵的资源库,可以帮助我们深入理解和学习Android系统的API用法。...
总的来说,"Demos.rar_3D射击游戏_d3d_d3d 游戏_shooting_游戏demo"为我们提供了一个学习和实践3D游戏开发的良好起点,通过深入研究和实践,开发者可以掌握D3D的核心技术和3D射击游戏的开发流程,进一步提升自己的...
"ant-design-demos" 是一个基于Ant Design框架的示例集合,主要展示了Ant Design的各种组件和功能在实际应用中的使用方式。Ant Design是一款由阿里集团开发的高质量React UI库,它提供了一系列美观、易用且具有企业...
"Android Demos"是一个集合了各种Android开发示例的应用程序,它包含了丰富的代码实例,旨在帮助开发者更好地理解和学习Android平台的各种功能和API的使用。这个压缩包中的"ApiDemos"很可能是一个官方或非官方的实现...
文件名称: jdk-8u211-windows-x64-demos.zip 文件大小: 57.0 MB (59,804,583 字节) MD5: c759dd4d00b1ee2ed172e21d3a7b2d82 SHA1: 9dd4288b1486621efe4e7e261b0aac9f2a1decb5 SHA256: bef76dec23897b81f3fb5ed8b7c...
`Support4Demos`这个项目就是专门用来演示如何使用`support-v4`库中的功能,尤其是关于`Fragment`和`ViewPager`的使用。 首先,我们来详细了解一下`Fragment`。`Fragment`是Android 3.0(API级别11)引入的概念,...
《安卓ApiDemos详解——掌握Android API实践精髓》 安卓ApiDemos,作为一个开发者们耳熟能详的项目,它是Android SDK中一个重要的组成部分,它提供了丰富的API实例,旨在帮助开发者深入理解和掌握Android系统的各种...
ApiDemos是Android开发中的一个经典示例项目,它包含了Android SDK中各种API的示例代码,用于展示如何使用Android框架的各种功能。这个最新的ApiDemos源码版本为开发者提供了直观的学习材料,帮助他们理解并实践...
API Demos 是 Google 为了 Android 开发者所提供的一个 Android API 合集,其中包含了很多的 API 范例,同时遵循了良好的代码规范,是一个值得开发者研究和学习的典型。android的ApiDemos,需要解压缩后使用。
DevExpress是一款知名的软件开发工具提供商,其提供的DevExpress Demos是一系列展示其控件和框架功能的实例应用。在这款17.2版本的WinForm Demo中,开发者可以深入了解和学习DevExpress的Windows Forms平台上的组件...
《API-Demos(7.0源码)深度解析》 API Demos是Android系统源码中的一部分,它是一个包含了各种Android API示例的项目,专为开发者设计,用于展示和学习Android系统的各种功能和API的使用。这个项目是基于Android ...