Merge pull request #797 from machinelevel/dev4

Rave demo changes per Ryan's request: Darken the world when you're in ra...
This commit is contained in:
ZappoMan 2013-08-06 15:00:26 -07:00
commit 634b69b545
6 changed files with 26 additions and 3 deletions

View file

@ -3073,6 +3073,8 @@ void Application::displaySide(Camera& whichCamera) {
glEnable(GL_LIGHTING);
}
_myAvatar.renderScreenTint(SCREEN_TINT_BEFORE_AVATARS);
if (_renderAvatarsOn->isChecked()) {
// Render avatars of other nodes
NodeList* nodeList = NodeList::getInstance();

View file

@ -1219,6 +1219,15 @@ void Avatar::render(bool lookingInMirror, bool renderAvatarBalls) {
}
}
void Avatar::renderScreenTint(ScreenTintLayer layer) {
if (layer == SCREEN_TINT_BEFORE_AVATARS) {
if (_hand.isRaveGloveActive()) {
_hand.renderRaveGloveStage();
}
}
}
void Avatar::resetBodyBalls() {
for (int b = 0; b < NUM_AVATAR_BODY_BALLS; b++) {

View file

@ -112,6 +112,15 @@ enum AvatarMode
NUM_AVATAR_MODES
};
enum ScreenTintLayer
{
SCREEN_TINT_BEFORE_LANDSCAPE = 0,
SCREEN_TINT_BEFORE_AVATARS,
SCREEN_TINT_BEFORE_MY_AVATAR,
SCREEN_TINT_AFTER_MY_AVATAR,
NUM_SCREEN_TINT_LAYERS
};
class Avatar : public AvatarData {
public:
Avatar(Node* owningNode = NULL);
@ -127,6 +136,7 @@ public:
void addBodyYaw(float bodyYaw) {_bodyYaw += bodyYaw;};
void addBodyYawDelta(float bodyYawDelta) {_bodyYawDelta += bodyYawDelta;}
void render(bool lookingInMirror, bool renderAvatarBalls);
void renderScreenTint(ScreenTintLayer layer);
//setters
void setMousePressed (bool mousePressed ) { _mousePressed = mousePressed;}

View file

@ -174,6 +174,7 @@ void Hand::renderRaveGloveStage() {
glm::vec3 v3 = headOrientation * (glm::vec3(-1.0f, 1.0f, 0.0f) * scale) + vc;
glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_BLEND);
glBegin(GL_TRIANGLE_FAN);
glColor4f(0.0f, 0.0f, 0.0f, 1.0f);
@ -185,6 +186,7 @@ void Hand::renderRaveGloveStage() {
glVertex3fv((float*)&v3);
glVertex3fv((float*)&v0);
glEnd();
glDepthMask(GL_TRUE);
glEnable(GL_DEPTH_TEST);
}
}

View file

@ -41,6 +41,7 @@ public:
void reset();
void simulate(float deltaTime, bool isMine);
void render(bool lookingInMirror);
void renderRaveGloveStage();
void setBallColor (glm::vec3 ballColor ) { _ballColor = ballColor; }
void updateRaveGloveParticles(float deltaTime);
@ -74,7 +75,6 @@ private:
void activateNewRaveGloveMode();
void renderRaveGloveStage();
void renderLeapHandSpheres();
void renderLeapHands();
void renderLeapHand(PalmData& hand);

View file

@ -28,6 +28,7 @@ AvatarData::AvatarData(Node* owningNode) :
_bodyPitch(0.0),
_bodyRoll(0.0),
_newScale(1.0f),
_leaderID(UNKNOWN_NODE_ID),
_handState(0),
_cameraPosition(0,0,0),
_cameraOrientation(),
@ -41,8 +42,7 @@ AvatarData::AvatarData(Node* owningNode) :
_wantLowResMoving(false),
_wantOcclusionCulling(true),
_headData(NULL),
_handData(NULL),
_leaderID(UNKNOWN_NODE_ID)
_handData(NULL)
{
}