diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/arap.cpp | 2 | ||||
-rwxr-xr-x | src/glwidget.cpp | 4 | ||||
-rw-r--r-- | src/graphics/shape.cpp | 6 | ||||
-rw-r--r-- | src/graphics/shape.h | 2 |
4 files changed, 13 insertions, 1 deletions
diff --git a/src/arap.cpp b/src/arap.cpp index 8b3fedc..79fe475 100644 --- a/src/arap.cpp +++ b/src/arap.cpp @@ -34,10 +34,10 @@ void ARAP::init // m_shape.init(vertices, triangles); // } - vertices = m_ocean.get_vertices(); triangles = m_ocean.get_faces(); m_shape.init(vertices, triangles); + m_shape.setColor(0.27f, .803f, .96f); // Students, please don't touch this code: get min and max for viewport stuff MatrixX3f all_vertices = MatrixX3f(vertices.size(), 3); diff --git a/src/glwidget.cpp b/src/glwidget.cpp index 98d8924..2801251 100755 --- a/src/glwidget.cpp +++ b/src/glwidget.cpp @@ -112,10 +112,14 @@ void GLWidget::initializeGL() void GLWidget::paintGL() { glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable( GL_BLEND ); m_defaultShader->bind(); m_defaultShader->setUniform("proj", m_camera.getProjection()); m_defaultShader->setUniform("view", m_camera.getView()); + Eigen::Matrix4f inverseView = m_camera.getView().inverse(); + m_defaultShader->setUniform("inverseView", inverseView); m_arap.draw(m_defaultShader, GL_TRIANGLES); m_defaultShader->unbind(); diff --git a/src/graphics/shape.cpp b/src/graphics/shape.cpp index 8fe35b1..9459306 100644 --- a/src/graphics/shape.cpp +++ b/src/graphics/shape.cpp @@ -104,6 +104,12 @@ void Shape::setModelMatrix(const Affine3f &model) { m_modelMatrix = model.matrix // ================== General Graphics Stuff +void Shape::setColor(float r, float g, float b) { + m_red = r; + m_green = g; + m_blue = b; +} + void Shape::draw(Shader *shader, GLenum mode) { Eigen::Matrix3f m3 = m_modelMatrix.topLeftCorner(3, 3); diff --git a/src/graphics/shape.h b/src/graphics/shape.h index 3ba81fb..1451c85 100644 --- a/src/graphics/shape.h +++ b/src/graphics/shape.h @@ -31,6 +31,8 @@ public: void setModelMatrix(const Eigen::Affine3f &model); + void setColor(float r, float g, float b); + void draw(Shader *shader, GLenum mode); SelectMode select(Shader *shader, int vertex); bool selectWithSpecifiedMode(Shader *shader, int vertex, SelectMode mode); |