| 57 | void AdjustBrightness(const RenderView& view, float& brightness) const; |
| 58 | |
| 59 | FORCE_INLINE bool CheckViewDistance(const Float3& viewPosition, const Float3& viewOrigin, Float3& position, float& brightness) const |
| 60 | { |
| 61 | position = _transform.Translation - viewOrigin; |
| 62 | if (ViewDistance > ZeroTolerance) |
| 63 | { |
| 64 | const float dst2 = (float)Vector3::DistanceSquared(viewPosition, position); |
| 65 | const float dst = Math::Sqrt(dst2); |
| 66 | if (dst < ViewDistance && dst > ViewDistance * 0.9f) |
| 67 | brightness *= Math::Remap(dst, 0.9f * ViewDistance, ViewDistance, 1.0f, 0.0f); |
| 68 | return dst < ViewDistance; |
| 69 | } |
| 70 | return true; |
| 71 | } |
| 72 | |
| 73 | public: |
| 74 | // [Actor] |