History

Merge branch 'master' of https://github.com/highfidelity/hifi into move-locations

Stephen Birarda committed 12 years ago

Commit 1007f522 parents 65a557b 473394581 files · +2213 −2146Browse files

Showing the changes to interface/src/Application.cpp (1 of 81 files). Show all

Unified · Split

interface/src/Application.cpp+36−31
@@ -695,8 +695,6 @@ void Application::paintGL() { · 694 unmodified lines
695695 displaySide(whichCamera);
696696 glPopMatrix();
697697
698− _glowEffect.render();
699−
700698 if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {
701699 renderRearViewMirror(_mirrorViewRect);
702700
@@ -704,6 +702,8 @@ void Application::paintGL() { · 1 unmodified line
704702 _rearMirrorTools->render(true);
705703 }
706704
705+ _glowEffect.render();
706+
707707 {
708708 PerformanceTimer perfTimer("renderOverlay");
709709 // PrioVR will only work if renderOverlay is called, calibration is connected to Application::renderingOverlay()
@@ -1751,6 +1751,7 @@ void Application::init() { · 1041 unmodified lines
17511751
17521752 _environment.init();
17531753
1754+ _deferredLightingEffect.init();
17541755 _glowEffect.init();
17551756 _ambientOcclusionEffect.init();
17561757 _voxelShader.init();
@@ -2706,7 +2707,6 @@ void Application::updateShadowMap() { · 949 unmodified lines
27062707 const GLfloat WORLD_AMBIENT_COLOR[] = { 0.525f, 0.525f, 0.6f };
27072708 const GLfloat WORLD_DIFFUSE_COLOR[] = { 0.6f, 0.525f, 0.525f };
27082709 const GLfloat WORLD_SPECULAR_COLOR[] = { 0.94f, 0.94f, 0.737f, 1.0f };
2709−const GLfloat NO_SPECULAR_COLOR[] = { 0.0f, 0.0f, 0.0f, 1.0f };
27102710
27112711 void Application::setupWorldLight() {
27122712
@@ -2727,7 +2727,8 @@ void Application::setupWorldLight() { · 14 unmodified lines
27272727 QImage Application::renderAvatarBillboard() {
27282728 _textureCache.getPrimaryFramebufferObject()->bind();
27292729
2730− glDisable(GL_BLEND);
2730+ // the "glow" here causes an alpha of one
2731+ Glower glower;
27312732
27322733 const int BILLBOARD_SIZE = 64;
27332734 renderRearViewMirror(QRect(0, _glWidget->getDeviceHeight() - BILLBOARD_SIZE, BILLBOARD_SIZE, BILLBOARD_SIZE), true);
@@ -2735,8 +2736,6 @@ QImage Application::renderAvatarBillboard() { · 1 unmodified line
27352736 QImage image(BILLBOARD_SIZE, BILLBOARD_SIZE, QImage::Format_ARGB32);
27362737 glReadPixels(0, 0, BILLBOARD_SIZE, BILLBOARD_SIZE, GL_BGRA, GL_UNSIGNED_BYTE, image.bits());
27372738
2738− glEnable(GL_BLEND);
2739−
27402739 _textureCache.getPrimaryFramebufferObject()->release();
27412740
27422741 return image;
@@ -2840,6 +2839,8 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 97 unmodified lines
28402839 glEnable(GL_LIGHTING);
28412840 glEnable(GL_DEPTH_TEST);
28422841
2842+ _deferredLightingEffect.prepare();
2843+
28432844 if (!selfAvatarOnly) {
28442845 // draw a red sphere
28452846 float originSphereRadius = 0.05f;
@@ -2848,15 +2849,19 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 2 unmodified lines
28482849 glutSolidSphere(originSphereRadius, 15, 15);
28492850 glPopMatrix();
28502851
2851− // disable specular lighting for ground and voxels
2852− glMaterialfv(GL_FRONT, GL_SPECULAR, NO_SPECULAR_COLOR);
2853−
28542852 // draw the audio reflector overlay
28552853 {
28562854 PerformanceTimer perfTimer("audio");
28572855 _audioReflector.render();
28582856 }
28592857
2858+ if (Menu::getInstance()->isOptionChecked(MenuOption::BuckyBalls)) {
2859+ PerformanceTimer perfTimer("buckyBalls");
2860+ PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings),
2861+ "Application::displaySide() ... bucky balls...");
2862+ _buckyBalls.render();
2863+ }
2864+
28602865 // Draw voxels
28612866 if (Menu::getInstance()->isOptionChecked(MenuOption::Voxels)) {
28622867 PerformanceTimer perfTimer("voxels");
@@ -2873,13 +2878,6 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 10 unmodified lines
28732878 _metavoxels.render();
28742879 }
28752880
2876− if (Menu::getInstance()->isOptionChecked(MenuOption::BuckyBalls)) {
2877− PerformanceTimer perfTimer("buckyBalls");
2878− PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings),
2879− "Application::displaySide() ... bucky balls...");
2880− _buckyBalls.render();
2881− }
2882−
28832881 // render particles...
28842882 if (Menu::getInstance()->isOptionChecked(MenuOption::Particles)) {
28852883 PerformanceTimer perfTimer("particles");
@@ -2903,27 +2901,34 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 17 unmodified lines
29032901 "Application::displaySide() ... AmbientOcclusion...");
29042902 _ambientOcclusionEffect.render();
29052903 }
2906−
2907− // restore default, white specular
2908− glMaterialfv(GL_FRONT, GL_SPECULAR, WORLD_SPECULAR_COLOR);
2909−
2910− _nodeBoundsDisplay.draw();
2911−
29122904 }
29132905
29142906 bool mirrorMode = (whichCamera.getInterpolatedMode() == CAMERA_MODE_MIRROR);
29152907 {
29162908 PerformanceTimer perfTimer("avatars");
2917−
2918− _avatarManager.renderAvatars(mirrorMode ? Avatar::MIRROR_RENDER_MODE : Avatar::NORMAL_RENDER_MODE, selfAvatarOnly);
2909+ _avatarManager.renderAvatars(mirrorMode ? Avatar::MIRROR_RENDER_MODE : Avatar::NORMAL_RENDER_MODE,
2910+ false, selfAvatarOnly);
2911+ }
2912+
2913+ {
2914+ PerformanceTimer perfTimer("lighting");
2915+ _deferredLightingEffect.render();
2916+ }
29192917
2920− //Render the sixense lasers
2921− if (Menu::getInstance()->isOptionChecked(MenuOption::SixenseLasers)) {
2922− _myAvatar->renderLaserPointers();
2923− }
2918+ {
2919+ PerformanceTimer perfTimer("avatarsPostLighting");
2920+ _avatarManager.renderAvatars(mirrorMode ? Avatar::MIRROR_RENDER_MODE : Avatar::NORMAL_RENDER_MODE,
2921+ true, selfAvatarOnly);
2922+ }
2923+
2924+ //Render the sixense lasers
2925+ if (Menu::getInstance()->isOptionChecked(MenuOption::SixenseLasers)) {
2926+ _myAvatar->renderLaserPointers();
29242927 }
29252928
29262929 if (!selfAvatarOnly) {
2930+ _nodeBoundsDisplay.draw();
2931+
29272932 // Render the world box
29282933 if (whichCamera.getMode() != CAMERA_MODE_MIRROR && Menu::getInstance()->isOptionChecked(MenuOption::Stats) &&
29292934 Menu::getInstance()->isOptionChecked(MenuOption::UserInterface)) {
@@ -2998,7 +3003,7 @@ void Application::computeOffAxisFrustum(float& left, float& right, float& bottom · 68 unmodified lines
29983003 float& farVal, glm::vec4& nearClipPlane, glm::vec4& farClipPlane) const {
29993004
30003005 // allow 3DTV/Oculus to override parameters from camera
3001− _viewFrustum.computeOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane);
3006+ _displayViewFrustum.computeOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane);
30023007 if (OculusManager::isConnected()) {
30033008 OculusManager::overrideOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane);
30043009
@@ -3797,8 +3802,8 @@ ScriptEngine* Application::loadScript(const QString& scriptFilename, bool isUser · 792 unmodified lines
37973802 scriptEngine->getEntityScriptingInterface()->setPacketSender(&_entityEditSender);
37983803 scriptEngine->getEntityScriptingInterface()->setEntityTree(_entities.getTree());
37993804
3800− // model has some custom types
3801− Model::registerMetaTypes(scriptEngine);
3805+ // AvatarManager has some custom types
3806+ AvatarManager::registerMetaTypes(scriptEngine);
38023807
38033808 // hook our avatar object into this script engine
38043809 scriptEngine->setAvatarData(_myAvatar, "MyAvatar"); // leave it as a MyAvatar class to expose thrust features

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t