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----儿童滑雪大冒险
随机推荐
- Mysql使用语法总结
查看数据库 show databases; 使用数据库 use honeypot; 查看数据表 show tables; 查看数据表结构 desc TABLEname; 修改数据表的某个字段的类型 a ...
- mysql-存储过程-触发器-事务---4
本节所讲内容: 存储过程 触发器 事务 一.存储过程 什么是存储过程 大多数SQL语句都是针对一个或多个表的单条语句.并非所有的操作都怎么简单.经常会有一个完整的操作需要多条才能完成.存储过程(S ...
- cisco
配置ntp conf t ntp server 172.28.10.10 clock timezone Beijing 8 show clock 配置端口组 interface Port-channe ...
- Portainer
docker search portainer docker pull portainer/portainer docker run -it \ --name prtainer \ -p 9000:9 ...
- uiautomator手动调试与快速高度设置
创建java工程:Demo1包名:com.bing.cn类名:Test测试用例:testDemo android create uitest-project -n Demo1 -t 7 -p E:\e ...
- appium 爬取抖音
1.MongoDB.py import pymongo from pymongo.collection import Collection client = pymongo.MongoClient(h ...
- day11_7.11 闭包函数与装饰器
补充: callable 代表可调用的,加括号可以执行.(函数或者类) import this 查看python之禅 一.闭包函数 所谓闭包函数,就是定义在函数内部的函数,也就是函数定义的嵌套.而在 ...
- C++使用OpenCV保存和读取XML
代码 // save xml file cv::FileStorage file(save_transform, cv::FileStorage::WRITE); cv::Mat TransM = c ...
- 洛谷 P3998 [SHOI2013]发微博
洛谷 P3998 [SHOI2013]发微博 洛谷传送门 题目描述 刚开通的 SH 微博共有n个用户(1Ln标号),在这短短一个月的时间内, 用户们活动频繁,共有m 条按时间顺序的记录: ! x 表示 ...
- JDOJ 3055: Nearest Common Ancestors
JDOJ 3055: Nearest Common Ancestors JDOJ传送门 Description 给定N个节点的一棵树,有K次查询,每次查询a和b的最近公共祖先. 样例中的16和7的公共 ...