计算机图形学(闫令琪博士课程答疑)-Shading(三)

课程连接

重心坐标

纹理怎么贴到物体表面

重心坐标:为了做三角形内部差值,原因是计算是三角形顶点处理,我们需要在三角形内部进行均匀的变化。如何更平滑

三角形每一个点,都可以用三个顶点的系数组合,且系数加起来为1.且都是非负数

重心坐标可以通过面积比求出来。

我们看三角形重心:(a,b,r)=(1/3,1/3,1/3)

任意点坐标重心

好长,

这样我们可以对物体进行着色了。

乘以权值然后加起来。

有问题:进行投影的时候三角形会发生变化,所以重心坐标也会变化。

如果我们计算三维点,我们也去在三维坐标里面去求重心等等。然后再去对应到二维投影图形里面。

现在我们看怎么应用到三角形,根据他的位置插值uv,在纹理查询uv,然后把他拿来应用于那个点

问题出现:

因为纹理大小有限,有时候我们需要进行扩大,(纹理1080p)可是你贴在了2k的图形里面,(多个像素会映射同一个纹理像素)

pixel是实际图的像素,texel是纹理像素

现在我们不找临近的一个点,找四个

我们根据权值进行插值(线性插值)

做一次水平差值,然后再对他们进行竖直差值

说起来很麻烦,其实既可以直接使用权值

这个方法叫做:双线性插值(还可以16个8个进行插值)

性能和功能疯狂权衡

如果纹理太大了会出现什么情况:

会出现走样。

问题出现原因:

从远到近,如果很近,一个像素基本对应纹理一个像素点,如果原来,我们用一个点代表了多个纹理像素点

思路一:

我们吧太远的地方直接用上一帧图贴()

思路二:超采样:远了进行超采样,就不会出现锯齿;,但是

理论走样回顾:变化太快,我们采样太慢了,(一个像素类,对应贴图里面多个像素。),我们可以直接采用更高屏方法解决,,但是没必要。

只要我们不采样就不会出现锯齿了:我们可以采用各种范围查询方法,得出结论(如何快速得到平均值)

Mipmap:允许做范围查询(快,近似,正方形)

生成不同等级图片:每次分辨率都/2.

我们相当于引入了额外1/3的开销

那我怎么算出来我覆盖的面积有多大呢

找他临近的那几个点:,然我们进行一个近似正方形框

进行Mipmap

加入我们这个方块里面有四个像素点,那他的上一层是不是等于一个像素点了,很神奇(等于平均),如果出现我认为的对应方格交叉了

这样会出现不连续,

我们再次进行差值(1.8层),分别再1,2层求出,然后进行差值。

那我们的mipmap能够完全解决问题吗?

我们发现会模糊掉,模糊太多了。

原因,他只能方块,各项异形过滤(层数可以自己确定)

和mipmap的区别是他还涵盖了不缩放某一轴的区别。这样就可以查看矩形的了,而不是只能是正方形

但是没有完全解决问题,eg:斜着的

DWA过滤。暂时没有搞明白还需要生乳思考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值