Exposing more uniforms to ui for refining the controller

This commit is contained in:
samcake 2018-04-23 18:02:09 -07:00
parent 35bbc6e61f
commit f686ef1f25
3 changed files with 68 additions and 8 deletions

View file

@ -18,11 +18,11 @@
ControlViews::ControlViews() { ControlViews::ControlViews() {
regionBackFronts[0] = glm::vec2(1.0f, 3.0f); regionBackFronts[0] = glm::vec2(1.0f, 3.0f);
regionBackFronts[1] = glm::vec2(2.0f, 10.0f); regionBackFronts[1] = glm::vec2(1.0f, 5.0f);
regionBackFronts[2] = glm::vec2(4.0f, 20.0f); regionBackFronts[2] = glm::vec2(1.0f, 10.0f);
regionRegulators[0] = Regulator(std::chrono::milliseconds(2), regionBackFronts[0], 5.0f * regionBackFronts[0], glm::vec2(0.3f, 0.2f), 0.5f * glm::vec2(0.3f, 0.2f)); regionRegulators[0] = Regulator(std::chrono::milliseconds(2), regionBackFronts[0], 5.0f * regionBackFronts[0], glm::vec2(0.4f, 0.2f), 0.5f * glm::vec2(0.3f, 0.2f));
regionRegulators[1] = Regulator(std::chrono::milliseconds(2), regionBackFronts[1], 5.0f * regionBackFronts[1], glm::vec2(0.3f, 0.2f), 0.5f * glm::vec2(0.3f, 0.2f)); regionRegulators[1] = Regulator(std::chrono::milliseconds(2), regionBackFronts[1], 8.0f * regionBackFronts[1], glm::vec2(0.4f, 0.2f), 0.5f * glm::vec2(0.3f, 0.2f));
regionRegulators[2] = Regulator(std::chrono::milliseconds(2), regionBackFronts[2], 5.0f * regionBackFronts[2], glm::vec2(0.3f, 0.2f), 0.5f * glm::vec2(0.3f, 0.2f)); regionRegulators[2] = Regulator(std::chrono::milliseconds(2), regionBackFronts[2], 10.0f * regionBackFronts[2], glm::vec2(0.4f, 0.2f), 0.5f * glm::vec2(0.3f, 0.2f));
} }
void ControlViews::configure(const Config& config) { void ControlViews::configure(const Config& config) {

View file

@ -47,12 +47,72 @@ class ControlViewsConfig : public workload::Job::Config {
Q_OBJECT Q_OBJECT
Q_PROPERTY(bool regulateViewRanges READ regulateViewRanges WRITE setRegulateViewRanges NOTIFY dirty) Q_PROPERTY(bool regulateViewRanges READ regulateViewRanges WRITE setRegulateViewRanges NOTIFY dirty)
Q_PROPERTY(float r1Timing READ r1Timing)
Q_PROPERTY(float r2Timing READ r2Timing)
Q_PROPERTY(float r3Timing READ r3Timing)
Q_PROPERTY(float r1RangeBack READ r1RangeBack)
Q_PROPERTY(float r2RangeBack READ r2RangeBack)
Q_PROPERTY(float r3RangeBack READ r3RangeBack)
Q_PROPERTY(float r1RangeFront READ r1RangeFront)
Q_PROPERTY(float r2RangeFront READ r2RangeFront)
Q_PROPERTY(float r3RangeFront READ r3RangeFront)
Q_PROPERTY(float r1MinRangeBack READ r1MinRangeBack WRITE setR1MinRangeBack NOTIFY dirty)
Q_PROPERTY(float r2MinRangeBack READ r2MinRangeBack WRITE setR2MinRangeBack NOTIFY dirty)
Q_PROPERTY(float r3MinRangeBack READ r3MinRangeBack WRITE setR3MinRangeBack NOTIFY dirty)
Q_PROPERTY(float r1MinRangeFront READ r1MinRangeFront WRITE setR1MinRangeFront NOTIFY dirty)
Q_PROPERTY(float r2MinRangeFront READ r2MinRangeFront WRITE setR2MinRangeFront NOTIFY dirty)
Q_PROPERTY(float r3MinRangeFront READ r3MinRangeFront WRITE setR3MinRangeFront NOTIFY dirty)
Q_PROPERTY(float r1MaxRangeBack READ r1MaxRangeBack WRITE setR1MaxRangeBack NOTIFY dirty)
Q_PROPERTY(float r2MaxRangeBack READ r2MaxRangeBack WRITE setR2MaxRangeBack NOTIFY dirty)
Q_PROPERTY(float r3MaxRangeBack READ r3MaxRangeBack WRITE setR3MaxRangeBack NOTIFY dirty)
Q_PROPERTY(float r1MaxRangeFront READ r1MaxRangeFront WRITE setR1MaxRangeFront NOTIFY dirty)
Q_PROPERTY(float r2MaxRangeFront READ r2MaxRangeFront WRITE setR2MaxRangeFront NOTIFY dirty)
Q_PROPERTY(float r3MaxRangeFront READ r3MaxRangeFront WRITE setR3MaxRangeFront NOTIFY dirty)
Q_PROPERTY(float r1SpeedDownBack READ r1SpeedDownBack WRITE setR1SpeedDownBack NOTIFY dirty)
Q_PROPERTY(float r2SpeedDownBack READ r2SpeedDownBack WRITE setR2SpeedDownBack NOTIFY dirty)
Q_PROPERTY(float r3SpeedDownBack READ r3SpeedDownBack WRITE setR3SpeedDownBack NOTIFY dirty)
Q_PROPERTY(float r1SpeedDownFront READ r1SpeedDownFront WRITE setR1SpeedDownFront NOTIFY dirty)
Q_PROPERTY(float r2SpeedDownFront READ r2SpeedDownFront WRITE setR2SpeedDownFront NOTIFY dirty)
Q_PROPERTY(float r3SpeedDownFront READ r3SpeedDownFront WRITE setR3SpeedDownFront NOTIFY dirty)
Q_PROPERTY(float r1SpeedUpBack READ r1SpeedUpBack WRITE setR1SpeedUpBack NOTIFY dirty)
Q_PROPERTY(float r2SpeedUpBack READ r2SpeedUpBack WRITE setR2SpeedUpBack NOTIFY dirty)
Q_PROPERTY(float r3SpeedUpBack READ r3SpeedUpBack WRITE setR3SpeedUpBack NOTIFY dirty)
Q_PROPERTY(float r1SpeedUpFront READ r1SpeedUpFront WRITE setR1SpeedUpFront NOTIFY dirty)
Q_PROPERTY(float r2SpeedUpFront READ r2SpeedUpFront WRITE setR2SpeedUpFront NOTIFY dirty)
Q_PROPERTY(float r3SpeedUpFront READ r3SpeedUpFront WRITE setR3SpeedUpFront NOTIFY dirty)
public: public:
bool regulateViewRanges() const { return data.regulateViewRanges; } bool regulateViewRanges() const { return data.regulateViewRanges; }
void setRegulateViewRanges(bool use) { data.regulateViewRanges = use; emit dirty(); } void setRegulateViewRanges(bool use) { data.regulateViewRanges = use; emit dirty(); }
float r1Timing() const { return data.r1Timing; }
float r2Timing() const { return data.r2Timing; }
float r3Timing() const { return data.r3Timing; }
float r1RangeBack() const { return data.r1RangeBack; }
float r2RangeBack() const { return data.r2RangeBack; }
float r3RangeBack() const { return data.r3RangeBack; }
float r1RangeFront() const { return data.r1RangeFront; }
float r2RangeFront() const { return data.r2RangeFront; }
float r3RangeFront() const { return data.r3RangeFront; }
struct Data { struct Data {
float r1Timing
float r2Timing
float r3Timing
bool regulateViewRanges{ true }; bool regulateViewRanges{ true };
} data; } data;

View file

@ -1070,9 +1070,9 @@ bool EntityItem::stepKinematicMotion(float timeElapsed) {
} }
const float MAX_TIME_ELAPSED = 1.0f; // seconds const float MAX_TIME_ELAPSED = 1.0f; // seconds
if (timeElapsed > MAX_TIME_ELAPSED) { // if (timeElapsed > MAX_TIME_ELAPSED) {
qCWarning(entities) << "kinematic timestep = " << timeElapsed << " truncated to " << MAX_TIME_ELAPSED; // qCWarning(entities) << "kinematic timestep = " << timeElapsed << " truncated to " << MAX_TIME_ELAPSED;
} // }
timeElapsed = glm::min(timeElapsed, MAX_TIME_ELAPSED); timeElapsed = glm::min(timeElapsed, MAX_TIME_ELAPSED);
if (isSpinning) { if (isSpinning) {