mirror of
https://github.com/overte-org/overte.git
synced 2025-08-04 21:45:15 +02:00
introduce the concept of side thorugh out the rendering traversal
This commit is contained in:
parent
f09b58c255
commit
cc78000641
3 changed files with 8 additions and 23 deletions
|
@ -724,7 +724,7 @@ void Application::paintGL() {
|
|||
glMatrixMode(GL_MODELVIEW);
|
||||
glPushMatrix();
|
||||
glLoadIdentity();
|
||||
displaySide(RenderContext(*whichCamera));
|
||||
displaySide(*whichCamera);
|
||||
glPopMatrix();
|
||||
|
||||
if (Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) {
|
||||
|
@ -2874,16 +2874,12 @@ QImage Application::renderAvatarBillboard() {
|
|||
return image;
|
||||
}
|
||||
|
||||
//void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) {
|
||||
void Application::displaySide(RenderContext& renderContext) {
|
||||
void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly, RenderArgs::RenderSide renderSide) {
|
||||
PROFILE_RANGE(__FUNCTION__);
|
||||
PerformanceTimer perfTimer("display");
|
||||
PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings), "Application::displaySide()");
|
||||
// transform by eye offset
|
||||
|
||||
Camera& whichCamera = renderContext._whichCamera;
|
||||
bool selfAvatarOnly = renderContext._selfAvatarOnly;
|
||||
|
||||
// load the view frustum
|
||||
loadViewFrustum(whichCamera, _displayViewFrustum);
|
||||
|
||||
|
@ -3025,7 +3021,7 @@ void Application::displaySide(RenderContext& renderContext) {
|
|||
PerformanceTimer perfTimer("entities");
|
||||
PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings),
|
||||
"Application::displaySide() ... entities...");
|
||||
_entities.render(RenderArgs::DEFAULT_RENDER_MODE, renderContext._renderSide);
|
||||
_entities.render(RenderArgs::DEFAULT_RENDER_MODE, renderSide);
|
||||
}
|
||||
|
||||
// render JS/scriptable overlays
|
||||
|
@ -3270,7 +3266,7 @@ void Application::renderRearViewMirror(const QRect& region, bool billboard) {
|
|||
_shadowMatrices[i] = glm::transpose(glm::transpose(_shadowMatrices[i]) * glm::translate(-delta));
|
||||
}
|
||||
|
||||
displaySide(RenderContext(_mirrorCamera, true));
|
||||
displaySide(_mirrorCamera, true);
|
||||
|
||||
// restore absolute translations
|
||||
_myAvatar->getSkeletonModel().setTranslation(absoluteSkeletonTranslation);
|
||||
|
@ -3284,7 +3280,7 @@ void Application::renderRearViewMirror(const QRect& region, bool billboard) {
|
|||
_shadowMatrices[i] = savedShadowMatrices[i];
|
||||
}
|
||||
} else {
|
||||
displaySide(RenderContext(_mirrorCamera, true));
|
||||
displaySide(_mirrorCamera, true);
|
||||
}
|
||||
glPopMatrix();
|
||||
|
||||
|
|
|
@ -262,19 +262,8 @@ public:
|
|||
|
||||
QImage renderAvatarBillboard();
|
||||
|
||||
struct RenderContext {
|
||||
Camera& _whichCamera;
|
||||
bool _selfAvatarOnly;
|
||||
RenderArgs::RenderSide _renderSide;
|
||||
|
||||
RenderContext(Camera& whichCamera, bool selfAvatarOnly = false, RenderArgs::RenderSide renderSide = RenderArgs::MONO) :
|
||||
_whichCamera(whichCamera),
|
||||
_selfAvatarOnly(selfAvatarOnly),
|
||||
_renderSide(renderSide) {
|
||||
}
|
||||
};
|
||||
// void displaySide(Camera& whichCamera, bool selfAvatarOnly = false);
|
||||
void displaySide(RenderContext& renderContext);
|
||||
void displaySide(Camera& whichCamera, bool selfAvatarOnly = false, RenderArgs::RenderSide renderSide = RenderArgs::MONO);
|
||||
|
||||
/// Stores the current modelview matrix as the untranslated view matrix to use for transforms and the supplied vector as
|
||||
/// the view matrix translation.
|
||||
|
|
|
@ -126,7 +126,7 @@ void TV3DManager::display(Camera& whichCamera) {
|
|||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
Application::getInstance()->displaySide(Application::RenderContext(whichCamera, false, RenderArgs::STEREO_LEFT));
|
||||
Application::getInstance()->displaySide(whichCamera, false, RenderArgs::STEREO_LEFT);
|
||||
|
||||
if (displayOverlays) {
|
||||
applicationOverlay.displayOverlayTexture3DTV(whichCamera, _aspect, fov);
|
||||
|
@ -156,7 +156,7 @@ void TV3DManager::display(Camera& whichCamera) {
|
|||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLoadIdentity();
|
||||
Application::getInstance()->displaySide(Application::RenderContext(whichCamera, false, RenderArgs::STEREO_RIGHT));
|
||||
Application::getInstance()->displaySide(whichCamera, false, RenderArgs::STEREO_RIGHT);
|
||||
|
||||
if (displayOverlays) {
|
||||
applicationOverlay.displayOverlayTexture3DTV(whichCamera, _aspect, fov);
|
||||
|
|
Loading…
Reference in a new issue