`
wjlgryx
  • 浏览: 307066 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

c3dl 官方教程(二)

阅读更多


教程#2:一个简单的场景
本教程将展示C3DL)的基础知识使用三维库,在开始本教程之前,请确保你有一个浏览器是支持WebGL的启用。 教程#1 介绍了如何做到这一点。 下载 http://www.c3dl.org/index.php/download/
的API的三维画布 。 确保你下载的版本是2.1或更高。 WebGL的早期版本的C3DL使用画布是三维的。 本教程是写给释放C3DL的2.0。 您还需要一本教程模型和纹理。 你可以下载一个模型,一个鸭前发在这里:duck文件:
http://www.c3dl.org/wp-content/2.0Release/Resources/duck.dae
鸭纹理文件: duck.png
http://www.c3dl.org/wp-content/2.0Release/Resources/duck.png

目标:
演示了如何设置和使用创造一个有帆元素,显示了一个旋转物体的三维网页画布JS库。



如何组织您的文件:
在您的工作目录:
解压缩的程序库版本
为您的演示目录。 在这个例子中,工作目录称为mydemo。
下载的canvas3d API是在名为canvas3dapi的文件夹 的代码,您会写会被放置到mydemo文件夹。
将所有文件夹中的mydemo模型和纹理。 如果您想进一步组织您的模型,就修改参数来实现。 但是,请记住,出于安全原因,模型和纹理不能在一个更高的目录中。

警告:默认情况下chrome和Safari / WebKit不会让你在本地打开文件。 如果你要在本地测试,你需要使用火狐添加允许文件访问。 这不是一个问题,如果你放到一个远程计算机上可以看到这些教程。

HTML文档
mydemo文件夹内,通过创建一个简单的HTML页的开头。


<html>
    <head>
        <title>Cavas3D tutorial #2: A Simple Scene</title>
        <script type="application/javascript" src="../canvas3dapi/c3dapi.js" ></script>
        <script type="application/javascript" src="tutorial2.js"></script>
    </head>
    <body>
        <!-- Add a canvas element to the page. It is scripted by using its id -->
        <canvas id="tutorial" style="border: 2px solid blue" width="500" height="500"></canvas>
    </body>
</html>

javascript代码段
tutorial2.js
// Tutorial 2: the javascript
// The models used need to be parsed before the page
// render. This code will parse the model files
// and when this complete the parser will call the
// main. The argument being passed - "tutorial" -
// is the id of the canvas element on the html page.

c3dl.addMainCallBack(canvasMain, "tutorial");
c3dl.addModel("duck.dae");
var duck;

// The program main
function canvasMain(canvasName){

// Create new c3dl.Scene object
scn = new c3dl.Scene();
scn.setCanvasTag(canvasName);

// Create GL context
renderer = new c3dl.WebGL();
renderer.createRenderer(this);

// Attach renderer to the scene
scn.setRenderer(renderer);
scn.init(canvasName);

//the isReady() function tests whether or not a renderer
//is attached to a scene.  If the renderer failed to
//initialize this will return false but only after you
//try to attach it to a scene.
if(renderer.isReady() )
{
// Create a Collada object that
// will contain a imported
// model of something to put
// in the scene.
duck = new c3dl.Collada();

// If the path is already parsed
// (as it is in this case)
// then the model is automatically retrieved
// from a collada manager.
duck.init("duck.dae");

// Give the duck a bit of a spin on y
duck.setAngularVel(new Array(0.0, 0.001, 0.0));

// Add the object to the scene
scn.addObjectToScene(duck);

// Create a camera
var cam = new c3dl.FreeCamera();

// Place the camera.
// WebGL uses a right handed co-ordinate system.
// move 200 to the right
// move 300 up
// move 500 units out
cam.setPosition(new Array(200.0, 300.0, 500.0));

// Point the camera.
// Here it is pointed at the same location as
// the duck so the duck will appear centered.
cam.setLookAtPoint(new Array(0.0, 0.0, 0.0));

// Add the camera to the scene
scn.setCamera(cam);

// Start the scene
scn.startScene();
}
}

小结
如果运行成功的话你将会看到一个旋转的小鸭子

 

  • 大小: 18.2 KB
分享到:
评论

相关推荐

    c3p0数据库的使用教程.docx

    ### c3p0数据库连接池使用教程 #### 一、c3p0简介与基本概念 c3p0是一款开源的Java数据库连接池组件,它实现了数据源和JDBC连接池接口,为开发者提供了高性能、易用性以及可扩展性的数据库连接管理方案。通过使用...

    C3预览工具_c3viewershell_C3模型浏览_c3模型预览_C3预览工具_C3

    C3预览工具是一款专为模型查看和预览设计的专业软件,主要应用于游戏开发和相关领域,特别是针对“魔域私服”这样的在线游戏环境。它提供了高效、便捷的方式来检查和测试C3模型,确保游戏中的角色、场景和其他元素在...

    C3P0 9.2.1 jar包 + 连接池配置教程

    - 检查C3P0的官方更新日志,了解9.2.1版本相对于前一版本的改进和修复的问题,通常包括性能优化、bug修复和新功能的添加。 3. **配置C3P0连接池** - 在项目中添加C3P0的jar包(如`c3p0-0.9.2.1.jar`)。 - 配置...

    c3p0-官方.zip

    **c3p0连接池详解** c3p0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。c3p0-0.9.1.2是其的一个版本,包含c3p0的核心库jar包以及相关的说明文档,用于帮助开发者理解和使用...

    转换FBX-c3b-c3t

    "转换FBX-c3b-c3t"这个主题涉及到的是将FBX格式的3D模型转换为c3b和c3t两种特定的格式。让我们深入探讨这些格式以及转换过程中的技术细节。 FBX(Filmbox)是Autodesk公司推出的一种3D模型交换格式,广泛应用于3D...

    资料备份:CSDN矜辰所致-ESP32-C3入门博客教程PDF版本-wifi篇-蓝牙篇-应用篇(20241102).rar

    ESP32-C3入门教程 网络 篇(二、 Wi-Fi 配网 — Smart_config方式 和 BlueIF方式) ESP32-C3入门教程 网络 篇(三、 MQTT 协议基础介绍及测试) 五、蓝牙篇 ESP32-C3 学习测试 蓝牙 篇(一、认识 ESP-IDF 的蓝牙框架...

    萤石C3A电池相机用户指南(萤石摄像头).pdf

    "萤石C3A电池相机用户指南" 萤石C3A电池相机用户指南为用户提供了详细的使用指南,包括设备的安装、配置、使用、维护等方面的信息。该指南涵盖了设备的组成部分、安装步骤、基本操作、故障排除、维修方法等内容,...

    C3D-lstm_lstmpytorch_c3d论文复现_C3D-lstm_

    标题 "C3D-lstm_lstmpytorch_c3d论文复现_C3D-lstm" 指涉的是一项在PyTorch框架下对C3D-LSTM模型的实现,这是深度学习领域中用于视频理解的一个重要模型。C3D(Convolutional 3D)是基于3D卷积神经网络的预训练模型...

    c3p0-0.9.5.2-API文档-中文版.zip

    赠送jar包:c3p0-0.9.5.2.jar; 赠送原API文档:c3p0-0.9.5.2-javadoc.jar; 赠送源代码:c3p0-0.9.5.2-sources.jar; 赠送Maven依赖信息文件:c3p0-0.9.5.2.pom; 包含翻译后的API文档:c3p0-0.9.5.2-javadoc-API...

    牛牛数据处理器C3.zip

    - **文档**:用户手册、API参考、教程等,帮助用户了解如何使用该工具。 - **库文件**:可能包含必要的依赖库或DLL文件,这些是程序运行所必需的。 - **配置文件**:用户可以修改这些文件来调整程序的行为和设置。 -...

    七彩虹C3升级固件

    七彩虹C3是一款知名的数字音频播放器,这款设备在2013年3月推出了一个重要的固件更新,版本号为V1.0.0.6。固件升级是电子设备中常见的一种维护和优化手段,它旨在修复已知问题、提升设备性能、增加新功能或者改善...

    c3p0所依赖的jar包

    二、C3P0依赖的jar包 在使用C3p0之前,你需要将以下jar包添加到项目类路径中: 1. c3p0-core.jar:这是C3P0的核心库,包含了所有连接池相关的类和接口。 2. mysql-connector-java.jar:或其他数据库驱动,如...

    C3预览工具_c3viewershell_C3模型浏览_c3模型预览_C3预览工具_C3_源码.rar.rar

    C3预览工具是一款专为C3模型设计的可视化浏览软件,其主要功能是帮助用户在无需专业建模软件的情况下,便捷地查看和预览C3模型。C3,全称为Computer-aided Conceptual Configuration,是一种用于系统工程、产品设计...

    c3p0-0.9.5.1

    C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC3规范和JDBC2的标准扩展。标题中的"c3p0-0.9.5.1"指的...在使用这个版本时,开发者应该参考官方文档或社区讨论,以获取最佳实践和解决可能遇到的问题。

    C3P0相关的JAR包

    下面我们将深入探讨C3P0的相关知识点。 1. **数据库连接池的概念** 数据库连接池是应用服务器在启动时预先向数据库申请一定数量的连接,然后将这些连接存储在一个池中,当应用需要与数据库交互时,可以从池中获取...

    c3p0-0.9 jar

    C3P0是一款开源的Java数据库连接池(JDBC Connection Pool),它的全称是Comprehensive Database Connection Pooling。这个库的版本为0.9.1.2,它提供了高效、健壮的数据库连接管理功能,使得在Java应用程序中管理...

    c3p0所需jar包

    C3P0是一款开源的Java连接池,全称为ComMChange V2 C3P0,由M. J. Franklin创建并维护。它提供了一种高效、灵活且强大的数据库连接管理方式,广泛应用于Java应用程序中,特别是对于那些需要大量并发数据库访问的Web...

    c3开发教程

    在"C3开发教程"这个资源中,我们主要聚焦于C#编程语言以及Unity游戏引擎的学习。C#是一种广泛应用于游戏开发、桌面应用、Web服务等多个领域的面向对象的编程语言,而Unity则是全球最受欢迎的游戏开发平台之一,尤其...

    c3p0用法步骤

    标题:"c3p0用法步骤" 描述:"这是我学习过程中积累的学习笔记,希望对大家有用" 标签:"c3p0" 知识点详述: C3P0是一个开源的JDBC连接池,它实现了数据源和JNDI绑定,支持JDBC连接池的特性,如:自动重连、自动...

Global site tag (gtag.js) - Google Analytics