From 18e8a5ebf94a5109e158556e08281d2bd765a3df Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 23 May 2013 16:48:28 -0700 Subject: [PATCH 1/3] tune the distance attenuation on audio-mixer --- audio-mixer/src/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/audio-mixer/src/main.cpp b/audio-mixer/src/main.cpp index 6593876d0b..73263ae05e 100644 --- a/audio-mixer/src/main.cpp +++ b/audio-mixer/src/main.cpp @@ -167,7 +167,7 @@ int main(int argc, const char* argv[]) { float minCoefficient = std::min(1.0f, powf(0.5, - (logf(DISTANCE_RATIO * distanceToAgent) / logf(3)) - 1)); + (logf(DISTANCE_RATIO * distanceToAgent) / logf(2)) - 1)); distanceCoefficients[lowAgentIndex][highAgentIndex] = minCoefficient; } From 95e73afc78d237ff421aa43b37ef6f966f6649e1 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Fri, 24 May 2013 00:16:52 -0700 Subject: [PATCH 2/3] Added the avatar mohawk --- interface/src/Head.cpp | 41 ++++++++++++++++++++++++++++++++++++++++- interface/src/Head.h | 4 ++++ 2 files changed, 44 insertions(+), 1 deletion(-) diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index cb42c6cc54..5d8ea1af57 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -10,7 +10,8 @@ #include using namespace std; - + +const int MOHAWK_TRIANGLES = 50; const float EYE_RIGHT_OFFSET = 0.27f; const float EYE_UP_OFFSET = 0.36f; const float EYE_FRONT_OFFSET = 0.8f; @@ -55,6 +56,7 @@ Head::Head() : _bodyRotation(0.0f, 0.0f, 0.0f), _headRotation(0.0f, 0.0f, 0.0f), _renderLookatVectors(false) { + createMohawk(); } void Head::reset() { @@ -175,6 +177,7 @@ void Head::render(bool lookingInMirror) { glEnable(GL_DEPTH_TEST); glEnable(GL_RESCALE_NORMAL); + renderMohawk(); renderHeadSphere(); renderEyeBalls(); renderEars(); @@ -186,6 +189,42 @@ void Head::render(bool lookingInMirror) { } } +void Head::createMohawk() { + float height = 0.05f + randFloat() * 0.10f; + float variance = 0.05 + randFloat() * 0.05f; + const float RAD_PER_TRIANGLE = (2.3f + randFloat()*0.2f) / (float)MOHAWK_TRIANGLES; + _mohawkTriangleFan = new glm::vec3[MOHAWK_TRIANGLES]; + _mohawkColors = new glm::vec3[MOHAWK_TRIANGLES]; + _mohawkTriangleFan[0] = glm::vec3(0,0,0); + glm::vec3 basicColor(randFloat(), randFloat(), randFloat()); + _mohawkColors[0] = basicColor; + for (int i = 1; i < MOHAWK_TRIANGLES; i++) { + _mohawkTriangleFan[i] = glm::vec3((randFloat() - 0.5f) * variance, + height * cosf(i * RAD_PER_TRIANGLE - PI/2.f) + + (randFloat() - 0.5f) * variance, + height * sinf(i * RAD_PER_TRIANGLE - PI/2.f) + + (randFloat() - 0.5f) * variance); + _mohawkColors[i] = randFloat() * basicColor; + + } + +} + +void Head::renderMohawk() { + glPushMatrix(); + glTranslatef(_position.x, _position.y, _position.z); + glRotatef(_bodyRotation.y, 0, 1, 0); + glBegin(GL_TRIANGLE_FAN); + for (int i = 0; i < MOHAWK_TRIANGLES; i++) { + glColor3f(_mohawkColors[i].x, _mohawkColors[i].y, _mohawkColors[i].z); + glVertex3fv(&_mohawkTriangleFan[i].x); + glNormal3fv(&_mohawkColors[i].x); + } + glEnd(); + glPopMatrix(); +} + + void Head::renderHeadSphere() { glPushMatrix(); glTranslatef(_position.x, _position.y, _position.z); //translate to head position diff --git a/interface/src/Head.h b/interface/src/Head.h index 6ea9218bbf..3b97361e3f 100644 --- a/interface/src/Head.h +++ b/interface/src/Head.h @@ -31,6 +31,7 @@ public: void reset(); void simulate(float deltaTime, bool isMine); void render(bool lookingInMirror); + void renderMohawk(); void setScale (float scale ) { _scale = scale; } void setPosition (glm::vec3 position ) { _position = position; } @@ -80,8 +81,11 @@ private: glm::vec3 _bodyRotation; glm::vec3 _headRotation; bool _renderLookatVectors; + glm::vec3* _mohawkTriangleFan; + glm::vec3* _mohawkColors; // private methods + void createMohawk(); void renderHeadSphere(); void renderEyeBalls(); void renderEyeBrows(); From bf94c88bcc127e41506430797a41902e328dad31 Mon Sep 17 00:00:00 2001 From: Philip Rosedale Date: Fri, 24 May 2013 10:12:50 -0700 Subject: [PATCH 3/3] Fixes per review --- interface/src/Head.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/interface/src/Head.cpp b/interface/src/Head.cpp index 5d8ea1af57..cc628a448f 100644 --- a/interface/src/Head.cpp +++ b/interface/src/Head.cpp @@ -192,17 +192,17 @@ void Head::render(bool lookingInMirror) { void Head::createMohawk() { float height = 0.05f + randFloat() * 0.10f; float variance = 0.05 + randFloat() * 0.05f; - const float RAD_PER_TRIANGLE = (2.3f + randFloat()*0.2f) / (float)MOHAWK_TRIANGLES; + const float RAD_PER_TRIANGLE = (2.3f + randFloat() * 0.2f) / (float)MOHAWK_TRIANGLES; _mohawkTriangleFan = new glm::vec3[MOHAWK_TRIANGLES]; _mohawkColors = new glm::vec3[MOHAWK_TRIANGLES]; - _mohawkTriangleFan[0] = glm::vec3(0,0,0); + _mohawkTriangleFan[0] = glm::vec3(0, 0, 0); glm::vec3 basicColor(randFloat(), randFloat(), randFloat()); _mohawkColors[0] = basicColor; for (int i = 1; i < MOHAWK_TRIANGLES; i++) { _mohawkTriangleFan[i] = glm::vec3((randFloat() - 0.5f) * variance, - height * cosf(i * RAD_PER_TRIANGLE - PI/2.f) + height * cosf(i * RAD_PER_TRIANGLE - PI / 2.f) + (randFloat() - 0.5f) * variance, - height * sinf(i * RAD_PER_TRIANGLE - PI/2.f) + height * sinf(i * RAD_PER_TRIANGLE - PI / 2.f) + (randFloat() - 0.5f) * variance); _mohawkColors[i] = randFloat() * basicColor;