summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/arap.cpp2
-rwxr-xr-xsrc/glwidget.cpp4
-rw-r--r--src/graphics/shape.cpp6
-rw-r--r--src/graphics/shape.h2
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);