CityMaker 8二次开发之贴图2贴图时是增加还是减少uv的数值?

24 篇文章 0 订阅
22 篇文章 0 订阅

如何做纹理映射,实际上就是如何把一张贴图上的点与模型上面上的点想对应起来。计算过程用到向量相关知识,因为都是在二维平面上来操作的。举个例子:

如下图:

如果要把一张图贴在一个面上,看右边的图,绿色框是模型,黑色框是贴图,要把黑色框贴好,像左边图一样。那么c到c'是如何处理呢?

如果把c和c'简单的设置为想关联,就会出现拉伸了,就像一根橡皮被拉伸成1.5倍的情况。左边的图并没有拉伸过。这里也许需要知道一个重要的原理:

uv的取值范围是在[0,1],但是如果超出了这个范围,citymaker api中就会处理成重复(当然,事先得设置

gviTextureWrapMode为gviTextureWrapRepeat)。

 

那c也c'显示不是拉伸情况,只能是1:1的情况,然后超出的部分,由自动重复的贴图自己来填充就OK了!

一张图说明原理:

 

 

---------------------

关于matiral的gviTextureWrapMode枚举:

gviTextureWrapMode表示纹理坐标的计算方式。一般纹理坐标0-1,如果超出这个范围,这两个枚举项就会起作用。 

枚举值: 
gviTextureWrapRepeat  
重复模式 
 
gviTextureWrapClampToEdge  
截取模式(默认值) 

欢迎批评指正,转载请注明出处和作者

---------------------------------------------------------------------------

承接CityMaker各类二次开发、数据生产、数据加工处理等服务。

有意者请联系QQ:gispar@qq.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值