llviewerdisplay.cpp File Reference

LLViewerDisplay class implementation. More...

#include "llviewerprecompiledheaders.h"
#include "llviewerdisplay.h"
#include "llgl.h"
#include "llglimmediate.h"
#include "llglheaders.h"
#include "llagent.h"
#include "llviewercontrol.h"
#include "llcoord.h"
#include "llcriticaldamp.h"
#include "lldir.h"
#include "lldynamictexture.h"
#include "lldrawpoolalpha.h"
#include "llfeaturemanager.h"
#include "llframestats.h"
#include "llhudmanager.h"
#include "llimagebmp.h"
#include "llimagegl.h"
#include "llselectmgr.h"
#include "llsky.h"
#include "llstartup.h"
#include "lltoolfocus.h"
#include "lltoolmgr.h"
#include "lltooldraganddrop.h"
#include "lltoolpie.h"
#include "lltracker.h"
#include "llui.h"
#include "llviewercamera.h"
#include "llviewerobjectlist.h"
#include "llviewerparcelmgr.h"
#include "llviewerwindow.h"
#include "llvoavatar.h"
#include "llvograss.h"
#include "llworld.h"
#include "pipeline.h"
#include "llspatialpartition.h"
#include "llappviewer.h"
#include "llfasttimer.h"
#include "llfloatertools.h"
#include "llviewerimagelist.h"
#include "llfocusmgr.h"
#include "llcubemap.h"
#include "llviewerregion.h"
#include "lldrawpoolwater.h"
#include "lldrawpoolbump.h"
#include "llwlparammanager.h"
#include "llwaterparammanager.h"
#include "llpostprocess.h"

Include dependency graph for llviewerdisplay.cpp:

Go to the source code of this file.

Functions

void pre_show_depth_buffer ()
void post_show_depth_buffer ()
void render_ui_and_swap ()
void render_ui_and_swap_if_needed ()
void render_hud_attachments ()
void render_ui_3d ()
void render_ui_2d ()
void render_disconnected_background ()
void render_hud_elements ()
void process_keystrokes_async ()
void display_startup ()
void display_update_camera ()
void display (BOOL rebuild, F32 zoom_factor, int subfield, BOOL for_snapshot)
BOOL setup_hud_matrices (BOOL for_select)
void renderCoordinateAxes ()
void draw_axes ()
void display_cleanup ()

Variables

LLPointer< LLImageGLgStartImageGL
BOOL gDisplaySwapBuffers = FALSE
LLPointer< LLImageGLgDisconnectedImagep = NULL
const F32 TELEPORT_RENDER_DELAY = 20.f
const F32 TELEPORT_ARRIVAL_DELAY = 2.f
BOOL gTeleportDisplay = FALSE
LLFrameTimer gTeleportDisplayTimer
LLFrameTimer gTeleportArrivalTimer
const F32 RESTORE_GL_TIME = 5.f
BOOL gForceRenderLandFence = FALSE
BOOL gResizeScreenTexture = FALSE
BOOL gSnapshot = FALSE


Detailed Description

LLViewerDisplay class implementation.

LicenseInfo
firstyear=2004&license=viewergpl

Copyright (c) 2004-2008, Linden Research, Inc.

Second Life Viewer Source Code The source code in this file ("Source Code") is provided by Linden Lab to you under the terms of the GNU General Public License, version 2.0 ("GPL"), unless you have obtained a separate licensing agreement ("Other License"), formally executed by you and Linden Lab. Terms of the GPL can be found in doc/GPL-license.txt in this distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/gplv2

There are special exceptions to the terms and conditions of the GPL as it is applied to this Source Code. View the full text of the exception in the file doc/FLOSS-exception.txt in this software distribution, or online at http://secondlifegrid.net/programs/open_source/licensing/flossexception

By copying, modifying or distributing this software, you acknowledge that you have read and understood your obligations described above, and agree to abide by those obligations.

ALL LINDEN LAB SOURCE CODE IS PROVIDED "AS IS." LINDEN LAB MAKES NO WARRANTIES, EXPRESS, IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE. $/LicenseInfo$

Definition in file llviewerdisplay.cpp.


Function Documentation

void display ( BOOL  rebuild,
F32  zoom_factor,
int  subfield,
BOOL  for_snapshot 
)

We copy the frame buffer straight into a texture here, and then display it again with compositor effects. Using render to texture would be faster/better, but I don't have a grasp of their full display stack just yet.

Definition at line 186 of file llviewerdisplay.cpp.

