History

Merge branch 'master' of https://github.com/highfidelity/hifi into 20061

stojce committed 12 years ago

Commit cc83c2b2 parents 466dbdc 034870e91 files · +2402 −2426Browse files

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

Unified · Split

interface/src/Application.cpp+34−28
@@ -698,8 +698,6 @@ void Application::paintGL() { · 697 unmodified lines
698698 displaySide(whichCamera);
699699 glPopMatrix();
700700
701− _glowEffect.render();
702−
703701 if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) {
704702 renderRearViewMirror(_mirrorViewRect);
705703
@@ -707,6 +705,8 @@ void Application::paintGL() { · 1 unmodified line
707705 _rearMirrorTools->render(true);
708706 }
709707
708+ _glowEffect.render();
709+
710710 {
711711 PerformanceTimer perfTimer("renderOverlay");
712712 // PrioVR will only work if renderOverlay is called, calibration is connected to Application::renderingOverlay()
@@ -1753,6 +1753,7 @@ void Application::init() { · 1040 unmodified lines
17531753
17541754 _environment.init();
17551755
1756+ _deferredLightingEffect.init();
17561757 _glowEffect.init();
17571758 _ambientOcclusionEffect.init();
17581759 _voxelShader.init();
@@ -2708,7 +2709,6 @@ void Application::updateShadowMap() { · 949 unmodified lines
27082709 const GLfloat WORLD_AMBIENT_COLOR[] = { 0.525f, 0.525f, 0.6f };
27092710 const GLfloat WORLD_DIFFUSE_COLOR[] = { 0.6f, 0.525f, 0.525f };
27102711 const GLfloat WORLD_SPECULAR_COLOR[] = { 0.94f, 0.94f, 0.737f, 1.0f };
2711−const GLfloat NO_SPECULAR_COLOR[] = { 0.0f, 0.0f, 0.0f, 1.0f };
27122712
27132713 void Application::setupWorldLight() {
27142714
@@ -2842,6 +2842,8 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 127 unmodified lines
28422842 glEnable(GL_LIGHTING);
28432843 glEnable(GL_DEPTH_TEST);
28442844
2845+ _deferredLightingEffect.prepare();
2846+
28452847 if (!selfAvatarOnly) {
28462848 // draw a red sphere
28472849 float originSphereRadius = 0.05f;
@@ -2850,15 +2852,19 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 2 unmodified lines
28502852 glutSolidSphere(originSphereRadius, 15, 15);
28512853 glPopMatrix();
28522854
2853− // disable specular lighting for ground and voxels
2854− glMaterialfv(GL_FRONT, GL_SPECULAR, NO_SPECULAR_COLOR);
2855−
28562855 // draw the audio reflector overlay
28572856 {
28582857 PerformanceTimer perfTimer("audio");
28592858 _audioReflector.render();
28602859 }
28612860
2861+ if (Menu::getInstance()->isOptionChecked(MenuOption::BuckyBalls)) {
2862+ PerformanceTimer perfTimer("buckyBalls");
2863+ PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings),
2864+ "Application::displaySide() ... bucky balls...");
2865+ _buckyBalls.render();
2866+ }
2867+
28622868 // Draw voxels
28632869 if (Menu::getInstance()->isOptionChecked(MenuOption::Voxels)) {
28642870 PerformanceTimer perfTimer("voxels");
@@ -2875,13 +2881,6 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 10 unmodified lines
28752881 _metavoxels.render();
28762882 }
28772883
2878− if (Menu::getInstance()->isOptionChecked(MenuOption::BuckyBalls)) {
2879− PerformanceTimer perfTimer("buckyBalls");
2880− PerformanceWarning warn(Menu::getInstance()->isOptionChecked(MenuOption::PipelineWarnings),
2881− "Application::displaySide() ... bucky balls...");
2882− _buckyBalls.render();
2883− }
2884−
28852884 // render particles...
28862885 if (Menu::getInstance()->isOptionChecked(MenuOption::Particles)) {
28872886 PerformanceTimer perfTimer("particles");
@@ -2905,27 +2904,34 @@ void Application::displaySide(Camera& whichCamera, bool selfAvatarOnly) { · 17 unmodified lines
29052904 "Application::displaySide() ... AmbientOcclusion...");
29062905 _ambientOcclusionEffect.render();
29072906 }
2908−
2909− // restore default, white specular
2910− glMaterialfv(GL_FRONT, GL_SPECULAR, WORLD_SPECULAR_COLOR);
2911−
2912− _nodeBoundsDisplay.draw();
2913−
29142907 }
29152908
29162909 bool mirrorMode = (whichCamera.getInterpolatedMode() == CAMERA_MODE_MIRROR);
29172910 {
29182911 PerformanceTimer perfTimer("avatars");
2919−
2920− _avatarManager.renderAvatars(mirrorMode ? Avatar::MIRROR_RENDER_MODE : Avatar::NORMAL_RENDER_MODE, selfAvatarOnly);
2912+ _avatarManager.renderAvatars(mirrorMode ? Avatar::MIRROR_RENDER_MODE : Avatar::NORMAL_RENDER_MODE,
2913+ false, selfAvatarOnly);
2914+ }
2915+
2916+ {
2917+ PerformanceTimer perfTimer("lighting");
2918+ _deferredLightingEffect.render();
2919+ }
29212920
2922− //Render the sixense lasers
2923− if (Menu::getInstance()->isOptionChecked(MenuOption::SixenseLasers)) {
2924− _myAvatar->renderLaserPointers();
2925− }
2921+ {
2922+ PerformanceTimer perfTimer("avatarsPostLighting");
2923+ _avatarManager.renderAvatars(mirrorMode ? Avatar::MIRROR_RENDER_MODE : Avatar::NORMAL_RENDER_MODE,
2924+ true, selfAvatarOnly);
2925+ }
2926+
2927+ //Render the sixense lasers
2928+ if (Menu::getInstance()->isOptionChecked(MenuOption::SixenseLasers)) {
2929+ _myAvatar->renderLaserPointers();
29262930 }
29272931
29282932 if (!selfAvatarOnly) {
2933+ _nodeBoundsDisplay.draw();
2934+
29292935 // Render the world box
29302936 if (whichCamera.getMode() != CAMERA_MODE_MIRROR && Menu::getInstance()->isOptionChecked(MenuOption::Stats) &&
29312937 Menu::getInstance()->isOptionChecked(MenuOption::UserInterface)) {
@@ -3000,7 +3006,7 @@ void Application::computeOffAxisFrustum(float& left, float& right, float& bottom · 68 unmodified lines
30003006 float& farVal, glm::vec4& nearClipPlane, glm::vec4& farClipPlane) const {
30013007
30023008 // allow 3DTV/Oculus to override parameters from camera
3003− _viewFrustum.computeOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane);
3009+ _displayViewFrustum.computeOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane);
30043010 if (OculusManager::isConnected()) {
30053011 OculusManager::overrideOffAxisFrustum(left, right, bottom, top, nearVal, farVal, nearClipPlane, farClipPlane);
30063012
@@ -3799,8 +3805,8 @@ ScriptEngine* Application::loadScript(const QString& scriptFilename, bool isUser · 792 unmodified lines
37993805 scriptEngine->getEntityScriptingInterface()->setPacketSender(&_entityEditSender);
38003806 scriptEngine->getEntityScriptingInterface()->setEntityTree(_entities.getTree());
38013807
3802− // model has some custom types
3803− Model::registerMetaTypes(scriptEngine);
3808+ // AvatarManager has some custom types
3809+ AvatarManager::registerMetaTypes(scriptEngine);
38043810
38053811 // hook our avatar object into this script engine
38063812 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