zoukankan      html  css  js  c++  java
  • 【Away3D代码解读】(一):主要类及说明

    在深入解读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(材质)概念上的区别

  • 相关阅读:
    openwrt 更改 debug 等级(hostapd)
    openwrt 中procd
    openwrt增加串口登录需要密码
    openwrt设置语言的过程
    小程序感悟123
    如何用php实现分页效果
    如何利用h5将视频设置为背景
    关于js中定时器的返回值问题
    canvas二:绘制圆和其他曲线
    canvas一:基本认识
  • 原文地址:https://www.cnblogs.com/hammerc/p/4128547.html
Copyright © 2011-2022 走看看