An afternounwatchign code

This commit is contained in:
Sam Gateau 2019-08-05 17:54:46 -07:00
parent 7aaecd9cdc
commit eb616452ec
4 changed files with 11 additions and 8 deletions

View file

@ -175,6 +175,7 @@ void LODManager::autoAdjustLOD(float realTimeDelta) {
float LODManager::getLODAngleHalfTan() const {
return getPerspectiveAccuracyAngleTan(_octreeSizeScale, _boundaryLevelAdjust);
}
float LODManager::getLODAngle() const {
return 2.0f * atanf(getLODAngleHalfTan());
@ -184,9 +185,9 @@ float LODManager::getLODAngleDeg() const {
}
void LODManager::setLODAngleDeg(float lodAngle) {
auto newSolidAngle = std::max(0.5f, std::min(lodAngle, 90.f));
auto halTan = glm::tan(glm::radians(newSolidAngle * 0.5f));
auto octreeSizeScale = TREE_SCALE * OCTREE_TO_MESH_RATIO / halTan;
auto newSolidAngle = std::max(0.001f, std::min(lodAngle, 90.f));
auto halfTan = glm::tan(glm::radians(newSolidAngle * 0.5f));
auto octreeSizeScale = /*TREE_SCALE * OCTREE_TO_MESH_RATIO */ (sqrtf(3.0f) * 0.5f) / halfTan;
setOctreeSizeScale(octreeSizeScale);
}
@ -294,7 +295,8 @@ QString LODManager::getLODFeedbackText() {
}
// distance feedback
float octreeSizeScale = getOctreeSizeScale();
float relativeToDefault = octreeSizeScale / DEFAULT_OCTREE_SIZE_SCALE;
// float relativeToDefault = octreeSizeScale / DEFAULT_OCTREE_SIZE_SCALE;
float relativeToDefault = octreeSizeScale / MAX_VISIBILITY_DISTANCE_FOR_UNIT_ELEMENT;
int relativeToTwentyTwenty = 20 / relativeToDefault;
QString result;

View file

@ -93,7 +93,7 @@ void LodToolsDialog::updateAutomaticLODAdjust() {
void LodToolsDialog::sizeScaleValueChanged(int value) {
auto lodManager = DependencyManager::get<LODManager>();
float realValue = value * TREE_SCALE;
float realValue = value /** TREE_SCALE*/;
lodManager->setOctreeSizeScale(realValue);
_feedback->setText(lodManager->getLODFeedbackText());

View file

@ -65,8 +65,8 @@ float boundaryDistanceForRenderLevel(unsigned int renderLevel, float voxelSizeSc
}
float getPerspectiveAccuracyAngleTan(float octreeSizeScale, int boundaryLevelAdjust) {
const float maxScale = (float)TREE_SCALE;
float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) / OCTREE_TO_MESH_RATIO;
const float maxScale = sqrtf(3.0f) * 0.5f; //(float)TREE_SCALE;
float visibleDistanceAtMaxScale = boundaryDistanceForRenderLevel(boundaryLevelAdjust, octreeSizeScale) /* / OCTREE_TO_MESH_RATIO*/;
return (maxScale / visibleDistanceAtMaxScale);
}

View file

@ -80,7 +80,7 @@ Item {
valueVar: LODManager["lodAngleDeg"]
valueVarSetter: (function (v) { LODManager["lodAngleDeg"] = v })
max: 90.0
min: 0.5
min: 0.01
integral: false
anchors.left: parent.left
@ -239,6 +239,7 @@ Item {
object: LODManager
valueScale: 1.0
valueUnit: "deg"
valueNumDigits: 2
plots: [
{
prop: "lodAngleDeg",