Home Forums GAMES在线课程(现代计算机图形学入门)讨论区 作业三 关于bump凹凸纹理的问题

Viewing 3 reply threads
  • Author
    Posts
    • #4048 Score: 0
      夏莉莉
      Participant

      如图,我已经把常见问题中能改的都改了,可是结果图不凹凸啊

      Attachments:
      You must be logged in to view attached files.
    • #4051 Score: 0
      戴皓天
      Participant
      9 pts

      是u+1.0/w,而不是(u+1.0)/w,你要注意这相当于是在求微分,是让u或者v加上一个很小的值

      • #4284 Score: 0
        Songsong
        Participant
        4 pts

        能请问一下,注释中的tbn矩阵实际代表什么吗,为什么求得的法线要经过这个矩阵变换?

        • #4285 Score: 2
          戴皓天
          Participant
          9 pts

          t、b、n分别是切线、副切线和法线,这个可能是老师上课说的局部坐标系吧(t、b、n分别是局部坐标系的三个轴,有些资料里把这个坐标系空间称为“切线空间”),是为了把用微分求出来的法线从局部坐标系转换到模型空间(因为是用的局部的du和dv在局部坐标系下求得的新的法线,所以刚求出来的法线也就是框架里的ln是在局部坐标系的,至于为什么要转换到模型空间,这个查阅的资料里是这么写的,具体我们的框架是怎么样的我还没仔细看,这个你可以看看源码哈),实际上模型空间->切线空间的转换矩阵就是[t,b,n](第一行是t.x,t.y,t.z,以此类推),所以切线空间->模型空间的转换矩阵就是[t,b,n]的逆,而它又恰恰是正交矩阵,所以求[t,b,n]就是求它的转置,因此我们的框架里才会用到[t b n](第一列分别是t.x,t.y,t.z)

          参考资料:

          http://www.opengl-tutorial.org/intermediate-tutorials/tutorial-13-normal-mapping/

          This post has received 2 votes up.
          • #4290 Score: 0
            Songsong
            Participant
            4 pts

            谢谢大佬!

          • #4321 Score: -1
            行猿
            Participant
            -2 pt

            求教一下大佬:那如果世界坐标系到局部坐标系的映射是[x,y,z]->[b,n,t]这样子可不可以呢?这样组合的话局部坐标还是满足右手系的吧。映射成[t,b,n]是一种约定还是有更深的含义呀?感谢!

            This post has received 1 vote down.
            • #4329 Score: 0
              戴皓天
              Participant
              9 pts

              这样的话,你求出来的法线应该会和按作业框架来而求出来的不一样,但是局部坐标系只是暂时用的,只是用来方便利用切线求微分而已,最后把这个法线应用到顶点上还是需要通过逆矩阵转换回原坐标系,所以本质上应该是一样的吧,怎么取应该都可以(这里我指的是逆矩阵,而不是矩阵的转置是因为一开始我不知道这样在满足右手系的情况下调换顺序会不会导致这个转换矩阵不再是正交矩阵,但是我刚才随便举了个例子算了下,正交矩阵在调换顺序之后仍然满足正交矩阵的性质,所以应该来说你这样只要满足右手系,随便怎么换顺序都是可以用转换矩阵的转置来得到逆转换矩阵
              (当然了,如果说的宽泛一点的话,其实不满足右手系也可以,只要你转换回原坐标系时保证用的是转换矩阵的逆矩阵即可)

              • #4338 Score: 0
                行猿
                Participant
                -2 pt

                非常感谢!虽然你回答的和我想问的好像不是一个问题哈哈哈,应该是我没有表达清楚我的意思吧!不过刚查阅了一些资料现在已经明白了。

                不过如果可以的话再请教一个问题:大佬你之前回复说模型空间->切线空间的转换矩阵就是[t,b,n](第一行是t.x,t.y,t.z,以此类推),但是我推导出来是线性空间->模型空间的转换矩阵是第一行是t.x,t.y,t.z。我的推导过程附在下图中,如果你愿意的话可以看看我的理解哪里出问题了吗?再次感谢!

                Attachments:
                You must be logged in to view attached files.
            • #6471 Score: 0
              dzy
              Participant

              肯定不能改顺序啊,否则ln里面顺序也要跟着改

    • #4052 Score: 0
      夏莉莉
      Participant

      好的,我去修改一下

    • #4109 Score: 0
      6君
      Participant

      ln是新的向量需要归一化成单位向量

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