Fix orientations.
This commit is contained in:
@@ -15,11 +15,11 @@ mat4 getMatrixFromRotation(vec3 rotation)
|
||||
float srsp = sr*sp;
|
||||
float crsp = cr*sp;
|
||||
|
||||
return mat4(
|
||||
return transpose(mat4(
|
||||
vec4(cp * cy, srsp * cy - cr * sy, crsp * cy + sr * sy, 0.),
|
||||
vec4(cp * sy, srsp * sy + cr * cy, crsp * sy - sr * cy, 0.),
|
||||
vec4(-sp, sr * cp, cr * cp, 0.),
|
||||
vec4(0., 0., 0., 1.));
|
||||
vec4(0., 0., 0., 1.)));
|
||||
}
|
||||
|
||||
mat4 getWorldMatrix(vec3 translation, vec3 rotation)
|
||||
|
||||
@@ -64,6 +64,7 @@ void STKInstancedSceneNode::initinstancedvaostate(GLMesh &mesh, GeometricMateria
|
||||
glEnableVertexAttribArray(MeshShader::InstancedObjectPass1Shader::attrib_origin);
|
||||
glVertexAttribPointer(MeshShader::InstancedObjectPass1Shader::attrib_origin, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), 0);
|
||||
glVertexAttribDivisor(MeshShader::InstancedObjectPass1Shader::attrib_origin, 1);
|
||||
glEnableVertexAttribArray(MeshShader::InstancedObjectPass1Shader::attrib_orientation);
|
||||
glVertexAttribPointer(MeshShader::InstancedObjectPass1Shader::attrib_orientation, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (GLvoid*)(3 * sizeof(float)));
|
||||
glVertexAttribDivisor(MeshShader::InstancedObjectPass1Shader::attrib_orientation, 1);
|
||||
break;
|
||||
@@ -76,6 +77,7 @@ void STKInstancedSceneNode::initinstancedvaostate(GLMesh &mesh, GeometricMateria
|
||||
glEnableVertexAttribArray(MeshShader::InstancedGrassPass1Shader::attrib_origin);
|
||||
glVertexAttribPointer(MeshShader::InstancedGrassPass1Shader::attrib_origin, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), 0);
|
||||
glVertexAttribDivisor(MeshShader::InstancedGrassPass1Shader::attrib_origin, 1);
|
||||
glEnableVertexAttribArray(MeshShader::InstancedGrassPass1Shader::attrib_orientation);
|
||||
glVertexAttribPointer(MeshShader::InstancedGrassPass1Shader::attrib_orientation, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (GLvoid*)(3 * sizeof(float)));
|
||||
glVertexAttribDivisor(MeshShader::InstancedGrassPass1Shader::attrib_orientation, 1);
|
||||
break;
|
||||
@@ -94,6 +96,7 @@ void STKInstancedSceneNode::initinstancedvaostate(GLMesh &mesh, GeometricMateria
|
||||
glEnableVertexAttribArray(MeshShader::InstancedObjectPass2Shader::attrib_origin);
|
||||
glVertexAttribPointer(MeshShader::InstancedObjectPass2Shader::attrib_origin, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), 0);
|
||||
glVertexAttribDivisor(MeshShader::InstancedObjectPass2Shader::attrib_origin, 1);
|
||||
glEnableVertexAttribArray(MeshShader::InstancedObjectPass2Shader::attrib_orientation);
|
||||
glVertexAttribPointer(MeshShader::InstancedObjectPass2Shader::attrib_orientation, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (GLvoid*)(3 * sizeof(float)));
|
||||
glVertexAttribDivisor(MeshShader::InstancedObjectPass2Shader::attrib_orientation, 1);
|
||||
break;
|
||||
@@ -104,6 +107,7 @@ void STKInstancedSceneNode::initinstancedvaostate(GLMesh &mesh, GeometricMateria
|
||||
glEnableVertexAttribArray(MeshShader::InstancedGrassPass2Shader::attrib_origin);
|
||||
glVertexAttribPointer(MeshShader::InstancedGrassPass2Shader::attrib_origin, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), 0);
|
||||
glVertexAttribDivisor(MeshShader::InstancedGrassPass2Shader::attrib_origin, 1);
|
||||
glEnableVertexAttribArray(MeshShader::InstancedGrassPass2Shader::attrib_orientation);
|
||||
glVertexAttribPointer(MeshShader::InstancedGrassPass2Shader::attrib_orientation, 3, GL_FLOAT, GL_FALSE, 6 * sizeof(float), (GLvoid*) (3 * sizeof(float)));
|
||||
glVertexAttribDivisor(MeshShader::InstancedGrassPass2Shader::attrib_orientation, 1);
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user