Refine renderer pixel ratio calculation and implement terrain LOD hysteresis
This commit is contained in:
@@ -1014,7 +1014,7 @@ export class ViewportHost {
|
|||||||
this.boxCreatePreviewEdges.visible = false;
|
this.boxCreatePreviewEdges.visible = false;
|
||||||
this.scene.add(this.boxCreatePreviewMesh);
|
this.scene.add(this.boxCreatePreviewMesh);
|
||||||
this.scene.add(this.boxCreatePreviewEdges);
|
this.scene.add(this.boxCreatePreviewEdges);
|
||||||
this.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
|
this.renderer.setPixelRatio(getRendererPixelRatio());
|
||||||
this.renderer.setClearAlpha(0);
|
this.renderer.setClearAlpha(0);
|
||||||
this.environmentBlendCache = createRendererQuantizedEnvironmentBlendCache(
|
this.environmentBlendCache = createRendererQuantizedEnvironmentBlendCache(
|
||||||
this.renderer,
|
this.renderer,
|
||||||
@@ -6518,8 +6518,9 @@ export class ViewportHost {
|
|||||||
const selected = isTerrainSelected(this.currentSelection, terrainId);
|
const selected = isTerrainSelected(this.currentSelection, terrainId);
|
||||||
|
|
||||||
for (const chunk of renderObjects.chunks) {
|
for (const chunk of renderObjects.chunks) {
|
||||||
const nextLevelIndex = resolveTerrainLodLevelIndex({
|
const nextLevelIndex = resolveTerrainLodLevelIndexWithHysteresis({
|
||||||
levelCount: chunk.levelGeometries.length,
|
levelCount: chunk.levelGeometries.length,
|
||||||
|
activeLevelIndex: chunk.activeLevelIndex,
|
||||||
chunkDiagonal: chunk.diagonal,
|
chunkDiagonal: chunk.diagonal,
|
||||||
cameraPosition,
|
cameraPosition,
|
||||||
chunkWorldCenter: chunk.worldCenter,
|
chunkWorldCenter: chunk.worldCenter,
|
||||||
|
|||||||
Reference in New Issue
Block a user