2.0 시야각 뷰포트 개선 작업기
컨텐츠 정보
- 533 조회
- 3 댓글
- 목록
본문
![]()
원본 게임 이미지입니다. 기존의 안개 영역을 클래식화를 한 뒤에
좀 더 클래식 서버의 넓은 시야각을 확보해볼 수는 없을까라고 고민했습니다.![]()
리니지 클래식 서버의 뷰포트입니다. 캐릭터 비율이 좀 더 작고 렌더링 되는 타일의
비율이 넓습니다. 제미니가 분석해보니 약 1024x768 해상도라고 예측 하더군요.
기존이 640x420 -> 1024x768 로 타일 렌더링 루프의 한계를 뚫어야하고,
이에 맞춰 타일 데이터 배열을 재할당해야하는 지경에 이르렀고,
stride 계산에 대한 모든 연산 교체, 뷰포트/blit 스크롤 전체를 개선해야만 하는
압도적인 작업량입니다..
또한 중간에서ddraw.dll이나 dxwnd.dll 같은 래퍼 훅들이 또 다시 중간에서
포인터를 이중 삼중으로 빼가고 있었기에 이것에 대한 역추적의 작업량은
더 가중되고 있었습니다.. (암울하군요.. 마치 리니지 초창기 밤의 시야처럼)
인게임 카메라 줌 아웃에 대한 뷰포트 개선 하나를 위해
어마어마한 양의 메모리 주소를 참조해
패치했어야만 했는데요,
결론적으로 1024x768 으로 해상도 개선을 할 수는 없었습니다.
표면과 렌더링 루프는 애초에 640x420으로 하드코딩 되어 있었고,
카메라 뷰포트 경계값 자체를 늘릴 수는 없었습니다..
한마디로, 렌더링 루프의 연산 지점을 원천적으로 다시 빌드를 하는 수준으로 접근해,
서피스 출력 단계 직전에 타일 렌더링 함수를 개입시켜서 렌더링 그자체를 늘릴 수는 있으나,
카메라가 뿌리는 경계값을 확장하는 것은 해당 소스로 한계가 있었습니다.
최대가 800x600 이었고, 타일맵 차원에서 카메라 뷰포트 경계값이 지니는 한계를
그나마 확보할수있는 값이었습니다.![]()
결론 : 1024x768 해상도 패치는 불가 했지만, 800x600으로는 어느정도 뷰포트 개선이 가능했다.
첫번째 이미지(640x420)와 비교해 약간의 시야각이 개선된 것을 확인 할 수 있습니다. 물론 클래식 본섭엔 절대 못미치지만요.
-
등록일 2026.05.22
-
등록일 2026.05.19
-
등록일 2026.04.19
-
등록일 2026.04.072.0 클래식 UI 구현댓글 16














