bumpFragment.fx 592 B

1234567891011121314151617181920212223
  1. vec2 uvOffset = vec2(0.0, 0.0);
  2. #if defined(BUMP) || defined(PARALLAX)
  3. #if defined(TANGENT) && defined(NORMAL)
  4. mat3 TBN = vTBN;
  5. #else
  6. mat3 TBN = cotangent_frame(normalW * vBumpInfos.y, vPositionW, vBumpUV);
  7. #endif
  8. #endif
  9. #ifdef PARALLAX
  10. mat3 invTBN = transposeMat3(TBN);
  11. #ifdef PARALLAXOCCLUSION
  12. uvOffset = parallaxOcclusion(invTBN * -viewDirectionW, invTBN * normalW, vBumpUV, vBumpInfos.z);
  13. #else
  14. uvOffset = parallaxOffset(invTBN * viewDirectionW, vBumpInfos.z);
  15. #endif
  16. #endif
  17. #ifdef BUMP
  18. normalW = perturbNormal(TBN, vBumpUV + uvOffset);
  19. #endif