
翻译
文章平均质量分 77
铁文
这个作者很懒,什么都没留下…
展开
-
创建XPCOM组件 3. 使用XPCOM组件
缩了很多水... 3. 使用XPCOM组件原文:https://developer.mozilla.org/en/Creating_XPCOM_Components/Using_XPCOM_Components 玩转XPCOM的最好方法是是先看看它如何被客户端使用。 Mozilla浏览器之类的应用程序是复杂、模块化的XPCOMzujian组件的客户。实际翻译 2011-12-08 16:27:03 · 1527 阅读 · 0 评论 -
实时渲染(第三版):第二章 图形渲染管道 2.1 体系结构
第二章 图形渲染管道 一环薄弱,全局必跨。 ----匿名 本章介绍实时图形的核心部分:图形渲染管道,也简单地称作管道。管道的主要功能是生成,或者说是渲染一个2D图像,前提是你提供了一个虚拟的相机、3D对象、光源、着色方程、纹理等等。渲染管道是实时渲染的底层工具,如图2.1所示。图像中对象的问你只和形状有下面几个方面决定:对象的几何形状、翻译 2011-11-05 12:17:03 · 2502 阅读 · 0 评论 -
实时渲染(第三版):第一章 简介
第一章 简介 实时渲染关注于计算机上的快速图像。它是最高交互的计算机图形区域。一幅图像显示在屏幕上,观看者做出动作或反应,从而影响下面生成的内容。反应和渲染的周期很快,因此,观看者看到的不是独立的图像,而是动态连续的过程。 显示图像的速率用fps(帧每秒)或Hz(赫兹)衡量。1fps的情况下,不要指望什么交互性;用户只会痛苦地瞅着每幅图像出来。在6fps左右,交互性有所好转。在翻译 2011-11-04 22:29:02 · 4085 阅读 · 1 评论 -
实时渲染(第三版):第四章 转换 4.3.2
4.3.2 四元组转换 我们现在开始学习四元组的一个子类别,称为单位四元组,它们都是单位长度。单位四元组的最重要的事实是它们可以表示任何三维旋转,并且这种表示极其简洁简单。 现在,我们来看看单位四元组为啥对旋转和方向如此有用。首先,将拥有四个坐标的点或向量(p = (Px Py Pz Pw)T )放到四元组p^中,假设有一个单位四元组q^ = (sinΦuq, cosΦ)。那么翻译 2011-11-26 09:30:58 · 1353 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.4 顶点混合
4.4 顶点混合想象一下动画一个数字角色的胳膊的情况,使用两个部分,前臂和上臂,如图4.10所示。可以对它们使用刚体转换进行动画操作。但之后这两个部分之间的关节就不像是真实的臂肘。这是因为使用了两个单独的对象,而关节由这两个单独对象的重叠部分组成。显然,使用一个对象会比较好。但是,静态模型部分不会解决关节的灵活问题。图 4.10 左侧,对组成胳膊的两个单独的部分(前臂和上臂)使用刚体转翻译 2011-11-26 12:00:24 · 2737 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.5 变形
4.5 变形 从一个3D模型变形到另外一个有时在执行动画时有用。假设某个模型显示于t0时刻,我们希望在t1时刻将之改变为另外一个模型。从t0到t1的这段时间,是使用某种插值生成的一系列连续的混合的模型。变形的一个示例如图4.13所示。 变形由两个主要的问题组成,分别叫做顶点对应问题和插值问题。给定两个模型,它们可能拥有不同的拓扑结构、不同的顶点数目和不同的网格连接性,通常不得不翻译 2011-11-26 15:45:40 · 1126 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.2.2 4.2.3 4.2.4
4.2.2 从欧拉转换矩阵中提取参数 有时需要一个过程,来从一个正交矩阵中提取偶来参数h、p、r。该过程如公式4.19(4*4的矩阵被舍弃,3*3的矩阵已提供了足够的旋转信息)所示: 公式4.19中,三个旋转矩阵的串联产生: 从这个公式中,很显然,可以看出,pitch参数可以通过sin(p) = f21求得。还有,f01除以f11,f20除以f22,和head翻译 2011-11-19 20:02:35 · 1401 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.2.1 欧拉转换
4.2 特殊矩阵转换和操作 本节将介绍或扩展若干实时图形学的基本矩阵转换和操作。首先我们介绍欧拉转换(及其提取参数),它是描述朝向的直观方式。然后涉及从一个单独的矩阵中获取一组基本转换。最后,扩展旋转为绕着任意轴进行。4.2.1 欧拉转换 该转换是一种构建朝向自己(如相机)的矩阵、或某特定方向的实体的直观方式。它的名称来自于瑞士伟大的数学家莱昂哈德.欧拉(1707-1783翻译 2011-11-19 16:23:53 · 1471 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.3.1
4.3 四元组 早在1843年,William Rowan Hamilton就发明了四元组作为复数的扩展;但直到1985年,四元组才被Shoemake引入到计算机图形学领域。它是一个强大的工具,可以用来构建拥有引人注目的特性的转换;并且,从某种意义上讲,它比欧拉角和矩阵更加优越(尤其是在旋转和方向上)。给定一个轴和角度,将之转换到四元组,或者反过来将四元组转换到一个轴和角度,是极其简单的;翻译 2011-11-21 21:32:23 · 1016 阅读 · 0 评论 -
实时渲染(第三版):第二章 图形渲染管道 2.4 光栅化阶段
。2.4 光栅化阶段 给定转换和投影后的顶点及其相关的着色数据(全部来自几何形状阶段),光栅化阶段的目标是计算和设置对象覆盖的像素的颜色。这一个过程叫做光栅化或扫描转换(这种转换将屏幕空间中的2D顶点(每个顶点都有一个z值(深度值)和各种相关的着色信息)转换到屏幕上的像素)。 图2.8 光栅化阶段细分为多个功能阶段 和几何形状阶段类似,本阶段也细分为几个功能阶段:建翻译 2011-11-06 17:29:58 · 2814 阅读 · 0 评论 -
实时渲染(第三版):第三章 图形处理单元 3.1 3.2
第三章 图形处理单元 显示器就是计算机。 --NVIDIA CEO 黄仁勋。 从历史上看,硬件图形加速起始于管道的最后,首先执行三角形扫描线的光栅化。随后,硬件的连续生成物再回到管道处理,此处,一些更高层应用阶段算法被交付给硬件加速器。专用硬件和软件相比,唯一的优势是速度,而速度是关键的。 在过去的十年里,图形硬件已经经历了一翻译 2011-11-10 21:27:52 · 1237 阅读 · 0 评论 -
创建XPCOM组件 2. 概述
前言和前部分概述地址:http://blog.youkuaiyun.com/xwjbs/article/details/4385445http://blog.youkuaiyun.com/xwjbs/article/details/4388821 2. 概述原文:https://developer.mozilla.org/en/Creating_XPCOM_Components/An_Overview翻译 2011-12-01 11:09:50 · 2551 阅读 · 1 评论 -
实时渲染(第三版):第二章 图形渲染管道 2.5
2.5 管道总览 点、线和三角形是用来建立模型或对象的渲染基元。假设有一个交互式的计算机辅助设计(CAD)应用,用户正检查一个手机的设计。我们将跟随这个模型通过整个图形渲染管道,该管道由三个主要阶段:应用、几何形状和光栅化。场景使用透视投影渲染到屏幕上的窗口。在这个简单的例子中,手机模型包含线(以显示各个部分的边缘)和三角形(以显示表面)。部分三角形被使用2D图像进行了纹理操作,以表示键翻译 2011-11-07 21:14:39 · 175 阅读 · 0 评论 -
XPCOM在Gecko 2.0中的更改
XPCOM在Gecko 2.0中的更改 原文:https://developer.mozilla.org/en/XPCOM/XPCOM_changes_in_Gecko_2.0引入于Firefox 4 / Thunderbird 3.3 / SeaMonkey 2.1 Gecho 2中有几个更改,影响了XPCOM组件的兼容性。本文对它们作出详细介绍,并提供对更新代码的一些建议。翻译 2011-11-28 15:24:17 · 2255 阅读 · 0 评论 -
实时渲染(第三版):第三章 图形处理单元 3.3 3.4
3.3 可编程着色的演变 可编程着色框架的思想要回溯到1984年Cook的着色树[194]。图3.3显示了一个简单的着色器及其着色树。在80年代后期,根据这种思想,开发了着色语言RenderMan[30, 1283]。它在今天仍然广泛地用于电影产品渲染。在GPU本地支持可编程着色器之前,曾多次尝试使用多渲染通道实现可编程着色器的实时操作。在1999年,《Quake III: Arena》翻译 2011-11-12 18:22:40 · 1451 阅读 · 0 评论 -
实时渲染(第三版):第二章 图形渲染管道 2.2 2.3
2.2 应用阶段 开发者对应用阶段发生的事物拥有完全的控制;能够完全决定实现,为提高性能在稍后修改它。此处的改变也会影响到后续阶段的性能。例如,一个应用阶段的算法或设定可以减少将被渲染的三角形的数量。 应用阶段的最后,将被渲染的几何形状将被填充到几何形状阶段。最终显示在屏幕(或使用的其他什么输出设备)上是那些渲染基元,如点、线和三角形。这是应用阶段最重要的任务。 这翻译 2011-11-05 22:03:14 · 1968 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.1.1 4.1.2
第四章 转换 “要是愤怒的航船改变了方向 围绕到你睡着的额头,和身体? 永远不用担心 那悲惨世界中抽象的风暴的暴力。” --罗伯特·潘·沃伦 转换是一种操作,以某种方式对实体(如点、向量或者颜色等)进行转化。对于计算机图形从业者,掌握转化极其重要。通过转化,你可以对对象、光和相机等进翻译 2011-11-16 20:56:36 · 1185 阅读 · 0 评论 -
实时渲染(第三版):第三章 图形处理单元 3.7 3.8
3.7 合并阶段 如节2.4.4所述,合并阶段是各片段(由顶点着色器生成)的深度和颜色和帧缓冲进行组合的地方。另外,此阶段还可以发生模板缓冲和z缓冲的操作,以及颜色混合。颜色混合通常用于透明和合成操作(参考节5.7)。 合并阶段是介于固定功能阶段(如剪切)和完全可编程着色器阶段之间的一个有趣的中间点。虽然它不可编程,但其操作却是高度可配置的。特别地,可以配置颜色混合来执行大量不同翻译 2011-11-15 20:48:33 · 1372 阅读 · 0 评论 -
实时渲染(第三版):第三章 图形处理单元 3.5 3.6
3.5 几何着色器 在2006年后期,随着DIrectX 10的发布,几何着色器被增加到硬件加速图形管道。它在管道中紧随顶点着色器之后,它的使用是可选的。它是着色器模型4.0的必选部分,但并没有在早期的着色器模型中使用。 几何着色器的输入是一个单独的对象及其顶点。该对象通常是网格中的一个三角形、一个线段或者只是简单的一个点。另外,几何着色器可以定义和处理扩展的基元。特别地,可以翻译 2011-11-13 21:32:18 · 1457 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.1.5, 4.1.6, 4.1.7, 4.1.8
4.1.5 转换串联 由于矩阵乘法的不可交换性,矩阵操作的顺序至关重要,转换的串联因此是顺序相关的。 顺序依赖的一个例子,假设有两个矩阵S和R。S(2,0.5,1)执行缩放,Rz(π/6)绕着z轴逆时针旋转π/6弧度。这两个矩阵可以用两种方式相乘,而结果会完全不同,如图4.4所示。图 4.4 矩阵相乘的顺序相关性示例。上方的一行,首先应用Rz(π/6),然后是S(s)翻译 2011-11-19 11:44:19 · 1081 阅读 · 0 评论 -
实时渲染(第三版):第四章 转换 4.1.3 4.1.4
4.1.3 缩放 缩放矩阵S(s) = S(sx,sy,sz), 将实体沿着xyz轴分别缩放 sx,sy,sz。这就是说缩放矩阵可以用来放大或缩小一个对象。si(i∈{x, y, z}, )越大,实体在对应方向上也就越大。S的公式如4.8所示: 图4.4显示了缩放矩阵的效果。如果sx=sy=sz,则缩放操作被称为是统一的,否则是非统一的。有时用各向同性和各向异性替代统一和非翻译 2011-11-17 21:53:16 · 1041 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.18 在多人游戏中处理玩家的状态变更)
1.18 在多人游戏中处理玩家的状态变更问题 你想要侦测多人模式下玩家何时断开连接。解决方案 实现和处理GKMatchDelegate类的match:player:didChangeState:托管消息。讨论 在多人游戏中,一个玩家知道其它玩家的状态是重要的。此处的状态,是连接或断开连接。 假设你已经编写了一个赛车游戏,也使用了matchmaki翻译 2011-10-21 13:11:09 · 1691 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.8 获取本地玩家的好友信息)
1.8 获取本地玩家的好友信息问题 你已添加好友到本地玩家账户,但现在想枚举这些好友并获得他们的信息,比如他们的别名。解决方案 使用本地玩家对象的friends属性。讨论 GKLocalPlayer有一个叫作friends的属性,为NSA翻译 2011-10-17 18:26:12 · 2196 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.6 获取本地玩家的信息)
1.6 获取本地玩家的信息问题 验证了本地玩家,你还需要获得他的别名和其它一些信息。解决方案 使用GKLocalPlayer的各个有效属性,如alias。讨论 GKPlayer对象表示游戏中心中的玩家。每个玩家拥有一些非常重要的属性:原创 2011-10-17 13:31:11 · 1528 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.7 在游戏中心添加朋友)
1.7 在游戏中心添加朋友问题 你已经学会如何验证本地玩家,但为了对其它玩家测试游戏中心API,你需要给本地玩家账户添加一些好友。解决方案 使用iOS模拟器的内建游戏中心应用程序完成这一操作。讨论 在沙盒服务器添加好友,遵循下面这些步骤:翻译 2011-10-17 17:22:19 · 1388 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.4 添加游戏工具包框架)
1.4 添加游戏工具包框架问题 你建立了工程,并且想要开始在应用程序中结合游戏中心API。解决方案 添加游戏工具包框架到应用程序。讨论 为了使用游戏中心的能力,你必须链接游戏工具包框架,步骤如下(假设你已经创建了一个Xcode工程):原创 2011-10-16 20:15:46 · 1730 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.5 在游戏中心验证本地玩家)
1.5 在游戏中心验证本地玩家问题 你知道使用游戏中心功能的第一步是验证本地玩家,但你不知道如何去做。解决方案 使用GKLocalPlayer类的authenticateWithCompletionHandler:实例方法。讨论 在游戏中原创 2011-10-16 20:54:46 · 2489 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.3 为iOS应用程序设置游戏中心)
1.3 为iOS应用程序设置游戏中心问题 你想在iOS应用程序中连接到游戏中心服务器。解决方案 你需要在iTunes Connect中创建应用程序,并在iTunes Connect和应用程序的info.plist文件中设置应用程序的包标识。讨论原创 2011-10-15 20:00:58 · 2322 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.1 GCD和块对象介绍)
游戏中心 游戏中心是Apple技术,允许游戏开发者整合排行榜、成就、多人支持以及其它一些事物到他们的iOS应用程序中。它为啥如此重要?就是因为Apple为你处理了基础设施服务。Apple还为iOS开发者提供了一个框架,叫作GameKit,使得游戏中心集成到iOS应用程序原创 2011-10-14 10:42:39 · 3456 阅读 · 1 评论 -
编写苹果游戏中心应用程序(翻译 1.9 在iTunes Connect中创建排行榜)
1.9 在iTunes Connect中创建排行榜问题 你不知道如何在iOS游戏中结合排行榜。解决方案 在iTunes Connect中建立排行榜。讨论 游戏中心的功能之一是在iOS应用程序中管理排行榜。举例来说,你可以编写一个竞技游戏,翻译 2011-10-17 21:19:00 · 4006 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.10 向排行榜提交得分)
1.10 向排行榜提交得分问题 你已经在iTunes Connect中创建了至少一个排行榜,现在你想将玩家的成绩保存到排行榜。解决方案 使用GKScore类的实例方法reportScoreWithCompletionHandler:。讨论翻译 2011-10-18 13:17:42 · 2310 阅读 · 1 评论 -
编写苹果游戏中心应用程序(翻译 1.17 多人游戏支持和竞技)
1.17 多人游戏支持和竞技问题 你想让多个玩家同时加入到你的游戏中去。解决方案 在程序中合并matchmaking。讨论 matchmaking是游戏中心中最重要的功能之一。它允许多个玩家同时游戏。你可以使用Apple的服务器或自己作为主机。在本书中,为了简易性,我们只使用Apple的服务器。 在iOS模拟器中无法发送matchmaking邀请翻译 2011-10-21 13:10:28 · 2268 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.16 向玩家显示成就)
1.16 向玩家显示成就问题 你需要使用图形用户界面向本地玩家显示其已经获得或已经开启的成就。解决方案 使用GKAchievementViewController类。讨论 游戏中心可以构造内建成就界面。你所要做的是建立一个使用视图控制器的iOS程序(在iOS 4 Programming Cookbook中有详细地讲解)。 让游戏中心构造内建成就界翻译 2011-10-20 17:21:46 · 1637 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.15 编程获取成就信息)
1.15 编程获取成就信息问题 你想获取本地玩家的成就进度。解决方案 调用GKAchievement类的loadAchievementsWithCompletionHandler:类方法。讨论 正如编程获取排行榜信息(条目1.11),我们也可以编程获取成就的最新进度信息,步骤如下: 1. 验证本地玩家(条目1.5)。 2. 调用GKAc翻译 2011-10-19 18:25:04 · 1385 阅读 · 0 评论 -
WebGL资料WebGL自修教程
版本 V2011-10-19 由于本人水平有限(英文、数学、3D、3D编程等),难免出错,请勿谩骂;欢迎指正。已完成翻译:《OpenGL ES 2.0编程指南》已初步完成:《WebGL参考手册》 待完成:示例和简单讲解 下载地址:http://download.youkuaiyun.com/detail/tiewen/3697194原创 2011-10-20 09:00:51 · 1440 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.14 向游戏中心提交成就)
1.14 向游戏中心提交成就问题 你已准备好在游戏中使用成就。解决方案 使用GKAchievement类。讨论 提交成就的过程和提交成绩(条目1.10)相似,步骤是: 1. 验证本地玩家(条目1.5)。 2. 分配和初翻译 2011-10-18 19:42:43 · 1168 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.13 在iTunes Connect中创建成就)
1.13 在iTunes Connect中创建成就问题 你希望通过解锁游戏中的成就,让用户回到你的游戏。解决方案 使用iTunes Connect创建成就。讨论 游戏中心允许iOS开发者在他们的应用程序中包含成就,并记录玩家完成成就的进程翻译 2011-10-18 16:06:50 · 1893 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.12 向玩家显示排行榜)
1.12 向玩家显示排行榜问题 你想使用图形用户界面向用户显示排行榜。解决方案 使用GKLeaderboardViewController类。讨论 为你的游戏构造内建的排行榜界面对游戏中心来说简直是小菜一碟。你要做的是建立一个使用视图控制翻译 2011-10-18 14:43:00 · 1486 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.11 编程获取排行榜信息)
1.11 编程获取排行榜信息问题 你想知道如何通过编程获取排行榜信息。解决方案 使用GKLeaderBoard类的实例方法loadScoresWithCompletionHandler:。讨论 编程获取排行榜信息的步骤: 1.翻译 2011-10-18 14:01:15 · 1548 阅读 · 0 评论 -
编写苹果游戏中心应用程序(翻译 1.2 创建游戏中心账户)
转载请注明出处。 1.2 创建游戏中心账户问题 你知道在能够使用游戏重心之前需要做些事情,但你不确信需要做些什么。解决方案 使用iOS模拟器的内建游戏中心应用程序建立你的游戏中心账户,如此处演示的这样。讨论 每位玩家在游戏中心用账原创 2011-10-14 22:36:27 · 1924 阅读 · 0 评论