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----儿童滑雪大冒险
随机推荐
- 201871010108-高文利《面向对象程序设计(java)》第十三周学习总结
项目 内容 这个作业属于哪个课程 <任课教师博客主页链接> https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 <作业链接地址> ht ...
- 201871010125 王玉江 《面向对象程序设计(Java)》第八周实验总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- socket服务
1.socket_server import socket import threading server = socket.socket(socket.AF_INET, socket.SOCK_ST ...
- biopython处理中蜂基因组
1.安装包 pip install bcbio-gff pprint 2.显示中蜂的序列 from Bio import SeqIO genome_name = 'GCF_001442555.1_AC ...
- Git分支的介绍及Gitlab的部署
Git分支介绍几乎所有的版本控制系统都以某种形式支持分支. 使用分支意味着你可以把你的工作从开发主线上分离开来,以免影响开发主线.Git 处理分支的方式可谓是难以置信的轻量,创建新分支这一操作几乎能在 ...
- Linux性能优化实战学习笔记:第四十五讲
一.上节回顾 专栏更新至今,四大基础模块的最后一个模块——网络篇,我们就已经学完了.很开心你还没有掉队,仍然在积极学习思考和实践操作,热情地留言和互动.还有不少同学分享了在实际生产环境中,碰到各种性能 ...
- mysq-5.7忘记密码修改
一,停止mysql /etc/init.d/mysqld stop 二,启动mysql mysqld_safe --skip-grant-tables 安全模式+免验证启动服务 三,登入mysql服务 ...
- WC 2008 观光计划(斯坦纳树)
题意 https://www.lydsy.com/JudgeOnline/problem.php?id=2595 思路 是一道比较裸的斯坦纳树呢- 题意等价于选出包含一些点的最小生成树,这就是斯坦纳树 ...
- C#用mouse_event模拟鼠标点击的问题
1.首先添加using System.Runtime.InteropServices; 2.为鼠标添加模拟点击的各种参数 //鼠标事件 因为我用的不多,所以其他参数没有写 1 2 3 4 5 6 7 ...
- django实战(二)--带多字段模糊查询的分页(也是不容易)
上节我们实现了分页功能,这节我们要实现对模糊查询后的结果进行分页.(引入了bootstrap框架) urls.py from django.urls import path from . import ...