社区
游戏开发
帖子详情
UV Map的算法是怎样的?
XCOOL
2007-07-09 10:57:54
将一个三维曲面展开到平面上,以实现UV贴图映射的算法到底是怎样实现的?
比如UV Maper和Dx的UVAtlas工具的实现算法是如何的?
...全文
2146
8
打赏
收藏
UV Map的算法是怎样的?
将一个三维曲面展开到平面上,以实现UV贴图映射的算法到底是怎样实现的? 比如UV Maper和Dx的UVAtlas工具的实现算法是如何的?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
铜戈
2007-11-05
打赏
举报
回复
popy007 说的是纹理坐标插值 不是纹理过滤。 只不过双线性插值写成了双线性过滤插值
chena224503
2007-10-29
打赏
举报
回复
楼上你说的是纹理插值是指纹理filter吧。
顶点坐标用透视投影矩阵变换就可以产生透视效果。
计算三角形内像素的位置时使用线性插值,透视校正是说,计算纹理坐标不能用线性插值,要用双曲型插值(Hyperbolic Interpolation)。
双线性过滤是纹理filter的一种,和透视校正没关系。
popy007
2007-10-18
打赏
举报
回复
实际上曲面会被变为面片并分解成多个三角形,三角形的每个点都包含一个
纹理坐标,对应2D纹理矩阵中的一个点。再对三角形进行光栅化
的时候,利用三角形的3个顶点的纹理坐标对内部扫描线进行纹理坐标
插值。
插值是图形学中的基本算法,最基本的纹理插值有两种:
1)普通的仿射插值(线性插值),没有透视效果。
2)带透视校正的双线性过滤插值。
目前图形硬件已经普遍支持上面两个方法,所以通过APIs比如D3D或者OpenGL(带硬件驱动程序)
进行编程的话就可以使用硬件进行加速。
但如果需要写软件渲染器的话还是需要掌握上面的两种算法,而且应该掌握图形流水线,
因为纹理坐标在光栅化之前也要经过很多部操作。
这两个算法在大多数的图形学书籍中都可以找到。
XCOOL
2007-10-09
打赏
举报
回复
但是那种影射方法可以使渲染后纹理的改变最小呢?
cywater2000
2007-09-23
打赏
举报
回复
最常用的一种解决方法是求平面的坐标基(Axis Base)
其实说简单点,就是将3维顶点数据投影到(纹理坐标)平面上
代码的话,可以参考quake3中的ComputeAxisBase
wangzheji
2007-09-11
打赏
举报
回复
理解成 坐标对应坐标就可以了!比方说 正方体的一个面 的四个顶点可以对应 纹理的四个顶点!
寻开心
2007-09-06
打赏
举报
回复
从数学的角度上说,三维曲面上的点 z = f(x, y)
是关于x和y两个变量的函数
你也可以写成 z = f(u, v )
uv map不是一种固定的方式,有多种方式
z=f(u,v)的任何一种表达式都可以理解成为一种uv map的方式
从拓扑的角度上, 三维的曲面只要和平面具有同质的关系, 也就是他们之间存在一一映射的关系的话,每个映射关系都可以理解成为一种uv map
huang7839
2007-07-09
打赏
举报
回复
太难了,,不知道啊。
3dmax插件:展平
UV
3dmax插件:展平
UV
Unity游戏源码分享-森林场景资源
Map
Magic World Generator v1.10.4
Unity游戏源码分享-森林场景资源
Map
Magic World Generator v1.10.4
详解凹凸、法线、视差、位移贴图 via 毛毛猪
详解凹凸、法线、视差、位移贴图 via 毛毛猪 详解凹凸、法线、视差、位移贴图 via 毛毛猪
挑战巅峰-unity铺砖方法
游戏《挑战巅峰》的铺砖代码,非完整源码。自测,仅供参考。
专业法线贴图生成工具
可视化生成法线贴图,高光贴图,等游戏所需贴图的小工具,简单易用,功能强大
游戏开发
8,324
社区成员
23,684
社区内容
发帖
与我相关
我的任务
游戏开发
游戏开发相关内容讨论专区
复制链接
扫一扫
分享
社区描述
游戏开发相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章