References LLRenderTarget::bindTarget(), LLViewerCamera::cameraUnderWater(), LLPipeline::canUseVertexShaders(), LLViewerWindow::checkSettings(), LLGLState::checkStates(), LLGLState::checkTextureChannels(), LLVertexBuffer::clientCopy(), LLPipeline::disableLights(), display_startup(), display_update_camera(), FALSE, LLRenderTarget::flush(), LLFastTimer::FTM_CLIENT_COPY, LLFastTimer::FTM_IMAGE_UPDATE, LLFastTimer::FTM_RENDER, LLFastTimer::FTM_UPDATE_SKY, LLFastTimer::FTM_UPDATE_TEXTURES, gAgent, gBumpImageList, gDisconnected, gDisplaySwapBuffers, LLPipeline::generateWaterReflection(), LLViewerWindow::getActive(), LLFocusMgr::getAppHasFocus(), LLVOAvatar::getAttachmentCount(), LLAgent::getAvatarObject(), LLControlGroup::getBOOL(), LLTimer::getElapsedTimeF32(), LLFrameTimer::getElapsedTimeF32(), LLSingleton< LLFeatureManager >::getInstance(), LLSingleton< LLHUDManager >::getInstance(), LLSingleton< LLViewerCamera >::getInstance(), LLWindow::getMinimized(), LLViewerWindow::getPlatformWindow(), LLControlGroup::getS32(), LLStartUp::getStartupState(), LLAgent::getTeleportMessage(), LLAgent::getTeleportState(), LLShaderMgr::getVertexShaderLevel(), LLWindow::getVisible(), gFocusMgr, gForegroundFrameCount, gFrameCount, gFrameIntervalSeconds, gFrameStats, gFrameTimeSeconds, gGLLastModelView, gGLManager, gGLModelView, gHandleKeysAsync, gImageList, glh_get_current_modelview(), glh_get_current_projection(), glh_set_current_modelview(), glh_set_current_projection(), gLogoutMaxTime, gLogoutTimer, gNoRender, gPipeline, gResizeScreenTexture, gRestoreGL, gRestoreGLTimer, gSavedSettings, gSky, gSnapshot, gTeleportDisplay, gUseWireframe, gViewerWindow, LLPipeline::hasRenderDebugFeatureMask(), LLPipeline::hasRenderType(), i, LLFrameStats::IMAGE_UPDATE, LLDrawable::incrementVisible(), LLAppViewer::instance(), LLApp::isExiting(), LLFeatureList::isFeatureAvailable(), llmin(), LLPipeline::mBackfaceCull, LLViewerImageList::mForceResetTextureStats, LLGLManager::mHasOcclusionQuery, MIN_NEAR_PLANE, LLFrameStats::MISC_END, LLPipeline::mScreen, LLViewerWindow::mWindow, NULL, LLViewerWindow::performPick(), pre_show_depth_buffer(), process_keystrokes_async(), LLPipeline::processImagery(), LLFrameStats::REBUILD, LLPipeline::rebuildPools(), LLPipeline::RENDER_DEBUG_FEATURE_DYNAMIC_TEXTURES, render_disconnected_background(), LLPipeline::RENDER_TYPE_HUD, LLPipeline::RENDER_TYPE_WATER, LLFrameStats::RENDER_UI, render_ui_and_swap_if_needed(), LLPipeline::renderGeom(), LLFrameTimer::reset(), LLPipeline::resizeScreenTexture(), RESTORE_GL_TIME, S32, send_agent_pause(), send_agent_resume(), LLCamera::setNear(), LLViewerWindow::setProgressCancelButtonVisible(), LLViewerWindow::setProgressPercent(), LLViewerWindow::setProgressString(), LLViewerWindow::setShowProgress(), LLAgent::setTeleportMessage(), LLAgent::setTeleportState(), LLViewerWindow::setupViewport(), LLViewerCamera::setZoomParameters(), LLPipeline::sFastAlpha, LLShaderMgr::SHADER_ENVIRONMENT, LLVOAvatar::sMaxVisible, LLPipeline::sRenderFrameTest, LLPipeline::sRenderGlow, LLVOAvatar::sRenderGroupTitles, LLVOAvatar::sRenderName, LLFrameStats::start(), LLFrameStats::STATE_SORT, STATE_STARTED, LLPipeline::stateSort(), LLAgent::sTeleportProgressMessages, stop_glerror, LLPipeline::sUnderWaterRender, LLPipeline::sUseFarClip, LLPipeline::sUseOcclusion, TELEPORT_ARRIVAL_DELAY, LLAgent::TELEPORT_ARRIVING, TELEPORT_EXPIRY, TELEPORT_EXPIRY_PER_ATTACHMENT, LLAgent::TELEPORT_MOVING, LLAgent::TELEPORT_NONE, LLAgent::TELEPORT_REQUESTED, LLAgent::TELEPORT_START, LLAgent::TELEPORT_START_ARRIVAL, LLPipeline::toggleRenderType(), TRUE, LLVertexBuffer::unbind(), LLFrameStats::UPDATE_CULL, LLFrameStats::UPDATE_GEOM, LLFrameStats::UPDATE_TEX_STATS, LLHUDObject::updateAll(), LLDynamicTexture::updateAllInstances(), LLViewerImage::updateClass(), LLPipeline::updateCull(), LLHUDManager::updateEffects(), LLVOAvatar::updateFreezeCounter(), LLPipeline::updateGeom(), LLViewerImageList::updateImages(), LLBumpImageList::updateImages(), LLVOAvatar::updateImpostors(), LLSky::updateSky(), LLImageGL::updateStats(), and LLGLNamePool::upkeepPools().

