Home Forums Games202-高质量实时渲染 环境光渲染出来偏暗

Viewing 4 reply threads
  • Author
    Posts
    • #8328 Score: 0
      Moon
      Participant

      预计算的环境光在js框架里面渲染出来和 prt程序显示出来的相比暗很多(都是一倍曝光的情况下),调整曝光倍数之后,看起来结果是正确的,这种情况是什么原因?

    • #8330 Score: 0
      cmc233
      Participant
      6 pts

      两种可能

      1.prt里存储成png图片时将线性空间转换到了sRGB空间 Color3f tonemapped = coeffRef(i, j).toSRGB();颜色计算给webgl的时候应该也得做相应的gamma矫正

      2.prt里计算TransportSHCoeffs有乘以kd/pi吗?prt里Color3f Li()返回的是sum TransportSHCoeffs*LightCoeffs

    • #8332 Score: 0
      Moon
      Participant

      确实没有乘以kd/pi, 但是如何乘了这个系数,webgl里不也会同时变得更暗吗?

      • #8333 Score: 0
        cmc233
        Participant
        6 pts

        我说的第二种情况意思是:你在prt里没乘kd/pi,然后在shader.glsl里写的是的kd/pi *sum TransportSHCoeffs*LightCoeffs,所以导致两倍不一样。
        如果你shader.glsl也是直接sum TransportSHCoeffs*LightCoeffs,感觉就是gamma矫正的问题了,prt里保存png时做了如图的空间转换,在js里pow(vColor, vec3(1.0/2.2))应该就得到差不多结果了?

        • This reply was modified 3 years, 6 months ago by cmc233.
        Attachments:
        You must be logged in to view attached files.
    • #8336 Score: 0
      Moon
      Participant

      但是作业文档里面说不需要gamma矫正啊

    • #8337 Score: 0
      cmc233
      Participant
      6 pts

      所以作业文档里贴的图,prt显示的debug的图片也比js里的图亮啊(虽然图1,2不是同一个场景),而且文档里的图应该没乘kd/pi,其实给的参考图挺随意的

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