fxaa를 비활성화 한 후 세슘 레이블이 흐릿함

Jan 06 2021

나는이 게시물의 대답을 따라 세슘 레이블이 흐려 졌지만 운이 없었습니다.

나는 그것을 확인 viewer.scene.fxaa = false했고 아무것도 변하지 않는 것 같습니다. 첨부 된 스크린 샷을 참조하십시오.

누구든지 이것에 대한 해결책이 있습니까?

정말 고마워!

답변

2 emackey Jan 06 2021 at 21:15

.NET과 같은 하드 코딩에주의하십시오 viewer.resolutionScale = 2. 이 코드 줄에는 사용자가 높은 DPI 화면을 가지고있을 가능성이 높고 브라우저가 그에 따라 웹 페이지를 확장한다는 가정이 있습니다. 이미 1 : 1 픽셀 비율을 사용하는 시스템에서이 코드 줄을 실행하면 장치가 실제로 표시 할 수있는 것보다 너비가 두 배, 높이가 두 배로 렌더링 될 수 있습니다.

다음은 다른 제안입니다.

viewer.resolutionScale = window.devicePixelRatio

완벽하지는 않지만 하드 코딩 된 2보다 낫습니다. 특히 높은 DPI 화면에서 "CSS 픽셀"과 같은 크기가 아닐 수있는 장치의 기본 픽셀과 정확히 일치하도록 Cesium 뷰어를 얻으려고 시도합니다.

여기에서 "1"값 (기본값)은 Cesium의 뷰어 캔버스 픽셀이 웹 페이지의 CSS 픽셀 아이디어와 크기가 같음을 의미하며, 화면의 고유 픽셀보다 크고 덩어리가 클 수 있습니다. 숫자가 높을수록 WebGL 캔버스 해상도의 승수로 작용하여 더 많은 그래픽 메모리와 성능을 사용합니다. 이것을 테스트하는 머신에 이미 1.5 또는 2.0의 window.devicePixelRatio가 있으므로 위의 행은 특정 머신에서 하드 코딩 된 2와 다르게 작동하지 않을 수 있습니다. 그러나 로컬 devicePixelRatio를 확인하는 것이 가정하는 것보다 낫습니다.

LukeVenter Jan 06 2021 at 15:57

다음을 추가하여 해결할 수 있습니다.

  viewer.resolutionScale = 2

성능에 영향을 미칠 수 있지만 지금까지는 괜찮아 보입니다.