在进行纹理帖图时,图象会出现在物体表面的(u,v)位置上,而这些值在[0.0,1.0]范围内。但是,如果超出这个值域,会发生什么情况呢?这由纹理的映射函数来决定。在OpenGL中,这类映射函数称为“Texture Wrapping Mode”;在D3D中,称为“Texture Addressing Mode”。常见的有下面几种:
1. 重复(GL_REPEAT):图象在表面上重复出现。在算法上,忽略纹理坐标的整数部分,并将纹理图的拷贝粘贴在物体表面上。对于大多数复制纹理的使用,在纹理顶部的纹理单元应与底部的纹理单元相匹配,在纹理左侧的纹理单元也应与右侧的纹理单元相匹配。这样才能做到无缝连接。
2. 截取(GL_CLAMP):将大于1.0的数值设置为1.0,将小于0.0的数值设置为0.0,即将超出[0.0,1.0]范围的数值截取到[0.0,1.0]范围内,这样会导致纹理边缘的重复。
3. 镜像重复(GL_MIRRORED_REPEAT_ARB):图象在物体表面上不断重复,但是每次重复的时候对图象进行镜像或者反转。这样在纹理边缘处比较连贯。在OpenGL中通过ARB_texture_mirrored_repeat扩展来实现。
4. 边界截取(CLAMP_TO_BORDER_ARB):在[0.0,1.0]范围外的参数值用单独定义的边界颜色或纹理边缘进行绘制。适合于绘制物体表面的贴花纸。在OpenGL中通过ARB_texture_border_clamp扩展来实现,CLAMP_TO_BORDER_ARB在所有mipmap层次上对纹理坐标进行截取,使nearest和linear过滤只返回边界纹理单元的颜色。
5. 边缘截取(GL_CLAMP_TO_EDGE):总是忽略边界。处于纹理边缘或者靠近纹理边缘的纹理单元都用作纹理计算,但是不包括边界上的纹理单元。
在OpenGL1.2以前的版本中并未对最初的GL_CLAMP进行详细的说明。按照定义,在双线性插值过程中,在纹理边界以外的点是由纹理边缘像素和边界颜色各自一半混合形成的。在OpenGL1.2中,引入了GL_CLAMP_TO_EDGE,用来纠正这个问题。同时,GL_CLAMP_TO_BORDER_ARB则只对那些纹理边界上的边界点进行采样。但是,因为很多硬件并不支持边界处理,所以实现GL_CLAMP_TP_EDGE和GL_CLAMP的效果好象是一样的。新出现的硬件(如GeForce3)正确实现了GL_CLAMP,但是结果通常并不是所期望的。
分享到:
相关推荐
EasyMovieTexture Editor mode support. (Upgrade Pack) [Using ffmpeg, the LGPL license. The original EasyMovieTexture required. ] [ And it uses a dynamic link, there is no obligation to disclose the ...
EasyMovieTexture Editor mode support. (Upgrade Pack) [Using ffmpeg, the LGPL license. The original EasyMovieTexture required. ] [ And it uses a dynamic link, there is no obligation to disclose the ...
Easy Movie Texture Video Texture
最新的Easy Movie Texture Video Texture3.5.4,支持PC端,VR开发,由于原包70M,而我只能上传60M资源,所以删除了一个视频资源,如果demo无法播放请设置播放其他视频资源。
Texture
image processing texture analysisimage processing texture analysisimage processing texture analysisimage processing texture analysis
texture packer破解版3.0.9,安装后,只需要替换bin文件下的EXE即可
Unity Easy Movie Texture Video Texture v3.72 资源包,
Unity 重新设置Texture2D的大小
Easy Movie Texture Video Texture_3.59
最新版的Easy Movie Texture Video Texture3.7.1 亲测好用.
unity3d使用bitmap和image获取texture原始大小,因为unity导入贴图后如果修改过贴图的maxsize后,代码获取到的texture的宽高就是设置过的,不是原始的尺寸了。
Easy Movie Texture Video Texture 3.76,用于unity纹理播放视频,播放流,简单易用
Projective texture mapping is a method of texture mapping described by Segal [3] that allows the texture image to be projected onto the scene as if by a slide projector. Figure 1 shows some example ...
Texture Packer 完美破解版
Easy Movie Texture的中文翻译,传一下,随手译的
Mali_Texture_Compression_Tool_v4Windows_x64 ETC1 mali texture
1.Android中使用4.0新特性SurfaceTexture自定义相机预览 2.在PictureCallback回调中保存图片
Easy Movie Texture Video Texture 3.72.unitypackage unity适用各种平台视频。
Halcon中的算子texture_laws算法相关文献。小编还在博客中详细阐述了Halcon中如何实现texture_laws算法,可以去小编的博客上查看。