TINYGL: Fixed all the issues that arised after the refactoring.

This commit is contained in:
Stefano Musumeci 2014-06-02 13:32:52 +01:00
parent b1b498d336
commit 8b92e5ec83
4 changed files with 12 additions and 15 deletions

View file

@ -217,9 +217,7 @@ void gl_shade_vertex(GLContext *c, GLVertex *v) {
// spot light
if (l->spot_cutoff != 180) {
dot_spot = -(d.getX() * l->norm_spot_direction.getX() +
d.getY() * l->norm_spot_direction.getY() +
d.getZ() * l->norm_spot_direction.getZ());
dot_spot = -Vector3::dot(d,l->norm_spot_direction);
if (twoside && dot_spot < 0)
dot_spot = -dot_spot;
if (dot_spot < l->cos_spot_cutoff) {

View file

@ -187,9 +187,9 @@ void glopTranslate(GLContext *c, GLParam *p) {
Matrix4 m = Matrix4::identity();
float x = p[1].f, y = p[2].f, z = p[3].f;
m.set(3,0,x);
m.set(3,1,y);
m.set(3,2,z);
m.set(0,3,x);
m.set(1,3,y);
m.set(2,3,z);
*c->matrix_stack_ptr[c->matrix_mode] *= m;

View file

@ -288,17 +288,17 @@ Vector3 Matrix4::transform(const Vector3 &vector) const {
Vector3 Matrix4::transform3x3(const Vector3 &vector) const {
return Vector3(
vector.getX() * get(0,0) + vector.getY() * get(1,0) + vector.getZ() * get(2,0),
vector.getX() * get(0,1) + vector.getY() * get(1,1) + vector.getZ() * get(2,1),
vector.getX() * get(0,2) + vector.getY() * get(1,2) + vector.getZ() * get(2,2));
vector.getX() * get(0,0) + vector.getY() * get(0,1) + vector.getZ() * get(0,2),
vector.getX() * get(1,0) + vector.getY() * get(1,1) + vector.getZ() * get(1,2),
vector.getX() * get(2,0) + vector.getY() * get(2,1) + vector.getZ() * get(2,2));
}
TinyGL::Vector4 Matrix4::transform3x4( const Vector4 &vector ) const {
return Vector4(
vector.getX() * get(0,0) + vector.getY() * get(1,0) + vector.getZ() * get(2,0) + get(3,0),
vector.getX() * get(0,1) + vector.getY() * get(1,1) + vector.getZ() * get(2,1) + get(3,1),
vector.getX() * get(0,2) + vector.getY() * get(1,2) + vector.getZ() * get(2,2) + get(3,2),
vector.getX() * get(0,3) + vector.getY() * get(1,3) + vector.getZ() * get(2,3) + get(3,3));
vector.getX() * get(0,0) + vector.getY() * get(0,1) + vector.getZ() * get(0,2) + get(0,3),
vector.getX() * get(1,0) + vector.getY() * get(1,1) + vector.getZ() * get(1,2) + get(1,3),
vector.getX() * get(2,0) + vector.getY() * get(2,1) + vector.getZ() * get(2,2) + get(2,3),
vector.getX() * get(3,0) + vector.getY() * get(3,1) + vector.getZ() * get(3,2) + get(3,3));
}
Vector4 Matrix4::transform(const Vector4 &vector) const {

View file

@ -216,8 +216,7 @@ public:
Matrix4& operator*=(const Matrix4 &b)
{
Matrix4 result = *this * b;
*this = result;
*this = *this * b;
return *this;
}