摘要: 在将图像施加到表面时,并非图像的所有部分都是可见的。例如,如果有一幅叶子的图像,并且只想看到图像中实际构成叶子的那一部分内容,而不是空的场景,就需要使用名为“透明度”的技术,以帮助实现预期效果。有了透明度,就可以设置图像的一些像素可见,而另一些像素不可见。 使用RGBA纹理图像中的Alpha成分或顶点颜色的alpha成分可以控制透明度。同样,可以将像素设为半透明,而不是可见或不可见。这意味着图像的某些部分在某种程度上是可见的,而某种程度上像玻璃一样是可以看穿的。这对于像菜单或GUI对象、窗口、X射线视觉等这样的东西而言非常有用。控制图像的alpha通道或是顶点颜色的alpha通道可以控制显示给 阅读全文
posted @ 2011-08-22 15:35 小 楼 一 夜 听 春 雨 阅读(942) 评论(0) 推荐(0)
摘要: 多纹理贴图的基本要素就是使用多个纹理。创建和加载多个Direct3D纹理对象即可实现。当使用硬件多纹理渲染纹理时,要为每个顶点指定两套纹理坐标。这只需在顶点结构中另外添加两个浮点成员变量即可完成,即在FVF中用D3DFVF_TEX2替换D3DFVF_TEX。code:#include<d3d9.h>#include<d3dx9.h>#define WINDOW_CLASS "UGPDX"#define WINDOW_NAME "D3D Multi-Texture Mapping"#define WINDOW_WIDTH 640#d 阅读全文
posted @ 2011-08-22 15:05 小 楼 一 夜 听 春 雨 阅读(1615) 评论(0) 推荐(0)
摘要: 纹理映射是一种将图形施加到表面的技术。以简单的一堵墙为例,这种技术可以只需要两个绘制有砖纹理的三角形即可。这样就可以为表面增加大量的细节,而不必使用大量的多边形。纹理映射使用了图像数据并将图像数据绘制(映射)到表面上。该表面看上去就像有一幅图在它上面。所以,如果有一堵墙,并将砖块的纹理施加到这堵墙上面,那么即便只是这个表面使用了两个三角形,它看上去也像场景中的一堵墙。 Direct3D中的纹理就是一幅映射到表面上的图像,这样可以让表面显示比实际上更多的细节。在3D场景中实现纹理映射,最常见的方法是从外部文件加载图像数据。该文件可以存在于硬盘、软盘或光盘等载体上,同样该文件可以在场景中的多个表. 阅读全文
posted @ 2011-08-22 13:55 小 楼 一 夜 听 春 雨 阅读(7907) 评论(0) 推荐(0)