#4253 Score: 0
戴皓天
Participant
9 pts

已经完成了,使用的是612×612的小贴图,效果见附件

头疼了一天,居然出在一个我自己觉得肯定不会出问题的地方😂

总结一下吧,也算替给同学踩个坑:
主要问题出在我的lerp实现上,设需要用于双线性插值的四个纹素为A、B、C、D,分别相对位于目标位置(就是需要求颜色的那个位置)的左下角,右下角,左上角,右上角,可以简单看作它们的坐标分别为(0,0) , (1,0) , (1,0) , (1,1)
那么在双线性插值时,首先先对u方向插值,那么u方向需要求两次插值,也就是对于(0,0) , (1,0)和目标坐标(u,v)做一次插值,另外要对(1,0) , (1,1)和(u,v)做一次插值。
假设先算第一个,那么需要求出u-0(只是这里恰好时0,正常情况下减去四个点里最小的u值即可)
那么此时求出的插值颜色应该是(1-(u-0))*getColor(0,0)+(u-0)*getColor(1,0)
因为离(0,0)越近,u-0越小,但实际上它的颜色对于目标点(u,v)的影响越大,所以要反过来,前面的getColor(0,0)项前面要用1-

至于坐标标准的理解我自认为应没问题,需要的可以看我上面的回帖

This post has received 1 vote up and 1 vote down.
Attachments:
You must be logged in to view attached files.