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

This commit is contained in:
2019-12-01 16:52:10 +00:00
parent 09298fadcd
commit 385070f70f
33 changed files with 226 additions and 83 deletions

View File

@@ -229,13 +229,23 @@ inline bool operator <(const ObjectBase & f, const ObjectBase & s) {return f.pos
class AimedObject: public ObjectBase {
friend class QGLView;
friend class GLRendererBase;
friend class Light;
friend class Camera;
public:
AimedObject();
~AimedObject();
~AimedObject() {}
QVector3D aim() const {return aim_;}
QVector3D worldAim() const {return (itransform_ * QVector4D(aim_, 1.)).toVector3D();}
void setAim(const QVector3D & p);
QVector3D direction() const;
void setDirection(const QVector3D & d);
void setDirection(double x, double y, double z) {setDirection(QVector3D(x, y, z));}
protected:
QVector3D aim_;
};
class Light: public ObjectBase {
class Light: public AimedObject {
friend class QGLView;
friend class RendererBase;
public:
@@ -247,7 +257,6 @@ public:
virtual void init() {shadow_map.resize(512, 512); is_init = true;}
void apply();
QVector3D direction, dir0, dir1;
float angle_start;
float angle_end;
float intensity;