1、
o3djs.rendergraph.createBasicView( !o3d.Pack
pack
!o3d.Transform
treeRoot
!o3d.RenderNode
opt_parent
!o3djs.math.Vector4
opt_clearColor
number opt_priority
!o3djs.math.Vector4
opt_viewport )
参数:
pack 管理生成对象的Pack包.
treeRoot 视图的根节点.
opt_parent 视图的渲染节点.
opt_clearColor 视图的颜色,[0.1,0.2,0.3,0.4],分别表示[红,绿,蓝,黑],每个值介于0到1之间。
opt_priority 生成对象的优先级。
opt_viewport 视窗设置,例如[0.1,0.1,0.9,0.9],分别表示[左,上,右,下],每个值介于0到1之间,左和右值相加不能大于1,上和下值相加不能大于1
返回值:
!o3djs.rendergraph.ViewInfo. 创建的所有对象的视图信息.
例如,
var viewBackgroundColor=[0.2,0.5,0.6,0.7];
var viewPort = [0.1,0.1,0.9,0.9];
g_viewInfo = o3djs.rendergraph.createBasicView(
g_pack,
g_client.root,
g_client.renderGraphRoot,
viewBackgroundColor,
1,
viewPort
);
________________________________________
2、创建材质 o3djs.material.createBasicMaterial ()
view plaincopy to clipboardprint?
1. !o3d.Material o3djs.material.createBasicMaterial (
2. !o3d.Pack pack ,
3. !o3djs.rendergraph.ViewInfo viewInfo ,
4. (!o3djs.math.Vector4|!o3d.Texture) colorOrTexture ,
5. boolean opt_transparent )
参数:
pack 管理创建对象的包(Pack)。
viewInfo API函数o3djs.rendergraph.createBasicView创建的视窗信息。
colorOrTexture 颜色矩阵[r, g, b, a]或者一个o3d纹理贴图。
opt_transparent 材质是否是透明的。默认情况下是非透明的。
返回:
!o3d.Material.生成的材质。
示例代码:
view plaincopy to clipboardprint?
1. <html><body>
2. <mce:script type="text/javascript" src="o3djs/all.js" mce_src="o3djs/all.js"><!--
3.
4. // --></mce:script>
5. <mce:script type="text/javascript"><!--
6.
7. window.onload = init;
8.
9. function init() {
10. o3djs.base.makeClients(initStep2);
11. }
12.
13. function initStep2(clientElements) {
14. var clientElement = clientElements[0];
15. var client = clientElement.client;
16. var pack = client.createPack();
17. var viewInfo = o3djs.rendergraph.createBasicView(
18. pack,
19. client.root,
20. client.renderGraphRoot);
21. var material = o3djs.material.createBasicMaterial(
22. pack,
23. viewInfo,
24. [1, 0, 0, 1]); // red
25. var shape = o3djs.primitives.createCube(pack, material, 10);
26. var transform = pack.createObject('Transform');
27. transform.parent = client.root;
28. transform.addShape(shape);
29. o3djs.camera.fitContextToScene(client.root,
30. client.width,
31. client.height,
32. viewInfo.drawContext);
33. }
34. // --></mce:script>
35. <div id="o3d" style="width: 600px; height: 600px"></div>
36. </body></html>
分享到:
相关推荐
1. **O3D库**:O3D是由Google开发的JavaScript API,旨在提供高性能的3D图形渲染能力,直接在浏览器中运行,无需任何插件。它利用WebGL技术,使开发者能够利用硬件加速来处理复杂的3D模型和场景。O3D库包含了一系列...
谷歌O3D是一种由Google开发的JavaScript库,用于在Web浏览器中实现高性能的3D图形渲染。这个技术主要目标是让网页开发者能够轻松地在不借助插件的情况下创建丰富的、交互式的3D内容。O3D的核心是基于OpenGL的硬件...
o3d是Google开发的基于web的3d编程API,因文件太大分三次上传
1. **创建 O3D 对象**:通过 O3D JavaScript API 创建 O3D 上下文,连接到渲染表面。 2. **加载模型和资源**:使用 `o3djs.asset` 相关的函数加载 3D 模型、纹理和其他资源。 3. **设置视图**:定义相机的位置、视角...
虽然O3D本身可能提供了API进行导入和导出,但对于初学者来说,使用现成的工具会更方便。你可以寻找第三方工具,例如Blender,这是一款强大的免费3D建模软件,支持众多的3D文件格式导入和导出。安装Blender后,打开你...
o3d是Google开发的基于web的3d编程API,因文件太大分三次上传
O3D是一款基于WebGL的开源3D图形库,它允许开发者在网页上创建复杂的3D场景和应用。这个库在Googlecode上曾被广泛使用和开发,但在googlecode退役后,该项目被迁移至其他平台以保持其活力。O3D的目标是提供一个高...
【标题】"o3d-webgl-pool" 是一个基于废弃的 o3d 引擎开发者构建的3D台球游戏演示项目。这个项目利用了WebGL技术来呈现逼真的3D图形,让玩家能够在浏览器中体验台球游戏的乐趣。 【JavaScript】作为主要的编程语言...
WebGL的应用场景十分广泛,许多基于WebGL的场景图库可以帮助开发者快速搭建三维场景,例如three.js、SceneJS、O3D和OSG.js等。这些场景图库提供了大量的基础功能,使得开发者不必直接与底层API打交道,从而简化了三...
随着WebGL的逐渐成熟,一系列框架应运而生,它们涵盖了不同的关注领域和方法论,如SpiderGL、GLGE、X3DOM、EnergizeGL、SceneJS、O3D、WebGLU、C3DL和CubicVR等。这些框架的出现,极大地方便了开发者,使他们能够更...
然后,在代码中导入Open3D库:`import open3d as o3d`。 2. 数据类型:Open3D主要处理两种基本数据类型——点云(Point Cloud)和三维网格(Triangle Mesh)。点云是3D空间中离散点的集合,而三维网格则是由多个...
WebGL使得在移动设备上创建逼真的3D图形和游戏成为可能,如X3DOM和O3D等框架提供了更高级别的3D建模和交互。 2. 离线存储技术 HTML5的离线存储技术,如离线网页应用(Offline Web Applications),允许网页在用户...
self.point_cloud = o3d.io.read_point_cloud("aa.txt") # 创建Open3D的可视化器 self.vis = o3d.visualization.Visualizer() self.vis.create_window(window_name="点云视图", width=640, height=480) # 将...
3. 优化和调试:使用NDK的 `-DANDROID_NDK_DEBUG=1` 开关开启调试模式,优化性能时可以考虑使用 `-O3` 编译选项。 通过以上步骤,你可以在Ubuntu环境下成功搭建Android NDK编译环境,开始进行原生代码的开发工作。...
│ 03 线程等待与唤醒.mp4# b* ^" k$ d# O3 f8 t8 a3 k │ 04 WaitForSingleObject函数分析.mp4$ V7 L' C3 I( W │ 05 事件.mp4 │ 06 信号量.mp4 │ 07 互斥体.mp4 │ ├─保护模式- }! n! C$ O/ s" Q │ 014 中断...
sudo sh -c 'echo "deb https://apt.repos.intel.com/oneapi all main" > /etc/apt/sources.list.d/oneapi.list' ``` 更新你的Apt源列表: ```bash sudo apt update ``` 现在你可以安装Intel编译器了。例如,如果你...
43_连接查询2 R: d" J9 J1 O3 D* B1 }2 u( {2 v 44_事务并发现象-脏读-幻读-不可重复读-隔离级别 45_隔离级别-并发现象展示-避免 46_表级锁-行级锁-forupdate 47_mysql数据源连接池 48_NIO" d% v1 P# ~3 S/ L 49_NIO...
MySQL是一种广泛使用的开源关系型数据库管理系统,由MySQL AB公司开发并支持,以其高效、稳定和易用性著称。本文将以MySQL 5.0.51版本和CentOS 5操作系统为例,详细阐述两种安装方式:源码包安装和二进制包安装。 1...