Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 关于作业1-3中的viewport transformation

Viewing 0 reply threads
  • Author
    Posts
    • #4917 Score: -1
      Yinda Xu
      Participant
      -1 pt

      比如作业三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.
Viewing 0 reply threads
  • You must be logged in to reply to this topic.