collision-detection,linear-algebra,glm-math

I think you may have misinterpreted the triangle-triangle collision test algorithm. The dot product of two vectors is a scalar. It does not make sense to add a scalar to a vector, ergo the compiler error. I think the problem lies in your understanding of d_2 -- from the paper...

Frankly, I'm not highly familiar with this, but since nobody else is answering: The 3rd argument of refract() is documented as "the ratio of indices of refraction eta". So what you're suggesting makes sense to me. It the ratio is eta going from material A to material B, the ratio...

The angle argument to glm::rotate() is in radians, not degrees: m: Input matrix multiplied by this rotation matrix. angle: Rotation angle expressed in radians. axis: Rotation axis, recommanded [sic] to be normalized. Use this: void Frame::setRotation(float degrees) { this->rotation = glm::radians( degrees ); this->calcTransform(); } ...

c++,opengl,math,perspectivecamera,glm-math

GLM takes the FOV angle in radians, while the value you pass (45.0) is in degrees. The GLM documentation for the parameter is about as unclear as it could be: Specifies the field of view angle, in degrees, in the y direction. Expressed in radians. Yes, that both says that...

The code defining the template tmat4x4<T,P>, with type T and precision P, that is available here, answers your question. As you can see line 60, the actual data contents of a tmat4x4 are defined as an array of 4 col_type elements, and accessing m[i] (defined line 96 as returning col_type...