摘要: Direct3D提供了对生成的纹理坐标进行坐标变换的功能,与顶点坐标变换相类似,可以指定一个4x4的纹理坐标变换矩阵,把它与生成的纹理坐标相乘,然后将变换之后的纹理坐标输出至Direct3D渲染流水线。使用纹理坐标变换可以对纹理坐标进行诸如平移、旋转和缩放等三维变换。纹理坐标变换对于生成一些特殊效果是非常有用的,它不用直接修改顶点的纹理坐标。例如可以通过一个简单的平移矩阵对纹理坐标进行变换,从而使... 阅读全文
posted @ 2010-11-05 15:53 oayx 阅读(4389) 评论(0) 推荐(0) 编辑
摘要: 立体纹理(volume texture)是一组应用到二维图元(如一个三角形或一条直线)的三维纹理元素的集合,可以使用立体纹理实现一些特殊效果,如迷雾、爆炸等。当对一个图元使用立体纹理时,它的每个顶点都需要一组三元纹理坐标。当绘制该图元时,它中间的每个像素都将用立体纹理中的一些纹理元素的颜色值进行填充,这与二维纹理映射的情况相似。立体纹理以薄片为单元组织起来,可以把它想象成将(宽 x 高)的二维表面... 阅读全文
posted @ 2010-11-05 15:50 oayx 阅读(5122) 评论(1) 推荐(1) 编辑
摘要: 要渲染看起来真实的场景,最好是使用高分辨率而且颜色丰富的纹理,但这样的纹理可能会耗费大量的内存,例如,一张每像素16位颜色的256 x 256纹理将使用128KB的内存。如果在该纹理中使用多级渐进纹理,还需要额外的43KB内存。一个使用50张这种纹理的场景将需要8MB的内存,如果需要更强的真实性,可以使用每像素32位颜色的512 x 512纹理,但那就需要8倍的内存。为了减少纹理消耗的系统带宽和内... 阅读全文
posted @ 2010-11-05 15:47 oayx 阅读(3082) 评论(0) 推荐(0) 编辑
摘要: 这两天在写 DDS 格式的解码程序。DDS 是微软为 DirectX 开发的一种图片格式,MSDN 上可以查到其文件格式说明:DDS File Reference 。其中的 DXT 图片压缩格式,现在已经为绝大多数 3D 显卡硬件所支持。(它使用了由 S3 公司所发明的一种有损图象压缩算法。btw, 在我的那本书中,P232 有所提及)。DXT 格式 也叫作 S3TC ,现在可以被流行看图软件直接... 阅读全文
posted @ 2010-11-05 15:47 oayx 阅读(1805) 评论(0) 推荐(0) 编辑
摘要: 关于凹凸映射的原理请参阅凹凸映射(Bump Map)实现原理。凹凸纹理映射是一种纹理混合方法,它可以创建三维物体复杂的纹理外观表面。普通的纹理映射只能模拟比较平滑的三维物体表面,难以显示表面高低起伏、凹凸不平的效果。凹凸纹理映射能够通过一张表示物体表面凹凸程度的高度图(称为凹凸纹理),对另一张表示物体表面环境映射的纹理图的纹理坐标进行相应的干扰,经过干扰的纹理坐标将应用于环境映射,从而产生凹凸不平... 阅读全文
posted @ 2010-11-05 15:15 oayx 阅读(5267) 评论(0) 推荐(0) 编辑
摘要: 凹凸贴图(bump mapping)概念无论是程序员还是美工人员,几乎每个游戏开发者都知道一些3D图形学的知识,因此每个人都或多或少了解 一点bump mapping。Bump mapping是在像素级别扰动物体表面法向量的一种光照技术,它一般采用纹理映射作为输入表示扰动的大小。在光照 计算时考虑到扰动的法向量,不需要增加额外的几何信息就可以增强被渲染物体的表面细节。[原文链接] 1. 浮雕贴图(... 阅读全文
posted @ 2010-11-05 14:30 oayx 阅读(2590) 评论(0) 推荐(0) 编辑
摘要: http://xmchang.bokee.com/反射只是翻转摄影机,将场景渲染到Texture上,或使用STENCIL蒙板直接绘制。具体计算查看了D3D的 Sample,如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--D3DXMATRIXA... 阅读全文
posted @ 2010-11-05 14:07 oayx 阅读(861) 评论(0) 推荐(0) 编辑
摘要: 地形碰撞计算:一.如果是鼠标点击地面,可将射线固定长度并分段,然后用射线与每一个分段上的点所落在的地面tile(两个三角形)进行求交,相交则返回对应位置,否则继续与下一个段上的点所落在的地面tile求交/* 0 1 ----> | \ | | \ | 2 V --- 3 */这里不讨论点击屏幕求射线方法与射线分段处理,只算求交如下d3d求交得出uv,再求位置:VECTOR3 vPickPos... 阅读全文
posted @ 2010-11-05 13:52 oayx 阅读(400) 评论(0) 推荐(0) 编辑
摘要: 【1】什么事凹凸映射凸凹映射这个过程涉及到提取纹理并使用该纹理的内部信息去照射表面,让表面显示比自身实际拥有的更多细节。这个过程是在照射几何图形时,通过使用保存在纹理图像中的法线值而不是表面的法线值完成的。通过改变图像中的法线值或像素,可以得到物体的外观细节。例如,可以使用凸凹映射创建水泥裂缝或是爬虫表皮的鳞。纹理映射和凸凹映射之间的差别在于纹理用于阴影照射表面,而凸凹贴图用于灯光照射表面。例如,... 阅读全文
posted @ 2010-11-05 10:06 oayx 阅读(791) 评论(0) 推荐(0) 编辑
摘要: 维基百科,自由的百科全书跳转到: 导航, 搜索 Normal mapping used to re-detail simplified meshes.法线贴图(Normal mapping)在三维计算机图形学中,是凸凹贴图技术的一种应用,法线贴图有时也称为“Dot3 凸凹纹理贴图”。 凸凹与纹理贴图通常是在现有的模型法线添加扰动不同,法线贴图要完全更新法线。与凸凹贴图类似... 阅读全文
posted @ 2010-11-05 09:55 oayx 阅读(2079) 评论(0) 推荐(0) 编辑