방문자

오늘
—
어제
—
누적
—

불러오는 중

게임 개발 · 기술 동향 · 팀 블로그MIRO
헤드라인

Babylon.js

Babylon.js, NativeEngine과 브라우저의 렌더 차이를 줄인다

CompareNormal 렌더 샘플
그래픽 개념을 보여주는 Khronos glTF 참고 샘플입니다. - Non-copyrightable logo for glTF logo 2024, Public. · 이미지 출처 · 이용 조건

네이티브 실행 경로의 차이를 줄입니다

한국시간 2026년 10월 22일 공개된 Babylon.js 9.31.3에는 NativeEngine을 WebGL 렌더링 동작에 가깝게 맞추는 변경이 포함됩니다. 브라우저와 네이티브에서 모든 기능이 완전히 같아졌다는 발표는 아닙니다. PR #19005는 지원되는 네이티브 기능을 확인한 뒤 새 경로를 사용하며, 오래된 Babylon Native 바이너리는 기존 동작을 유지한다고 설명합니다.

따라서 JavaScript 패키지만 업데이트하면 모든 개선을 사용할 수 있다고 가정하면 안 됩니다. 호스트 바이너리가 어떤 기능을 제공하는지에 따라 실제 사용 경로가 달라집니다. 배포 환경에서는 두 구성 요소의 버전을 함께 기록하는 것이 우선입니다.

렌더 상태와 텍스처를 함께 보완했습니다

주요 변경에는 깊이·블렌드 상태와 정수 uniform의 동기화, 부동소수점 값을 보존하는 텍스처 읽기, 볼륨·큐브 텍스처 업로드 지원이 포함됩니다. 여러 렌더 타깃과 공유 깊이, 큐브 필터링에 필요한 프레임버퍼 처리도 보완합니다. 각각은 서로 다른 화면 경로이므로 하나의 샘플 장면만으로 전체 호환성을 확인하기 어렵습니다.

호스트가 관련 명령을 제공하면 WebGL2 GPU 파티클을 네이티브 transform feedback 경로로 실행할 수 있습니다. 반대로 네이티브 그래픽 셰이더로 WGSL을 전달한 경우에는 명확한 오류로 일찍 거부합니다. 기능 추가와 지원하지 않는 입력의 진단 개선이 함께 들어간 셈입니다.

로딩 화면과 호스트 조건도 다릅니다

브라우저에는 DOM이 있지만 네이티브 실행 환경에는 같은 화면 요소가 없습니다. PR은 엔진 생성 옵션을 전달하고, DOM 로딩 화면 대신 경고를 한 번 남기는 동작을 설치합니다. 브라우저에서 쓰던 로딩 UI가 그대로 나타날 것으로 기대하기보다 앱의 실제 화면 처리와 구분해야 합니다.

이는 렌더 결과만 비교해서는 발견하기 어려운 차이입니다. 로딩 시작과 종료, 오류 알림, 사용자 입력을 막는 시점 같은 앱 흐름도 함께 확인할 이유가 있습니다. 다만 구체적인 앱 UI 구현 방법은 이번 PR이 제공하는 범위를 넘어섭니다.

검증 숫자는 환경과 함께 읽어야 합니다

작성자는 Babylon Native master와 Win32 D3D11 환경의 714개 시각 검증 중 통과 수가 선행 변경만 적용했을 때 483개에서 이번 변경 적용 후 633개로 늘었다고 보고했습니다. 회귀와 멈춤이 없었다는 보고도 같은 조합의 결과입니다. 전체 테스트가 모두 통과했거나 다른 운영체제까지 검증됐다는 뜻은 아닙니다.

프로젝트에서는 카메라·조명·텍스처를 고정하고 깊이 처리, 투명 블렌드, 파티클을 하나씩 비교해 보세요. 실제 사용하는 기능만 작은 장면으로 나누면 어느 경로에서 차이가 생기는지 찾기 쉽습니다. 이 점검 순서는 제안이며, 이 글에서 해당 네이티브 빌드를 실행한 것은 아닙니다.

출처

댓글

이 글에 대한 생각을 남겨 주세요.

댓글 삭제

헤드라인

같은 카테고리의 글

최신 게임 개발 동향 전체 보기 ↗