git-svn-id: svn://db.shs.com.ru/libs@688 a8b55f48-bf90-11e4-a774-851b48703e85

This commit is contained in:
2019-12-12 16:54:49 +00:00
parent bc33d99703
commit 52153469a9
12 changed files with 84 additions and 33 deletions

View File

@@ -95,14 +95,8 @@ const char qgl_structs[] =
"};\n"
"struct QGLLightParameter {\n"
" vec4 color;\n"
" float intensity;\n"
" float startAngle;\n"
" float startAngleCos;\n"
" float endAngle;\n"
" float endAngleCos;\n"
" float constantAttenuation;\n"
" float linearAttenuation;\n"
" float quadraticAttenuation;\n"
" vec4 decay_intensity;\n"
" vec4 angles;\n"
//" sampler2DShadow shadow;\n"
//" sampler2D shadowColor\n"
//" mat4 shadowMatrix;\n"

View File

@@ -124,15 +124,8 @@ struct QGLMaterial {
};
struct QGLLightParameter {
QVector4D color;
//QVector4D shadowColor;
GLfloat intensity;
GLfloat startAngle;
GLfloat startAngleCos;
GLfloat endAngle;
GLfloat endAngleCos;
GLfloat constantAttenuation;
GLfloat linearAttenuation;
GLfloat quadraticAttenuation;
QVector4D decay_intensity; // [^0, ^1, ^2, intensity]
QVector4D angles; // [start, cos(start), end, cos(end)]
//GLfloat shadow;
//GLfloat shadowMatrix[16];
};

View File

@@ -158,6 +158,15 @@ Transform::Transform(): m_scale(1.0f, 1.0f, 1.0f),
}
Transform & Transform::operator =(const Transform & t) {
m_scale = t.m_scale;
m_translation = t.m_translation;
m_eulerRotationAngles = t.m_eulerRotationAngles;
m_matrixDirty = true;
return *this;
}
void Transform::setMatrix(const QMatrix4x4 & m) {
if (m != matrix()) {
m_matrix = m;

View File

@@ -29,6 +29,7 @@ class Transform {
friend QDataStream & operator >>(QDataStream & s, Transform & v);
public:
Transform();
Transform & operator =(const Transform & t);
float scale() const;
QVector3D scale3D() const;
@@ -61,6 +62,7 @@ public:
void setTranslationZ(float t);
void setMatrix(const QMatrix4x4 & matrix);
void setDirty(bool yes = true) {m_matrixDirty = yes;}
static QQuaternion fromAxisAndAngle(const QVector3D & axis, float angle);