2009年8月12日

[翻译]XNA 3.0 Game Programming Recipes之forty-one

摘要: PS:自己翻译的,转载请著明出处格 6-5 添加HLSL顶点阴影问题 BasicEffect将绘制你的场景刚好使用你定义的光照。尽管,如果你想定义你自己的一些奇异的效果,第一件事情,你的效果必须实施正确的照明。 在这一节,你了解如何写一个基本的HLSL效果,它执行per-vertex阴影。解决方案 传递每个顶点的3D位置和法线到你的效果在图形卡里。这个顶点渲染器在你的图形卡需要为每个顶点做两件事。... 阅读全文

posted @ 2009-08-12 11:36 一盘散沙 阅读(254) 评论(0) 推荐(1) 编辑

2009年8月11日

[翻译]XNA 3.0 Game Programming Recipes之forty

摘要: PS:自己翻译的,转载请著明出处格 6-4 添加镜子的高亮光到反射表面问题 即使对per-pixel阴影的启用,你绘制的一些金属或者有光泽的物体仍然看上去有点阴暗。在真实生活中,当观察一个反射表面如一个金属,玻璃,或者一些塑料,你会看到有些地方光源反射非常的亮。这样一个地方正如图6-6中的圆圈所表示的。这些亮点被称为specular highlights。解决方案 正如一个per-pixel光照,... 阅读全文

posted @ 2009-08-11 16:19 一盘散沙 阅读(253) 评论(0) 推荐(1) 编辑

[翻译]XNA 3.0 Game Programming Recipes之thirty-nine

摘要: PS:自己翻译的,转载请著明出处格 6-3 添加高级细节到你的光照:对每一个象素照明问题 在前面的两节中,大量的阴影被计算在每个顶点中,这些阴影的值是以内插值替换的遍及所有的三角形象素。因此,它被称为pervertex lighting(or Gouraud shading)。 在某些情况下,这不会得到最好的效果。尤其是当使用大的三角形和/或正个边缘时,这会得到不想要的结果。 作为这方面的一个例子... 阅读全文

posted @ 2009-08-11 16:15 一盘散沙 阅读(444) 评论(0) 推荐(1) 编辑

[翻译]XNA 3.0 Game Programming Recipes之thirty-eight

摘要: PS:自己翻译的,转载请著明出处格 6-2 在顶点之间共享法线问题 在前面的章节,你学会如何确保每个三角形获得正确的光照通过提供法线数据在每一个它自己的顶点。 然而,盲目地应用这种方式对一个对象的所有三角形,得不到最好的效果。如果你得到一个三角形每个顶点同样的法线方向,一个三角形的每个顶点将会阴暗成同样的,因此所有三角形内部象素将会得到同样的阴影。 如果两个临近的三角(不在同一个平面)渐变就象这样... 阅读全文

posted @ 2009-08-11 11:02 一盘散沙 阅读(275) 评论(0) 推荐(1) 编辑

2009年8月10日

[翻译]XNA 3.0 Game Programming Recipes之thirty-seven

摘要: PS:自己翻译的,转载请著明出处格 6-1 定义法线和使用BasicEffect问题 没有相应的光照,你的场景缺少点真实感。在某些情况下,3D效果将会完全失去当对象没有正确的被照亮时。 作为一个例子,考虑一个范围有一个实心的颜色。没有任何的光照,范围内所有的象素将有一个同样的颜色,使在屏幕上的结果看起来平板的光盘。当存在正确的光照时,范围内有部分面对光照会有一个明亮的颜色比起其他的部分,使这个范围... 阅读全文

posted @ 2009-08-10 20:47 一盘散沙 阅读(267) 评论(0) 推荐(1) 编辑

[翻译]XNA 3.0 Game Programming Recipes之thirty-six

摘要: PS:自己翻译的,转载请著明出处格 5-14 Add Per-Pixel Detail by Bump Mapping in Tangent Space问题 虽然在前面的章节行之有效平面物体,它默认的法线是恒定的为所有象素在所有的三角形中,你会陷入麻烦中,如果你想要bump map 一个曲线或者有角的表面。 主要问题是,bump map包含偏离的法线在切线坐标内,意思是相对于默认的法线。 可视化的... 阅读全文

posted @ 2009-08-10 09:48 一盘散沙 阅读(373) 评论(0) 推荐(1) 编辑

2009年8月9日

[翻译]XNA 3.0 Game Programming Recipes之thirty-five

摘要: PS:自己翻译的,转载请著明出处格 5-13 对凹凸贴图起作用:固定法线问题 一个三角形的主要问题之一是平直的。如果你绘制一个巨大的墙用两个巨大的三角形,覆盖它用很漂亮的纹理,这个结果看起来令人失望的平面。 你可以添加真正的详细到一个三角形只在通过分三角形成更小的三角形,你可以定义每个顶点的3D位置 。尽管,消耗你的PC上的巨大资源。解决方案 而不是使用这种蛮力式的方法,你能使用凹凸贴图。凹凸贴图... 阅读全文

posted @ 2009-08-09 15:08 一盘散沙 阅读(271) 评论(0) 推荐(1) 编辑

2009年8月8日

[翻译]XNA 3.0 Game Programming Recipes之thirty-four

摘要: PS:自己翻译的,转载请著明出处格 5-12 创建你自己的顶点格式问题 顶点被用来保存数据,你发送从你的XNA工程到你的图形卡中的着色器中。一个顶点格式包含一个数据存储描述在你的顶点中。XNA框架伴随一些默认的顶点格式,从简单的VertexPositionColor到VertexPositionNormalTexture格式。 不过,如果你已经编写了很多高级HLSL效果(如果爆炸效果,蒙皮,粒子效... 阅读全文

posted @ 2009-08-08 21:28 一盘散沙 阅读(301) 评论(0) 推荐(1) 编辑

[翻译]XNA 3.0 Game Programming Recipes之thirty-three

摘要: PS:自己翻译的,转载请著明出处格 5-11 从一个XML文件中加载数据问题 你想从XML文件中加载数据到你的XNA游戏工程中。你可以做这个用从文件中读当你的XNA工程开始默认使用.NET文件的I/O功能函数,但是这是不会工作的,当你运行游戏在XBOX360控制台或者Zune. 你想要XML文件被序列化成一个二进制文件通过内容管道,这样你能读数据载入到二进制文件在你的XNA工程中.解决方案 在XM... 阅读全文

posted @ 2009-08-08 11:36 一盘散沙 阅读(306) 评论(0) 推荐(1) 编辑

2009年8月7日

[翻译]XNA 3.0 Game Programming Recipes之thirty-two

摘要: PS:自己翻译的,转载请著明出处格 5-10 计算在指针和地形:Surface Picking之间的碰撞点问题 你想找到准确的3D坐标在你的地形上在这个位置被你的指针所指出。这是必须的,如果你想要在地形上指出大的位置,为你的对象移动到或当布置一个对象在一个地形上时。解决方案 做为一个讨论在4-19节,2D点在你的屏幕上,用你的指针所指示,相应的条射线在你的3D屏幕中。在这一节,你将会利用这个射线... 阅读全文

posted @ 2009-08-07 16:57 一盘散沙 阅读(354) 评论(0) 推荐(1) 编辑

导航