Referenced by LLAppViewer::mainLoop(), LLViewerWindow::rawSnapshot(), and LLViewerWindow::thumbnailSnapshot().

Here is the caller graph for this function:

void display_cleanup (  ) 

Definition at line 1182 of file llviewerdisplay.cpp.

References NULL.

Referenced by LLAppViewer::cleanup().

Here is the caller graph for this function:

void display_startup (  ) 

void display_update_camera (  ) 

void draw_axes (  ) 

Definition at line 994 of file llviewerdisplay.cpp.

References LLGLImmediate::begin(), LLGLImmediate::color3f(), LLGLImmediate::end(), gAgent, LLAgent::getPositionAgent(), gGL, LLVertexBuffer::LINES, LLVector3::mV, renderCoordinateAxes(), LLGLImmediate::vertex3f(), VX, VY, and VZ.

Referenced by render_ui_3d().

Here is the call graph for this function:

Here is the caller graph for this function:

void post_show_depth_buffer (  ) 

Definition at line 1122 of file llglsandbox.cpp.

References i, and llfloor().

Referenced by render_ui_3d().

Here is the call graph for this function:

Here is the caller graph for this function:

void pre_show_depth_buffer (  ) 

Definition at line 1114 of file llglsandbox.cpp.

Referenced by display().

Here is the caller graph for this function:

void process_keystrokes_async (  ) 

void render_disconnected_background (  ) 

void render_hud_attachments (  ) 

void render_hud_elements (  ) 

void render_ui_2d (  ) 

void render_ui_3d (  ) 

Definition at line 1012 of file llviewerdisplay.cpp.

References draw_axes(), FALSE, LLControlGroup::getBOOL(), gSavedSettings, gViewerWindow, post_show_depth_buffer(), LLViewerWindow::renderSelections(), stop_glerror, and TRUE.

Referenced by render_ui_and_swap().

Here is the call graph for this function:

Here is the caller graph for this function:

void render_ui_and_swap (  ) 

void render_ui_and_swap_if_needed (  ) 

void renderCoordinateAxes (  ) 

Definition at line 944 of file llviewerdisplay.cpp.

References LLGLImmediate::begin(), LLGLImmediate::color3f(), LLGLImmediate::end(), gGL, LLVertexBuffer::LINES, and LLGLImmediate::vertex3f().

Referenced by draw_axes().

Here is the call graph for this function:

Here is the caller graph for this function:

BOOL setup_hud_matrices ( BOOL  for_select  ) 


Variable Documentation

Definition at line 87 of file llviewerdisplay.cpp.

Definition at line 97 of file llviewerdisplay.cpp.

Referenced by LLFloaterAuction::onClickSnapshot(), and render_hud_elements().

BOOL gSnapshot = FALSE

Definition at line 100 of file llviewerdisplay.cpp.

Referenced by display(), and render_ui_and_swap().

Definition at line 201 of file llstartup.cpp.

Referenced by LLProgressView::draw().

Definition at line 94 of file llviewerdisplay.cpp.

Definition at line 93 of file llviewerdisplay.cpp.

const F32 RESTORE_GL_TIME = 5.f

Definition at line 95 of file llviewerdisplay.cpp.

Referenced by display().

Definition at line 91 of file llviewerdisplay.cpp.

Referenced by display().

const F32 TELEPORT_RENDER_DELAY = 20.f

Definition at line 90 of file llviewerdisplay.cpp.


Generated on Fri May 16 08:37:24 2008 for SecondLife by  doxygen 1.5.5