Stage3D大冒险
摘自:http://dreamana.com/weblog/?p=92
摘自:http://baike.baidu.com/view/6794042.htm
Stage3D的Flash Player和AdobeAIR的API提供了充分的硬件加速架构,带来令人惊叹的视觉效果,使桌面浏览器和iOS和Android应用程序都能够使用先进的2D和3D功能。无论你是使用最先进的3D游戏引擎或intuitive(愤怒的小鸟说采用的快如闪电的椋Starling2D框架),这组基础的GPU加速API,在视频游戏开发利用GPU硬件加速,为开发人员提供了相当的灵活性、显着的性能提升
Molehill是什么?
Molehill是Flash Stage3D技术的开发代号(现在正式命名Stage3D)。它能让下一代Flash游戏通过显卡GPU硬件加速去渲染3D图形(或成千上万个“精灵”),从而降低CPU负载。
Molehill不是什么?
Molehill是非常低层的API,只提供基本的3D渲染功能。它不是一个游戏引擎(如Unity3d或者Unreal又或者ID Tech),一个游戏引擎还包含物理模拟,音频,音乐,碰撞检测等等补充的游戏函数。取而代之的是,你可使用Molehill这样的低层API去制作你自己的游戏引擎。与OpenGL或Direct3D相似,Molehill是一些非常基本的函数集合,是游戏和游戏引擎的基本构件。
基本3D术语
Mesh 网格
3D模型在游戏里通常称为网格。这些网格是用3D建模软件(Maya,3DsMax,Blender等)制作。定义一物体的三维形状,通常也会给它上色。
Polygon 多边形
一个网格可以由成千上万个多边形组成。任何多边形都能分解成一个三角形的集合,所以显卡会将3D几何图形当成一大堆三角形去处理。(Triangle 三角形, Quad 四边形, Polys 多边形数, Tris 三角形数)
Vertex 顶点
一个多边形由三个或多个“角”的位置决定的,这些“角”叫做顶点。比如一个四方形有4个顶点,一个3D盒有6个面,8个顶点。
Texture 材质/纹理
为了绘制一个网格(除非你只要渲染线框),你需要一张或多张图片去上色,这些图片叫做材质(或纹理)。可以将它们想象成墙纸:贴材质到网格上,将网格包起来,而且图片可以拉伸去适应网格形状。(俗称“贴图”)
Shaders 着色器
着色器是用来定义视觉风格细节的,定义“如何画”一些东西。比如某些着色器可能用于渲染亮金属的,又比如有些用来表现爆炸的。
在Stage3D的API中,着色器保存在Program3D类里面,为了创建program3D你需要创建一个fragment program和一个vertex program,两个加起来就是一个Shader(着色器)。
Vertex Program 顶点程序
每渲染一次,顶点程序会对网格各个顶点运算一次,然后在渲染之前得出“最终位置”。除了计算位置可以附带其他信息比如颜色。凡是渲染网格都需要一个顶点程序,无论是非常简单的(按原位置绘制每一个顶点),还是复杂的(将整个网格变形去完成一个步行循环动画)。
Fragment Program 片元程序
在Molehill中,片元程序是用来定义怎么处理一个特定的网格的视觉渲染。描述在给定一个表面/材质对光的反应。不同的物质对光的反应不一样(取决于物体的反射率和透明度),你需要用不同的代码去模拟它们。片元程序通常使用材质通过复杂的函数去决定屏幕上每个像素显示什么颜色,有时候会为了合成特效使用一个以上的材质。渲染网格都要需要一个片元程序,可能是简单的(只用材质原本)或者复杂的(混合两个材质并染成半透明泛光的红色)。
Vector 向量/矢量
Vector3D是一个含有x,y,z值的对象,用来描述3D空间里面的位置。
Normal 标准化向量/单位向量/法向量/法线
标准化向量是一种通常用来描述方向的特殊向量,长度总是等于1,所以也称为单位向量。
Matrix 矩阵
如果要只通过一步就对某个对象完成移动、旋转、缩放操作,就需要用到矩阵。Matrix3D是一个4×4矩阵,内建了平移、旋转、缩放函数。
Stage3D大冒险的更多相关文章
- 菜鸡学C语言之真心话大冒险
题目描述 Leslie非常喜欢真心话大冒险的游戏.这一次游戏的规则有些不同.每个人都有自己的真心话,一开始每个人也都只知道自己的真心话.每一轮每个人都告诉指定的一个人他所知道的所有真心话,那么Lesl ...
- 一卡通大冒险(hdu2512)
一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Sub ...
- HDU 2512 一卡通大冒险(第二类斯特林数+贝尔数)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2512 题目大意:因为长期钻研算法, 无暇顾及个人问题,BUAA ACM/ICPC 训练小组的帅哥们大部 ...
- HDUOJ----2512一卡通大冒险
一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 一卡通大冒险(hdu 2512)
因为长期钻研算法, 无暇顾及个人问题,BUAA ACM/ICPC 训练小组的帅哥们大部分都是单身.某天,他们在机房商量一个绝妙的计划"一卡通大冒险".这个计划是由wf最先提出来的, ...
- android 真心话大冒险 摇色子
android 真心话大冒险 摇色子 软件
- HDU2512 一卡通大冒险 —— 第二类斯特林数
题目链接:https://vjudge.net/problem/HDU-2512 一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- HDU 2512 一卡通大冒险(dp)
一卡通大冒险 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Subm ...
- 123457123457#1#-----com.threeapp.ErTongHuaXue01----儿童滑雪大冒险
123456123456#0#-----com.threeapp.ErTongHuaXue01----儿童滑雪大冒险
随机推荐
- Python中print用法里面% ,"%s 和 % d" 代表的意思
Python 编程 里面% . "%s 和 % d" 代表的意思 %s,表示格化式一个对象为字符 %d,整数 "Hello, %s"%"zhang3& ...
- 201777010217-金云馨《面向对象程序设计Java》第八周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- javascript高级实战学习
学习目标: - 理解面向对象开发思想 - 掌握 JavaScript 面向对象开发相关模式 - 掌握在 JavaScript 中使用正则表达式 - typora-copy-images-to medi ...
- 使用angularJS接收json数据并进行数据的显示
1.引入JS <script type="text/javascript" src="../plugins/angularjs/angular.min.js&quo ...
- Python 包:
分享一波油藏描述方面的Python开源包 前一阵去捷克参加了数学地质年会(IAMG2018),听完汇报,发现在数学地质领域用python的越来越多了,他们的很多成果都是用python做出来的.不管喜不 ...
- hdu3068-最长回文-马拉车(Manacher)算法
http://acm.hdu.edu.cn/showproblem.php?pid=3068 脑子转个弯总算看懂马拉车算法了.记录一下思路和模板. 马拉车算法是在O(n)的时间内求出最大回文子串. 一 ...
- Aliyun STS Java SDK示例
package com.aliyun.oss.demo; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.exceptions.Cl ...
- 使用async-profiler简单分析zeebe 工作流引擎的性能
刚开始的时候直接使用的系统暴露的prometheus metrics,发现越高的版本反而性能越差,期间使用过了 perf 打算使用perf 生成火焰图的,但是因为符号缺失,只找到了占用较高的任务,详细 ...
- [LeetCode] 9. Palindrome Number 验证回文数字
Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same back ...
- 【day04】PHP
一. 运算符 1.按功能分 (1)算术运算符 (2)字符运算符 (3)赋值运算符 (4)比较运算符 (5)逻辑运算符 (6)错误抑制符 (7)执行运算符 2.逻辑运算符 : ! & ...