Home › Forums › GAMES在线课程(现代计算机图形学入门)讨论区 › 关于作业二代码框架的问题 Tagged: 作业二 视口变换的vert.z() This topic has 3 replies, 3 voices, and was last updated 4 years, 7 months ago by dzy. Viewing 3 reply threads Author Posts 2020年3月10日 at 下午6:19 #3722 Score: 0 cjbhzParticipant 在rasterizer.cpp的83行有vert.z() = vert.z() * f1 + f2 f1=(near-far)/2,f2=(near+far)/2 我没有理解框架这么写的目的,我的当前理解是这一步相当于将canonical view volume中的z替换成了一个没有语义的信息(相当于把canonical view volume延z轴拉伸平移再平移),而直接使用vert.z()似乎并不会产生什么区别,不知道是不是有啥深意在里面…… 2020年3月14日 at 下午10:04 #4086 Score: 0 狂草来书Participant Karma: 2 pts 同问啊?? 2020年3月16日 at 下午1:51 #4279 Score: 0 狂草来书Participant Karma: 2 pts 我知道为啥了!你把投影矩阵的z’(clip space中的z值)的表达式写出来,注意是投影矩阵! 之后你逆运算去算下z(view space中的z值)。你会会找到真相的,但我发现,他们好像缺省了zNear * zFar这个系数,但这并影响结果。你自己推导一下就都明白了! 2020年5月7日 at 下午10:18 #6470 Score: 0 dzyParticipant 我把这行注释了结果没啥影响,不理解为啥来这么一出 Author Posts Viewing 3 reply threads You must be logged in to reply to this topic. Log In Username: Password: Keep me signed in Log In