DX9纹理映射

Wesley13
• 阅读 596

可恶的纹理偏移,一直困惑的事情。最后还是得要试验靠实践出真知:

问题:
当把1024×1024大小的贴图,通过纹理矩阵变换,取出来其中的一部分区域。
然后通过标准QUAD将其绘制到到800×600的表面(backbuffer)。
这里的纹理偏移值该是何值才能保证结果绝对正确毫无偏移。

以StretchRect的结果为准,经过反复试验。得到uv坐标的偏移值应该是:

0.5 / Size(backbuffer) * Size(经过纹理矩阵转换后的纹理坐标范围)

总结如下:

通过D3D9文档知,偏差是0.5个像素(而不是纹素)。
所以关键在于,这0.5个像素对应的纹理的尺寸是多少。
总的纹理尺寸(即变换后的纹理坐标范围)/ 绘制表面的尺寸:是每一个像素对应的纹理尺寸。
再乘以0.5即为所求。

目标缓冲区的尺寸如果和纹理尺寸相同,纹理偏移量=0.5/宽或高;
顶点也必须偏移0.5的值,不能出现(0,0)的坐标,否则正交投影的计算会出错。

点赞
收藏
评论区
推荐文章
待兔 待兔
3年前
android BitmapShader实现圆形imageview
BitmapShader描述:Shaderusedtodrawabitmapasatexture.Thebitmapcanberepeatedormirroredbysettingthetilingmode.用来将bitmap绘制为纹理的着色器。通过设置平铺模式,位图可以重复或镜像BitmapSha
Wesley13 Wesley13
3年前
Unity Shader 序列帧动画
shader中的序列帧动画属于纹理动画中的一种,主要原理是将给定的纹理进行等分,再根据时间的变化循环播放等分中的一部分。UnityShader内置时间变量名称类型描述\_Timefloat4(t/20,t,2t,3t)  其中t为自该场景加载所经过时间\_SinTimefloat4(t/8,t/4,t/2,t) 
Wesley13 Wesley13
3年前
EGLImage与纹理
EGLImage代表一种由EGL客户API(如OpenGL,OpenVG)创建的共享资源类型。它的本意是共享2D图像数据,但是并没有明确限定共享数据的格式以及共享的目的,所以理论上来讲,应用程序以及相关的客户API可以基于任意的目的创建任意类型的共享数据。        关于EGLImage的一种使用情景就是通过它来创建一个2D纹理。相关函数原型声明如
Wesley13 Wesley13
3年前
Unity渲染教程的GAD中文翻译版本地址。
Unity渲染教程(一):矩阵:http://gad.qq.com/program/translateview/7181958Unity渲染教程(二):着色器基础:http://gad.qq.com/program/translateview/7173930Unity渲染教程(三):使用多张纹理贴图:http://g
Stella981 Stella981
3年前
RenderTexture 渲染到纹理
cocos2d里面有个CCRenderTexture,用于将指定对象渲染到纹理。在unity3d里面也有同样的技术。今天查阅了相关资料,再看了一下cocos2d的源码,发现他实际上用的是FBO(帧缓存对象)渲染到纹理技术,即我们可以为帧缓存关联一个纹理附件,然后将帧缓存里面的内容放到纹理附件里面。在cocos2d里面使用步骤大致如下:1
Wesley13 Wesley13
3年前
Unity性能优化整理
纹理优化SpritePacker通过细分导入到Unity的纹理,利用自带的SpritePacker将时间段内需要同时绘制在屏幕上的纹理合并到一个图集中,可以减少Drawcall的开销UGUI优化Canvas1._分离Canvas_画布(Canvas)是U
布袋罗汉 布袋罗汉
1年前
Autodesk Mudbox 2024 for Mac(3D数字绘画雕刻软件)
AutodeskMudbox2024是一款专业的数字雕刻和纹理绘制软件,可用于游戏开发、电影制作、动画制作、广告设计等领域。它提供了一系列高级工具,使艺术家能够快速地进行雕刻、绘画和纹理创建。Mudbox2024还支持多种输入设备,包括数字笔、平板电脑和3
流浪剑客 流浪剑客
1年前
ZBrush 2024 for Mac最新中文破解版 附详细图文教程
是一款数字雕刻和绘画软件,它具有多种强大的功能,如多边形建模、动态细分、纹理映射、雕刻和绘画工具、多种材质和纹理等。艺术家可以使用ZBrush创建高度详细且复杂的3D模型和雕塑,使其成为角色设计、数字艺术和视觉效果制作的强大工具。此外,ZBrush2024
燕青 燕青
1年前
三维数字雕刻软件推荐:Pixologic ZBrush 2024破解版
是一款功能强大的数字雕刻和绘画软件,它可以在计算机中模拟出几乎任何形状、纹理或表面细节。它为艺术家们提供了一个直观的工具集,使其能够在3D空间中进行复杂的形状设计和绘画。该软件包含了许多特性和工具,例如快速建模、细节雕刻、纹理绘制、渲染等等。此外,ZBru
公孙晃 公孙晃
1年前
ps插件下载:Alien Skin Eye Candy 7汉化版
如果你正在寻找一款强大且易用的Photoshop插件,那么AlienSkinEyeCandy7绝对值得一试。这款插件拥有多种逼真的特效和纹理,无论是金属质感、玻璃质感、光线效果还是烟雾效果,都可以轻松实现。EyeCandy7不仅提供了高品质的特效和纹理,还