bumpFragment.fx 591 B

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