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); glEnable(GL_LIGHTING);
} }
_myAvatar.renderScreenTint(SCREEN_TINT_BEFORE_AVATARS);
if (_renderAvatarsOn->isChecked()) { if (_renderAvatarsOn->isChecked()) {
// Render avatars of other nodes // Render avatars of other nodes
NodeList* nodeList = NodeList::getInstance(); 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() { void Avatar::resetBodyBalls() {
for (int b = 0; b < NUM_AVATAR_BODY_BALLS; b++) { for (int b = 0; b < NUM_AVATAR_BODY_BALLS; b++) {

View file

@ -112,6 +112,15 @@ enum AvatarMode
NUM_AVATAR_MODES 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 { class Avatar : public AvatarData {
public: public:
Avatar(Node* owningNode = NULL); Avatar(Node* owningNode = NULL);
@ -127,6 +136,7 @@ public:
void addBodyYaw(float bodyYaw) {_bodyYaw += bodyYaw;}; void addBodyYaw(float bodyYaw) {_bodyYaw += bodyYaw;};
void addBodyYawDelta(float bodyYawDelta) {_bodyYawDelta += bodyYawDelta;} void addBodyYawDelta(float bodyYawDelta) {_bodyYawDelta += bodyYawDelta;}
void render(bool lookingInMirror, bool renderAvatarBalls); void render(bool lookingInMirror, bool renderAvatarBalls);
void renderScreenTint(ScreenTintLayer layer);
//setters //setters
void setMousePressed (bool mousePressed ) { _mousePressed = mousePressed;} 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; glm::vec3 v3 = headOrientation * (glm::vec3(-1.0f, 1.0f, 0.0f) * scale) + vc;
glDisable(GL_DEPTH_TEST); glDisable(GL_DEPTH_TEST);
glDepthMask(GL_FALSE);
glEnable(GL_BLEND); glEnable(GL_BLEND);
glBegin(GL_TRIANGLE_FAN); glBegin(GL_TRIANGLE_FAN);
glColor4f(0.0f, 0.0f, 0.0f, 1.0f); glColor4f(0.0f, 0.0f, 0.0f, 1.0f);
@ -185,6 +186,7 @@ void Hand::renderRaveGloveStage() {
glVertex3fv((float*)&v3); glVertex3fv((float*)&v3);
glVertex3fv((float*)&v0); glVertex3fv((float*)&v0);
glEnd(); glEnd();
glDepthMask(GL_TRUE);
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);
} }
} }

View file

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

View file

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