在深入解读Away3D的代码之前,需要对其有个大概的认识。本节主要列出Away3D中常用的类,并附上说明:

View3D:

Away3D的入口类,即创建该类就会初始化一个可以使用GPU呈现3D的对象,需要注意的是该类是继承自Sprite,所以可以将其添加到2D显示列表中,但是最终呈现3D是在Stage3D中进行的,所以实际的3D对象并非存在View3D这个2D容器中。View3D更像一个管理3D内容的管理器,并且每帧都需要调用其render方法来渲染其内部的所有3D对象。

Scene3D:

每个View3D对象创建时或运行时都可以指定一个Scene3D对象,不进行指定时其内部会实例化一个Scene3D对象,可以使用View3D的scene属性获取到Scene3D对象,该对象类似原生列表中的Stage对象,是所有3D显示对象的根容器,我们真正用于渲染的3D对象都应该添加到该对象中。

ObjectContainer3D:

3D容器对象,该对象支持3D对象的层级嵌套。

Camera3D:

类似于Scene3D对象,Camera3D对象也是作为View3D对象的一个属性存在的。

OrthographicLens:

正交镜头对象,可以设定到Camera3D对象中,控制3D渲染使用正交矩阵进行渲染。

PerspectiveLens:

透视镜头对象,可以设定到Camera3D对象中,控制3D渲染使用透视矩阵进行渲染。

Mesh:

网格对象,最终会使用GPU进行绘制的对象,Mesh对象主要包含Geometry、Material及Animator对象,这3个对象分别描述了一个3D对象的形状、材质及动作;内部包含多个SubMesh对象,与Geometry的SubGeometry对象一一对应。

Geometry:

几何对象,几何对象用来记录一个3D对象的顶点、法线、uv等信息。

Texture:

贴图对象,贴图对象记录程序会使用到的位图信息,但不会包含诸如光照或者滤镜信息。

Material:

纹理对象,纹理对象包含会贴图对象,同时可以设置光照或滤镜信息来产生特殊的效果。

animators包:

动画包,包含大量3D动画数据的解析和实现,主要包括骨骼动画、顶点动画、UV动画等。

DirectionalLight:

光源对象,该对象用来实现直线光源。

PointLight:

光源对象,该对象用来实现点光源。

loaders包:

加载及解析包,包含多种3D文件的加载及解析实现。

好文链接:

关于AWAY3D的MESH、GEOMETRY的区别

Texture(纹理)和Material(材质)概念上的区别

【Away3D代码解读】(一):主要类及说明的更多相关文章

  1. Android开源代码解读-基于SackOfViewAdapter类实现类似状态通知栏的布局

    一般来说,ListView的列表项都会采用相同的布局,只是填充的内容不同而已,这种情况下,Android提供了convertView帮我们缓存列表项,达到循环利用的目的,开发者也会使用ViewHold ...

  2. 【Away3D代码解读】(三):渲染核心流程(渲染)

    还是老样子,我们还是需要先简略的看一下View3D中render方法的渲染代码,已添加注释: //如果使用了 Filter3D 的话会判断是否需要渲染深度图, 如果需要的话会在实际渲染之前先渲染深度图 ...

  3. 【Away3D代码解读】(二):渲染核心流程(简介、实体对象收集)

    我之前解析过Starling的核心渲染流程,相比Away3D而言Starling真的是足够简单,不过幸运的是两者的渲染流程是大体上相似的:Starling的渲染是每帧调用Starling类中的rend ...

  4. 【Away3D代码解读】(四):主要模块简介

    数据模块: Away3D中最核心的数据类是Mesh类,我们先看看Mesh类的继承关系: NamedAssetBase:为对象提供id和name属性,是Away3D大部分类的基类: Object3D:3 ...

  5. 【Away3D代码解读】(五):动画模块及骨骼动画

    动画模块核心存放在away3d.animators包里: Away3D支持下面几种动画格式: VertexAnimator:顶点动画 SkeletonAnimator:骨骼动画 UVAnimator: ...

  6. 【Away3D代码解读】其它一些的记录(持续更新)

    查看当前正在使用的AGAL代码可以在程序开始时添加下面的代码,AGAL代码会被trace出来: Debug.active = true; 具体的输出是在MaterialPassBase类的update ...

  7. Android MVP模式 谷歌官方代码解读

    Google官方MVP Sample代码解读 关于Android程序的构架, 当前(2016.10)最流行的模式即为MVP模式, Google官方提供了Sample代码来展示这种模式的用法. Repo ...

  8. 优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案

    简介 本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发 ...

  9. Hybrid----优秀开源代码解读之JS与iOS Native Code互调的优雅实现方案-备

    本篇为大家介绍一个优秀的开源小项目:WebViewJavascriptBridge. 它优雅地实现了在使用UIWebView时JS与ios 的ObjC nativecode之间的互调,支持消息发送.接 ...

随机推荐

  1. Qt: 内建对话框(各种对话框都有了,且用到了qobject_cast解析sender的技术)

    #include "BuiltinDialog.h" #include <QtGui/QTextEdit> #include <QtGui/QPushButton ...

  2. Qt:使用自定义的字体

    Qt:使用自定义的字体 1. 下载字体文件 2. 加载字体文件 3. 使用字体   QFontDatabase::addApplicationFont("XENOTRON.TTF" ...

  3. Sequel Pro 免费的MySQL管理客戶端(有SSH部分)

    官方站點:http://www.sequelpro.com Sequel Pro 的原名是 CocoaMySQL,是一个与 phpMyAdmin 類似的 MySQL 管理工具.它是由 Cocoa 和面 ...

  4. 游标-Oracle游标汇总

    游标(Cursor):用来查询数据库,获取记录集合(结果集)的指针,可以让开发者一次访问一行结果集,在每条结果集上作操作.    游标可分为:    <!--[if !supportLists] ...

  5. jquery的smartWizard插件使用方法

    jquery 的smartWizard插件常用在一些向导式的,按步骤的功能中,是的用户按照我们设定的步骤进行操作,这样一方面有较好的用户体验,可以将庞大的表格 数据分解成多个步骤,是的每个步骤的数据量 ...

  6. 锋利的JQuery-认识Jquery

    今天开始学习菜鸟的JQuery,这本书在一前看过一遍了,但是由于虽然看了,但是将近一年在工作中基本上没有用上,很是悲催,菜鸟想,用一到两个星期时间把这本书看一遍吧.就像菜鸟前面的jsdom一样,菜鸟写 ...

  7. margin,border,padding简介

    站在图中心 Content 的角度理解: margin为外边框,border为边框,padding为内边框. 在xml中设置: 如果上下左右的距离都是相同可以通过 android:layout_mar ...

  8. VS2010调试 --指南 Reference from : http://blog.csdn.net/kingzone_2008/article/details/8133048

    1 导言 在软件开发周期中,测试和修正缺陷(defect,defect与bug的区别:Bug是缺陷的一种表现形式,而一个缺陷是可以引起多种Bug的) 的时间远多于写代码的时间.通常,debug是指发现 ...

  9. Complete The Pattern #2

    Complete The Pattern #2 Description: Task: You have to write a function pattern which creates the fo ...

  10. 大四实习准备5_android广播机制

    2015-5-1 android 广播机制 5.1简介 分为标准广播(Normal broadcasts)(无先后顺序,几乎同时接收,不可截断)和有序广播(Ordered broadcasts)(有先 ...