C3DL是一个基于HTML5的WEBGL框架,官网地址:http://www.c3dl.org
C3DL网站直接提供了JS LIB的下载和API,还有几个简单的教程,先从教程开始一步步学。
官网教程1说的是对浏览器的选择,选用chrome10,或火狐4.X版本,这里需要注意使用chrome无法直接读取本地文件,需要使用服务器.后续介绍
教程2,运行helloword
第一步,先下载JS LIB。http://www.c3dl.org/index.php/download/ ,(截止2010-12-29最新是2.1)点击最新版本的"Non-compressed release"进行下载。
第二步,用MyEclipse搭建好Web工程及Tomcat.如果使用火狐浏览器可省略,直接运行html就可以
第三步,创建html文档,并引入C3DL JS LIB 下面的c3dapi.js
<body>
<canvas id="tutorial" style="border: 2px solid blue" width="500" height="500"></canvas>
</body>
第三步,创建helloword.js文件并将其引入到HTML内
/*添加回调方法,canvasMain回调函数,tutorial是canvas的元素ID*/
c3dl.addMainCallBack(canvasMain, "tutorial");
c3dl.addModel("duck.dae");
var duck;
/*定义canvasMain函数*/
function canvasMain(canvasName){
/*创建场景并初始化*/
scn = new c3dl.Scene();
scn.setCanvasTag(canvasName);
/*创建渲染器*/
renderer = new c3dl.WebGL();
renderer.createRenderer(this);
scn.setRenderer(renderer);
scn.init(canvasName);
/*判断randerer可用性*/
if(renderer.isReady() )
{
/*创建Collada对象,导入dae模型*/
duck = new c3dl.Collada();
/*设置对象的模型*/
duck.init("duck.dae");
/*设置物体旋转,x,y,z*/
duck.setAngularVel(new Array(0.0, 0.001, 0.0));
/*将物体添加到画布*/
scn.addObjectToScene(duck);
/*创建相机*/
var cam = new c3dl.FreeCamera();
/*相机位置*/
cam.setPosition(new Array(200.0, 300.0, 500.0));
/*相机看的点*/
cam.setLookAtPoint(new Array(0.0, 0.0, 0.0));
/*将相机添加到画布*/
scn.setCamera(cam);
/*开画了*/
scn.startScene();
}
}
第四步,下载以下资源到目录下
dea:http://www.c3dl.org/wp-content/2.0Release/Resources/duck.dae
贴图:http://www.c3dl.org/wp-content/2.0Release/Resources/duck.png
第五步,运行tomcat,访问页面,如果用火狐可以直接打开html文件,在确保路径正确的情况下程序会出现一个黄色的旋转的小鸭子。。。。
分享到:
相关推荐
C3预览工具是一款专为模型查看和预览设计的专业软件,主要应用于游戏开发和相关领域,特别是针对“魔域私服”这样的在线游戏环境。它提供了高效、便捷的方式来检查和测试C3模型,确保游戏中的角色、场景和其他元素在...
"转换FBX-c3b-c3t"这个主题涉及到的是将FBX格式的3D模型转换为c3b和c3t两种特定的格式。让我们深入探讨这些格式以及转换过程中的技术细节。 FBX(Filmbox)是Autodesk公司推出的一种3D模型交换格式,广泛应用于3D...
标题 "C3D-lstm_lstmpytorch_c3d论文复现_C3D-lstm" 指涉的是一项在PyTorch框架下对C3D-LSTM模型的实现,这是深度学习领域中用于视频理解的一个重要模型。C3D(Convolutional 3D)是基于3D卷积神经网络的预训练模型...
这样,我们就完成了SpringMVC与C3P0的初步整合。在实际开发中,可能还需要配置事务管理器、AOP切面等,以实现事务控制和其他高级功能。例如,可以使用PlatformTransactionManager接口的实现类,如...
七彩虹C3是一款知名的数字音频播放器,这款设备在2013年3月推出了一个重要的固件更新,版本号为V1.0.0.6。固件升级是电子设备中常见的一种维护和优化手段,它旨在修复已知问题、提升设备性能、增加新功能或者改善...
C3预览工具是一款专为C3模型设计的可视化浏览软件,其主要功能是帮助用户在无需专业建模软件的情况下,便捷地查看和预览C3模型。C3,全称为Computer-aided Conceptual Configuration,是一种用于系统工程、产品设计...
C3P0是一个开源的Java连接池,全称为Comming Soon Connection Pool,它提供了一种管理数据库连接的方式,使得在多用户并发访问时能够有效地利用和管理数据库资源,提高系统的性能和稳定性。C3P0的主要功能是为应用...
下面我们将深入探讨C3P0的相关知识点。 1. **数据库连接池的概念** 数据库连接池是应用服务器在启动时预先向数据库申请一定数量的连接,然后将这些连接存储在一个池中,当应用需要与数据库交互时,可以从池中获取...
C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。标题中的"c3p0-0.9.5.1"指的是C3P0的一个特定版本,即0.9.5.1版。这个版本可能包含了对早期版本的修复、性能优化或新功能...
标题:"c3p0用法步骤" 描述:"这是我学习过程中积累的学习笔记,希望对大家有用" 标签:"c3p0" 知识点详述: C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC连接池的特性,如:自动重连、自动...
C3P0连接池是Java应用中常用的数据库连接池组件,它允许程序在不关闭物理连接的情况下,管理和重用数据库连接,从而提高了应用程序的性能和效率。C3P0库依赖于其他几个JAR包来实现其功能,包括`c3p0-0.9.2.1.jar`、`...
C3P0是一个广泛使用的开源Java JDBC连接池,它的全称是Comprehensive Connection Pooling Package。这个库的主要目的是提供数据库连接的高效管理,以优化数据库应用程序的性能和资源利用。C3P0的设计目标是为了满足...
C3P0连接池是Java开发中常用的数据库连接池组件,它由M-Fenyes创建并维护,旨在提供一个高效、灵活且稳定的数据库连接管理工具。数据库连接池在多线程应用中扮演着重要角色,它能有效地管理和复用数据库连接,避免...
C3P0是一个开源的Java连接池,全称为Comming Soon Connection Pool,它提供了一种在JDBC数据库连接管理中的高效、稳定和扩展性良好的解决方案。C3P0的主要目标是通过提供自动的资源管理和故障恢复功能,来帮助Java...
C3P0是一个开源的Java连接池,全称为Comprehensive Connection Pooling Packages,它提供了对JDBC连接的管理,能够有效地提升数据库操作的性能和稳定性。这个“c3po jar包”是C3P0库的Java归档(JAR)文件,用于集成...
C3P0是一款开源的Java连接池,全称为ComMChange V2 C3P0,由M. J. Franklin创建并维护。它提供了一种高效、灵活且强大的数据库连接管理方式,广泛应用于Java应用程序中,特别是对于那些需要大量并发数据库访问的Web...
C3P0是一款开源的Java数据库连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java应用程序中,C3P0可以帮助我们更有效地管理和使用数据库连接,避免频繁创建和关闭连接导致的性能损失。下面将...
**C3P0详解** C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。在Java的Web应用中,数据库连接的创建、分配、管理和释放是相当耗时的,而C3P0通过管理这些连接,提高了...