Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 作业3,切线空间里的切线为什么这么算

Viewing 2 reply threads
  • Author
    Posts
    • #16017 Score: 0
      chiuhou
      Participant

      // Vector t = (x*y/sqrt(x*x+z*z),sqrt(x*x+z*z),z*y/sqrt(x*x+z*z))
      这里的t为什么是这么计算的呢,我查阅了一些资料发现切线空间里的切线和副切线的构建好像不是只知道一个顶点的法线方向就可以直接构建的,但我看作业里给了这个式子,我想知道这个式子是随便给的一个垂直法线的向量还是说是有说法的
      而且我查阅了一些资料也没见过类似的式子

    • #16235 Score: 0
      Interesting
      Participant

      你知道怎么算了吗

      • #16236 Score: 0
        chiuhou
        Participant

        我已经知道了,你可以看我的博客文章https://juejin.cn/post/7189733963412275237?share_token=2ba884cf-55d7-4257-8d9c-43a1283c4938
        下面有个专题具体推导了一下,你也可以看tinyrenderer这个开源项目的配套wiki里面更详尽
        作业里的这个公式其实是助教随便给的,真正的切线空间的t和b向量其实是uv向量在三维空间里并且与法线正交化后的结果

    • #16237 Score: 0
      waqia
      Participant
      2 pts

      作业就是瞎胡写的。不光TBN不对,bump 和displacement shader的写法都是错误的
      https://learnopengl.com/Advanced-Lighting/Normal-Mapping

Viewing 2 reply threads
  • You must be logged in to reply to this topic.