diff options
author | Alexander Gavriliuk <alexandrgproductengine@lindenlab.com> | 2024-06-18 11:46:59 +0200 |
---|---|---|
committer | Guru <alexandrgproductengine@lindenlab.com> | 2024-06-18 14:24:07 +0200 |
commit | 55134593194a67a36c86eed0deff211b89eb18a1 (patch) | |
tree | 0019b1cfe886a080c9b2f6cfa505ec7fd99333b8 | |
parent | 4d0b9805843b4b09411825b5ad8989fcdfc9595b (diff) |
#1644 On-water property lines persist at water level
-rwxr-xr-x | indra/newview/llviewerparceloverlay.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/indra/newview/llviewerparceloverlay.cpp b/indra/newview/llviewerparceloverlay.cpp index 5c9dbcea76..b24ba17543 100755 --- a/indra/newview/llviewerparceloverlay.cpp +++ b/indra/newview/llviewerparceloverlay.cpp @@ -538,7 +538,7 @@ void LLViewerParcelOverlay::addPropertyLine(F32 start_x, F32 start_y, F32 dx, F3 }; // First part, only one vertex - outside_z = land.resolveHeightRegion( outside_x, outside_y ); + outside_z = land.resolveHeightRegion(outside_x, outside_y); edge.vertices.emplace_back(outside_x, outside_y, outside_z); @@ -549,8 +549,8 @@ void LLViewerParcelOverlay::addPropertyLine(F32 start_x, F32 start_y, F32 dx, F3 outside_y += dy * LINE_WIDTH; // Then the "actual edge" - inside_z = land.resolveHeightRegion( inside_x, inside_y ); - outside_z = land.resolveHeightRegion( outside_x, outside_y ); + inside_z = land.resolveHeightRegion(inside_x, inside_y); + outside_z = land.resolveHeightRegion(outside_x, outside_y); edge.vertices.emplace_back(inside_x, inside_y, inside_z); edge.vertices.emplace_back(outside_x, outside_y, outside_z); @@ -562,11 +562,11 @@ void LLViewerParcelOverlay::addPropertyLine(F32 start_x, F32 start_y, F32 dx, F3 outside_y += dy * (dy - LINE_WIDTH); // Middle part, full width - const S32 GRID_STEP = S32( PARCEL_GRID_STEP_METERS ); + const S32 GRID_STEP = (S32)PARCEL_GRID_STEP_METERS; for (S32 i = 1; i < GRID_STEP; i++) { - inside_z = land.resolveHeightRegion( inside_x, inside_y ); - outside_z = land.resolveHeightRegion( outside_x, outside_y ); + inside_z = land.resolveHeightRegion(inside_x, inside_y); + outside_z = land.resolveHeightRegion(outside_x, outside_y); checkForSplit(); @@ -587,8 +587,8 @@ void LLViewerParcelOverlay::addPropertyLine(F32 start_x, F32 start_y, F32 dx, F3 outside_x -= dx * LINE_WIDTH; outside_y -= dy * LINE_WIDTH; - inside_z = land.resolveHeightRegion( inside_x, inside_y ); - outside_z = land.resolveHeightRegion( outside_x, outside_y ); + inside_z = land.resolveHeightRegion(inside_x, inside_y); + outside_z = land.resolveHeightRegion(outside_x, outside_y); checkForSplit(); @@ -599,7 +599,7 @@ void LLViewerParcelOverlay::addPropertyLine(F32 start_x, F32 start_y, F32 dx, F3 outside_y += dy * LINE_WIDTH; // Last edge is not drawn to the edge - outside_z = land.resolveHeightRegion( outside_x, outside_y ); + outside_z = land.resolveHeightRegion(outside_x, outside_y); edge.vertices.emplace_back(outside_x, outside_y, outside_z); } @@ -647,7 +647,9 @@ void LLViewerParcelOverlay::renderPropertyLines() return; LLSurface& land = mRegion->getLand(); - F32 water_z = land.getWaterHeight() + 0.01f; + + bool render_water = gPipeline.hasRenderType(LLPipeline::RENDER_TYPE_VOIDWATER); + F32 water_z = render_water ? land.getWaterHeight() + 0.01f : 0; LLGLSUIDefault gls_ui; // called from pipeline gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE); |