STAGE3D基本封装
学习3D的一个好方法,自己进行简
单封装
最简单的播放一个3D模型
• 播放一个3dsmax2012
导出的dae模型
• 看实例
得到Context3D对象 配置后台缓冲区域
创建透视变换矩阵对象 创建View矩阵
创建模型矩阵 创建顶点缓存 三角形索引缓存 材质缓存0~8个 着色器
准
备
模
型
渲
染
周
期
清场
显示后台渲染缓冲区
为着色器设置资源-顶点
为着色器设置资源-纹理
为着色器传参 设置本资渲染用的着色器
drawTriangles,根据三角形索引执行渲染
清除本次渲染所设置资源
模
型
渲
染
流
程
,
重
复
源代码
说明
• stage.stage3Ds[0].addEventListener( Event.CONTEXT3D_CREATE, init3D);
• stage.stage3Ds[0].requestContext3D();
• //得到Context3D对象
• _context3D = _stage.stage3Ds[0].context3D;
• //配置后台缓冲区域
• _context3D.configureBackBuffer(_viewPort.width,_viewPort.height, 2, true);
• //创建透视变换矩阵对象,我们这儿会设定他的值,通过近景面、远景面、视
角、屏宽高比得到,有真正的源代码,这儿也就不多说了
• _projection=new Matrix3D();
• //摄像机在场景中的模型矩阵
• _viewByCamera=new Matrix3D();
• //将_viewByCamera进行invert后就得到了View矩阵
回
流程
快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计
回流程
var str:String=readString("pz1.xml");
var dae:ColladaParser=new ColladaParser();
dae.start(str);
_vertexBuffer=_context3D.createVertexBuffer(dae.mesh.vertexVector.length/5,5);
_vertexBuffer.uploadFromVector(dae.mesh.vertexVector,0,dae.mesh.vertexVector.length/5);
_indexBuffer=_context3D.createIndexBuffer(dae.mesh.indexVector.length);
_indexBuffer.uploadFromVector(dae.mesh.indexVector,0,dae.mesh.indexVector.length);
注意单位,转轴,是否有骨骼。
相关的一些说明
• IndexBuffer3D IndexBuffer3D 类
表
关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf
示上载到渲染上下文的一组三角形索引。
• Program3D Program3D 类表示上载到渲染上下文的一对渲染程序(也称
为“着色器”)。
• VertexBuffer3D VertexBuffer3D 类表示上载到渲染上下文的一组顶点数据。
• Texture Texture 类表示上载到渲染上下文的二维纹理。
Program
顶点
m44 op va0 vc0
//mvp转换,并输出
mov v0 va1//uv
片面
tex ft0 v0 fs0
//纹理贴图
mov oc ft0
//输出
AGAL帮助
Dispplay3D
MVP的文章
回流程
迈向实用性
场景
可视对象
摄像机
可视对象
灯光
骨骼
与3D引擎一样,我们对
scene、mesh、camera进行封装
以实现自己的3D图形库
类图
必须的Object3D
• 一个必须的矩阵_world,这也是MVP中的M。
• 通过_world我们可以得到一个全局矩阵
• 通过_world,我们得到x、y、z、scaleX等等属性。
• 实现父子关系,容器功能。对于骨骼非常的重要。对于摄
像机也非常重要,比如跟随。
3D场景
• 3D场景,负责对场景中所有3D对象进行管
理、驱动。
• 渲染列表只包含可视区域内
• 渲染列表排序
• 背景色
得到Context3D对象
配置后台缓冲区域
建立渲染列表
执行周期渲染
可视对象
• 往往同一个模型,在应用会重复出现。
• 做一个模型的母体。其他的克隆。
• 注意Program3D,可能会有所不同。
• 同模型放在一起渲染,可以减少一些代码执行
• 如果有骨骼...
解晰模型
构建母体
增加至场景
克隆
摄像机
• 视角 近景面 远景面 宽高比
• 摄像机提供了MVP中的VP,可以先算出来,不要
渲染模型时每个都算
http://hi.baidu.com/wulaiyatou/blog/item/b1a63f6e2c01e5cf80cb4a2b.html