mirror of
https://github.com/lubosz/overte.git
synced 2025-04-24 09:23:17 +02:00
Explicitly emit dirty for AO/Debug
This commit is contained in:
parent
46c937325e
commit
e73902899b
4 changed files with 26 additions and 58 deletions
|
@ -33,44 +33,6 @@
|
|||
#include "ssao_makeHorizontalBlur_frag.h"
|
||||
#include "ssao_makeVerticalBlur_frag.h"
|
||||
|
||||
void AmbientOcclusionEffectConfig::setRadius(float newRadius) {
|
||||
radius = std::max(0.01f, radius);
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setObscuranceLevel(float level) {
|
||||
level = std::max(0.01f, level);
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setFalloffBias(float bias) {
|
||||
bias = std::max(0.0f, std::min(bias, 0.2f));
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setEdgeSharpness(float sharpness) {
|
||||
sharpness = std::max(0.0f, (float)sharpness);
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setBlurDeviation(float deviation) {
|
||||
deviation = std::max(0.0f, deviation);
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setNumSpiralTurns(float numTurns) {
|
||||
numTurns = std::max(0.0f, (float)numTurns);
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setNumSamples(int numSamples) {
|
||||
numSamples = std::max(1.0f, (float) numSamples);
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setResolutionLevel(int level) {
|
||||
const int MAX_RESOLUTION_LEVEL = 4;
|
||||
level = std::max(0, std::min(level, MAX_RESOLUTION_LEVEL));
|
||||
}
|
||||
|
||||
void AmbientOcclusionEffectConfig::setBlurRadius(int radius) {
|
||||
const int MAX_BLUR_RADIUS = 6;
|
||||
radius = std::max(0, std::min(MAX_BLUR_RADIUS, radius));
|
||||
}
|
||||
|
||||
class GaussianDistribution {
|
||||
public:
|
||||
|
||||
|
|
|
@ -22,28 +22,31 @@ public:
|
|||
AmbientOcclusionEffectConfig() : render::Job::Config(false) {}
|
||||
|
||||
Q_PROPERTY(bool enabled MEMBER enabled NOTIFY dirty)
|
||||
Q_PROPERTY(float radius MEMBER radius WRITE setRadius NOTIFY dirty)
|
||||
Q_PROPERTY(float obscuranceLevel MEMBER obscuranceLevel WRITE setObscuranceLevel NOTIFY dirty)
|
||||
Q_PROPERTY(float falloffBias MEMBER falloffBias WRITE setFalloffBias NOTIFY dirty)
|
||||
Q_PROPERTY(float edgeSharpness MEMBER edgeSharpness WRITE setEdgeSharpness NOTIFY dirty)
|
||||
Q_PROPERTY(float blurDeviation MEMBER blurDeviation WRITE setBlurDeviation NOTIFY dirty)
|
||||
Q_PROPERTY(float numSpiralTurns MEMBER numSpiralTurns WRITE setNumSpiralTurns NOTIFY dirty)
|
||||
Q_PROPERTY(int numSamples MEMBER numSamples WRITE setNumSamples NOTIFY dirty)
|
||||
Q_PROPERTY(int resolutionLevel MEMBER resolutionLevel WRITE setResolutionLevel NOTIFY dirty)
|
||||
Q_PROPERTY(int blurRadius MEMBER blurRadius WRITE setBlurRadius NOTIFY dirty)
|
||||
Q_PROPERTY(bool ditheringEnabled MEMBER ditheringEnabled NOTIFY dirty)
|
||||
Q_PROPERTY(bool borderingEnabled MEMBER borderingEnabled NOTIFY dirty)
|
||||
Q_PROPERTY(float radius MEMBER radius WRITE setRadius)
|
||||
Q_PROPERTY(float obscuranceLevel MEMBER obscuranceLevel WRITE setObscuranceLevel)
|
||||
Q_PROPERTY(float falloffBias MEMBER falloffBias WRITE setFalloffBias)
|
||||
Q_PROPERTY(float edgeSharpness MEMBER edgeSharpness WRITE setEdgeSharpness)
|
||||
Q_PROPERTY(float blurDeviation MEMBER blurDeviation WRITE setBlurDeviation)
|
||||
Q_PROPERTY(float numSpiralTurns MEMBER numSpiralTurns WRITE setNumSpiralTurns)
|
||||
Q_PROPERTY(int numSamples MEMBER numSamples WRITE setNumSamples)
|
||||
Q_PROPERTY(int resolutionLevel MEMBER resolutionLevel WRITE setResolutionLevel)
|
||||
Q_PROPERTY(int blurRadius MEMBER blurRadius WRITE setBlurRadius)
|
||||
Q_PROPERTY(double gpuTime READ getGpuTime)
|
||||
|
||||
void setRadius(float radius);
|
||||
void setObscuranceLevel(float obscuranceLevel);
|
||||
void setFalloffBias(float falloffBias);
|
||||
void setEdgeSharpness(float edgeSharpness);
|
||||
void setBlurDeviation(float blurDeviation);
|
||||
void setNumSpiralTurns(float numSpiralTurns);
|
||||
void setNumSamples(int numSamples);
|
||||
void setResolutionLevel(int resolutionLevel);
|
||||
void setBlurRadius(int blurRadius);
|
||||
const int MAX_RESOLUTION_LEVEL = 4;
|
||||
const int MAX_BLUR_RADIUS = 6;
|
||||
|
||||
void setRadius(float newRadius) { radius = std::max(0.01f, newRadius); emit dirty(); }
|
||||
void setObscuranceLevel(float level) { obscuranceLevel = std::max(0.01f, level); emit dirty(); }
|
||||
void setFalloffBias(float bias) { falloffBias = std::max(0.0f, std::min(bias, 0.2f)); emit dirty(); }
|
||||
void setEdgeSharpness(float sharpness) { edgeSharpness = std::max(0.0f, (float)sharpness); emit dirty(); }
|
||||
void setBlurDeviation(float deviation) { blurDeviation = std::max(0.0f, deviation); emit dirty(); }
|
||||
void setNumSpiralTurns(float turns) { numSpiralTurns = std::max(0.0f, (float)turns); emit dirty(); }
|
||||
void setNumSamples(int samples) { numSamples = std::max(1.0f, (float)samples); emit dirty(); }
|
||||
void setResolutionLevel(int level) { resolutionLevel = std::max(0, std::min(level, MAX_RESOLUTION_LEVEL)); emit dirty(); }
|
||||
void setBlurRadius(int radius) { blurRadius = std::max(0, std::min(MAX_BLUR_RADIUS, radius)); emit dirty(); }
|
||||
double getGpuTime() { return gpuTime; }
|
||||
|
||||
float radius{ 0.5f };
|
||||
|
|
|
@ -28,11 +28,14 @@
|
|||
using namespace render;
|
||||
|
||||
void DebugDeferredBufferConfig::setMode(int newMode) {
|
||||
if (newMode > (int)DebugDeferredBuffer::Custom || newMode < 0) {
|
||||
if (newMode == mode) {
|
||||
return;
|
||||
} else if (newMode > (int)DebugDeferredBuffer::Custom || newMode < 0) {
|
||||
mode = (int)DebugDeferredBuffer::Custom;
|
||||
} else {
|
||||
mode = newMode;
|
||||
}
|
||||
emit dirty();
|
||||
}
|
||||
|
||||
enum Slots {
|
||||
|
|
|
@ -22,7 +22,7 @@ public:
|
|||
DebugDeferredBufferConfig() : render::Job::Config(false) {}
|
||||
|
||||
Q_PROPERTY(bool enabled MEMBER enabled)
|
||||
Q_PROPERTY(int mode MEMBER mode WRITE setMode NOTIFY dirty)
|
||||
Q_PROPERTY(int mode MEMBER mode WRITE setMode)
|
||||
Q_PROPERTY(glm::vec4 size MEMBER size NOTIFY dirty)
|
||||
void setMode(int newMode);
|
||||
|
||||
|
|
Loading…
Reference in a new issue