摘要: 在渲染多边形网格对象到场景中的时候,离观察者越远的对象应该越模糊,同时离观察者越近的物体应该越清楚,这就是深度排序(depth sorting)。深度排序有两种常用的方法。
第一种方法称为画家算法(painter's algorithm)。这种方法将对象划分成不同的多边形,由后往前对这些多边形进行排序,再按照排好的顺序绘制出这些多边形。采用这种方法绘制多边形,能够确保前面的多边形总是在其后多边形之前进行绘制。
深度排序的第二种方法称为z缓冲方法(z-buffer),它是图形硬件设备使用最多的方法。这种方法依赖于像素,每个像素都有一个z值(z值是像素距离观察者的距离)。当每个像素被写入时,渲染器首先检查是否已经存在一个z值更小的像素,如果不存在,这个像素就被绘制出来;如果存在,就跳过该像素。
阅读全文
摘要: 大爆炸,烟雾痕迹甚至魔术飞弹尾部发出的微小火花,都是粒子(particle)所制造出来的特殊效果。在适当的时机,启用alpha混合并绘制粒子,这样粒子就能朝向观察点(使用公告板),得到的结果就是混合对象的抽象拼贴,他们可以用于创建一些奇妙的效果。
粒子奇妙的地方就在于粒子的大小实际上是任意的,原因在于可以创建一个缩放矩阵,使其同粒子多边形的世界变换矩阵结合起来。也就是说,除非粒子纹理不同,否则只需要使用一个多边形来绘制所有的粒子,无论如何,多边形的数目都必须同纹理的数目保持一致。
阅读全文
摘要: 两百多年前英国伟大的古典政治经济学之父亚当斯密曾对工作和休息有过精辟的论述。他在《国富论》中是这么写的:
由于过度从事某种特殊工作,几乎每种技工都易患某些特殊疾病。不论是脑力劳动还是体力劳动,一连几天的过度劳动对大多数人来说自然都会引起放松和休息的欲望。这种欲望如果没有什么暴力或某种强烈的需要来加以抑制几乎是不可抑制的,这是天性的要求。在紧张劳动之后要求有某种放纵,有时只是要求一点儿清闲,但有时也要求一点儿放荡和娱乐。如果这个要求得不到满足,后果常是危险的,有时甚至是致命的,其结果总是早晚要染上某种特殊的职业病。因此,如果雇主能经常听从理性和人道的提醒,他们就应该不是鼓励工人尽量工作,而是适量地工作。我相信那样每个行业都会发现每天适量工作的工人能够长期工作,不仅可保持他们的身体长期健康,而且在一年中也能完成最大量的工作。
阅读全文
八卦一下,一直以来对快男超女的没什么关注,今天在优酷无意中看到,确实唱的很深情,他的嗓音不如齐秦, 但是很像齐秦的嗓音,歌声中充满了淡淡的忧伤,深深的爱意,其嗓音已完全具备了专业歌手的水准。个人认为齐式情歌是中文唱片界最深情的。^_^
陈楚生版:原来的我 (原唱:齐秦)陈楚生:有没有人告诉你
当火车开入这座陌生的城市
那是从来就没有见过的霓虹
我打开离别时你送我的信件
忽然感到无比的失眠
看不见雪的冬天无言的城市
我听见有人欢呼有人在哭泣
早习惯穿梭充满诱惑的黑夜
但却无法忘记你的脸
有没有人曾告诉你我很爱你
有没有人曾在你日记里哭泣
有没有人曾告诉你我很在意
在意这座城市的距离
去百度下载《有没有人告诉你》
摘要: 公告板(billboard)是一种允许在2D对象出现在3D中的很酷的技术,公告板的原理就是通过使用世界矩阵,根据观察点来排列多边形,因为观察的角度已知(或能够获得一个观察变换矩阵),就只需要使用相反的观察角来构造矩阵。创建公告板世界矩阵的方法是从Direct3D获取当前的观察矩阵并将此矩阵转置。这个转置矩阵会将所有的东西进行恰当的定位,以朝向观察点。接着就只需应用网格的平移矩阵,在世界中正确地确定网格的位置。
阅读全文
摘要: 字体的绘制需要使用ID3DXFont对象和 D3DXCreateFontIndirect函数。
DirectX SDK文档对ID3DXFont做了简要的说明:
The ID3DXFont interface encapsulates the textures and resources needed to render a specific font on a specific device.
The ID3DXFont interface is obtained by calling D3DXCreateFont or D3DXCreateFontIndirect.
阅读全文
摘要: 在科学的神殿里有许多楼阁,住在里面的人真是各式各样,而引导他们到那里去的动机也各不相同。有许多人爱好科学是因为科学给他们以超乎常人的智力上的快感,科学是他们自己的特殊娱乐,他们在这种娱乐中寻求生动活泼的经验和对他们自己雄心壮志的满足。在这座神殿里,另外还有许多人是为了纯粹功利的目的而把他们的脑力产物奉献到祭坛上的。如果上帝的一位天使跑来把所有属于这两类的人都赶出神殿,那么集结在那里的人数就会大大减少, 但是,仍然会有一些人留在里面,其中有古人,也有今人,我们的普朗克就是其中之一,这也就是我们所以爱戴他的原因。
阅读全文
摘要: 在设置可变顶点格式时加入法线和漫反色,如下所示:
// The 3D vertex format and descriptor
typedef struct
{
float x, y, z; // 3D coordinates
float nx, ny, nz; // normals
D3DCOLOR diffuse; // color
} VERTEX;
#define VERTEX_FVF (D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_DIFFUSE)
阅读全文
摘要: 设置可变顶点格式时增加一个D3DCOLOR类型的漫反射分量,其中的alpha值指定了alpha混合因子。
// The 2D vertex format and descriptor
typedef struct
{
float x, y, z; // 2D coordinates
float rhw; // rhw
D3DCOLOR diffuse; // diffuse color component
} VERTEX;
阅读全文
摘要: 物理学家们发现自己的处境极类似于阿尔弗雷德·诺贝尔。阿尔弗雷德 ·诺贝尔发明了到他那个时代为止最具威力的炸药——一种极强的破坏手段。
为对此有所补偿,也为了减轻良心上的负担,他为促进和平和实现和平设立了奖项。今天,这些参与制造有史以来最可怕、最危险武器的物理学家们,
也被同样的责任感折磨着。我们帮助制造新式武器的目的,在于防止人类的 敌人先制成它。倘若纳粹得到这样的武器的话,他们必会奴役世界,必会给
世界带来不可设想的破坏。我们把此武器交到美国和英国人手上,是因为我们把他们看成为全人类的受托人,看成和平与自由的战士。但至今为止,我
们从未看到任何和平的保证。
阅读全文