Showing the changes to interface/src/Application.cpp (1 of 9 files). Show all
Unified · Split
| @@ -3069,7 +3069,11 @@ PickRay Application::computePickRay(float x, float y) const { · 3068 unmodified lines | ||
| 3069 | 3069 | if (isHMDMode()) { |
| 3070 | 3070 | ApplicationOverlay::computeHmdPickRay(glm::vec2(x, y), result.origin, result.direction); |
| 3071 | 3071 | } else { |
| 3072 | − getViewFrustum()->computePickRay(x, y, result.origin, result.direction); | |
| 3072 | + if (activeRenderingThread) { | |
| 3073 | + getDisplayViewFrustum()->computePickRay(x, y, result.origin, result.direction); | |
| 3074 | + } else { | |
| 3075 | + getViewFrustum()->computePickRay(x, y, result.origin, result.direction); | |
| 3076 | + } | |
| 3073 | 3077 | } |
| 3074 | 3078 | return result; |
| 3075 | 3079 | } |
| @@ -3124,6 +3128,16 @@ ViewFrustum* Application::getDisplayViewFrustum() { · 48 unmodified lines | ||
| 3124 | 3128 | return &_displayViewFrustum; |
| 3125 | 3129 | } |
| 3126 | 3130 | |
| 3131 | +const ViewFrustum* Application::getDisplayViewFrustum() const { | |
| 3132 | +#ifdef DEBUG | |
| 3133 | + if (QThread::currentThread() != activeRenderingThread) { | |
| 3134 | + // FIXME, should this be an assert? | |
| 3135 | + qWarning() << "Calling Application::getDisplayViewFrustum() from outside the active rendering thread or outside rendering, did you mean Application::getViewFrustum()?"; | |
| 3136 | + } | |
| 3137 | +#endif | |
| 3138 | + return &_displayViewFrustum; | |
| 3139 | +} | |
| 3140 | + | |
| 3127 | 3141 | void Application::displaySide(Camera& theCamera, bool selfAvatarOnly, RenderArgs::RenderSide renderSide) { |
| 3128 | 3142 | activeRenderingThread = QThread::currentThread(); |
| 3129 | 3143 | PROFILE_RANGE(__FUNCTION__); |