比如作业三rasterizer.cpp从L173开始
`
// L173
void rst::rasterizer::draw(std::vector<Triangle *> &TriangleList) {
float f1 = (50 – 0.1) / 2.0;
float f2 = (50 + 0.1) / 2.0;
…
// L214
//Viewport transformation
for (auto & vert : v)
{
vert.x() = 0.5*width*(vert.x()+1.0);
vert.y() = 0.5*height*(vert.y()+1.0);
vert.z() = vert.z() * f1 + f2;
}
…
`
这部分代码好像和课件里的操作不太一致,请问是否可以简单提点一下?
比如,请问对z的操作中,f1和f2的含义是什么(猜测是焦距相关的量?),为什么要用f1和f2去对z坐标做这样的操作?
zNear=0.1,zFar=50,但是这么算出来的f1和f2的含义是?
提前谢谢。
This post has received 1 vote down.