TECHARTNOMAD | TECHARTFLOWIO.COM

GPU 24

[번역] SLG 게임에서의 나무 컬링 최적화 - GPU 기반 접근법

저자: 燕生1. 서론SLG 게임 개발 과정에서 자주 마주하게 되는 문제가 있습니다. 바로 장면 내에서 수많은 나무와 건물이 서로 겹치면서 발생하는 시각적 충돌입니다.위 이미지에서 보시는 것처럼, 빨간색 구체는 건물을 나타내고 녹색 큐브는 나무를 나타냅니다. 이때 나무와 빨간색 건물이 서로 겹치면서 시각적 오류가 발생하게 됩니다. 이 문제를 해결하기 위해 CPU를 활용한 바운딩 박스 컬링 방식을 고려할 수 있습니다. 각 나무와 건물 사이의 거리를 순회하며 반경을 기준으로 검사한 후, 범위 내에 있으면 비활성화하는 방식입니다.하지만 모바일 환경에서는 "배경 나무"(모든 정적 장식용 식물을 포함)를 바이너리 파일로 압축하여 처리합니다. 이는 단순히 몇 바이트를 절약하기 위함이 아니라, 초대형 샌드박스 맵 + ..

TECH.ART.FLOW.IO 2025.10.25

[INDEX] GPU.UPDATE

GPU-Driven Renderer에서의 Heterogeneous AoS Instance Encoding메이즈라인 velog 미러.오늘도 지하철을 저 처럼 한 시간씩 타는 직장동료분들을 위한 읽을 거리를 추가 했습니다.엔지니어 Zino의 글을 읽고 추가로 정리한 내용입니다.Heterogenous AoS instance encoding techartnomad.tistory.com Adreno 830 GPUVisual Subsystem Adreno GPUReal-time Hardware-Accelerated Ray Tracing with Global IlluminationGPU는 실시간 하드웨어 가속 레이 트레이싱을 지원하여 지원되는 게임에 사실적인 반사, 그림자 및 조명 효과를 제공합니techartnom..

INDEX 2025.10.24

GPU-Driven Renderer에서의 Heterogeneous AoS Instance Encoding

메이즈라인 velog 미러.오늘도 지하철을 저 처럼 한 시간씩 타는 직장동료분들을 위한 읽을 거리를 추가 했습니다.엔지니어 Zino의 글을 읽고 추가로 정리한 내용입니다.Heterogenous AoS instance encoding for a GPU-driven renderer대규모 오픈 월드 게임을 만들다 보면 한 가지 딜레마에 부딪힙니다. 수만 개의 나무, 건물, 캐릭터를 화면에 렌더링해야 하는데, 각 오브젝트마다 필요한 데이터가 전부 다릅니다. 어떤 오브젝트는 단순한 정적 메시만 있으면 되지만, 어떤 것은 스키닝 데이터, 복잡한 머티리얼, LOD 정보 등 방대한 데이터를 요구합니다.이런 상황에서 Heterogeneous AoS(Array of Structures) instance encoding이 ..

MAZELINE TOPIC 2025.10.23

GPU 병렬 연산: Warp Divergence 이해하고 해결하기

메이즈라인 velog 미러 입니다. GPU 병렬 연산: Warp Divergence 이해하고 해결하기GPU 병렬 연산: Warp Divergence 이해하고 해결하기 GPU 프로그래밍을 하다 보면 성능 최적화에서 자주 마주치는 개념이 바로 Warp Divergence입니다. 특히 셰이더 프로그래밍에서 이를 이해하고 적절히 대velog.ioGPU 병렬 연산: Warp Divergence 이해하고 해결하기GPU 프로그래밍을 하다 보면 성능 최적화에서 자주 마주치는 개념이 바로 Warp Divergence입니다. 특히 셰이더 프로그래밍에서 이를 이해하고 적절히 대응하는 것은 성능에 큰 영향을 미칩니다. 이번 글에서는 Warp의 개념부터 Divergence가 발생하는 상황, 그리고 이를 해결하는 베스트 프랙티스..

MAZELINE TOPIC 2025.10.20

브랜치 프리 셰이더: 원-핫 마스크로 버텍스 컬러 채널 추출하기. Update

메이즈라인 velog 미러 글입니다.셰이더 최적화: 분기문 없이 버텍스 컬러 채널 선택하기GPU에서 분기문은 비용이 비쌉니다. 특히 모바일이나 타일 기반 렌더러에서는 더욱 그렇습니다. 이번 글에서는 if/else 분기문을 원-핫 마스크와 dot product를 활용해 완전히 제거하는 최적화 기법을 소개합니다.문제 상황아웃라인 셰이더를 작성할 때 버텍스 컬러의 특정 채널(R, G, B, A)을 선택해야 하는 경우가 있습니다. 예를 들어, 아티스트가 버텍스 컬러의 R 채널에는 아웃라인 두께를, G, B, A 채널에는 다른 속성을 저장했다면, 머티리얼 프로퍼티로 어떤 채널을 사용할지 선택할 수 있어야 합니다.기존 방식: 분기문 사용가장 직관적인 방법은 if/else 분기문을 사용하는 것입니다.프로퍼티 선언[E..

MAZELINE TOPIC 2025.10.20

일부 휴대폰에서 VulkanRHI를 사용할 때 GPUSort 결과가 정확하지 않는 이슈.

오늘 고객사에 출근 했는데 니아그라 이펙트에 문제가 있는걸 TA 분이 테스트 하고 있더군요. 部分手机上,使用VulkanRHI时,GPUSort的结果不正确Soc: Snapdragon 8gen3,GPU:Adreno 750forums.unrealengine.com아무튼 문제는갤럭시 S24 에서 니아그라 GPU Sort 에 문제가 있는 점을 발견. 해결 해 나가는 과정에서 위 쓰레드를 이성학 사원이 발견.결론적으로 갤럭시 24 그러니까 아드레노 740 만 문제가 있으며 이 문제는 엔진 레벨에서 수정 해 봐야 의미가 없음.하드웨어 벤더 레벨에서 드라이버 수정을 해도(퀄컴에서 수정을 해도) 이게 삼성 갤럭시 S24를 제작하는 삼성 개발팀에서 퀄컴으로 부터 패치를 받아서 삼성 OS 에 통합을 해서 시스템 업데이트로 배..

UNREAL ENGINE 2025.09.12

[번역] The Eras of GPU Development

역자.ACM 시그라프 블로그에 의미 있는 포스팅이 업데이트 되서 공유 해 봅니다.지난 25년간의 GPU 트렌스포밍에 대하여 라는 주제에 대한 매우 함축적인 글입니다.Over 25 Years, GPUs Have Transformed ComputingGPU가 발전하면서 대규모 병렬 컴퓨팅 능력을 통해 무어의 법칙을 뛰어넘는 기하급수적인 처리 능력 향상을 이루었습니다. 이러한 놀라운 성장으로 GPU는 그래픽스를 넘어 광범위한 연산 과제들을 해결할 수 있게 되었습니다. GPU는 여섯 개의 뚜렷한 시대를 거치며 범용 컴퓨팅 엔진으로 꾸준히 진화해 왔으며, 각 세대는 이전 세대의 기반 위에 발전을 거듭해 왔습니다. 이러한 진화 과정은 마이크로소프트의 혁신을 주축으로 하고 크로노스 그룹의 기여가 더해진, 점차 정교해..

TECH.ART.FLOW.IO 2025.04.13

[TIP] 유니티 6. 하나의 서브메시에 다중 머티리얼 적용하는 법.

유니티 6 는 이 전 버전에 비해 GPU Driven 친화적으로 진화하고 있다.기본적인 설정은 GPU 상주드로어등이 꺼져 있겠지만 HIZB 등을 사용하거나 좀 더 고도화 된 유니티 6 렌더패스와 GPU 최적화를 활용하기 위해서는 켜 주는 것이 보통일 것이다.다만 이 전에 우리가 자주 사용했던 단일 서브메시에 2개 이상의 멀티머티리얼을 적용 할 경우 렌더링 처리 되지 않음으로 유니티에서 GPU Driven 관련 콤포넌트를 만들어 놓았다.간단히 예로 들면...주로 알파테스트와 알파블렌드 두 개의 페스를 머티리얼로 처리 하는 경우가 많은 상황에서 이렇게 Hair 객체에 스크립트 콤포넌트를 추가 할 수 있다.유니티에서 제공하고 있ㅎ는 Disallow GPU Driven Rendering 콤포넌트를 적용 해 주면..

모바일 GPU의 상수 및 명령 버퍼 시스템 구조에 대한 포괄적 분석과 최적화 전략

모바일 GPU의 상수 및 명령 버퍼 시스템 구조에 대한 포괄적 분석과 최적화 전략모바일 그래픽 처리 장치에 대한 이해 Understand the mobile graphics processing unit - Embedded Computing DesignIf implemented properly, a GPU within a mobile system can be a boon to performance. But that's a big "if."embeddedcomputing.comWritten by Benson Tao제대로 구현된다면 모바일 시스템의 GPU는 성능에 큰 도움이 될 수 있습니다. 하지만 그 '제대로'라는 것이 관건입니다.모바일 GPU 또는 그래픽 처리 장치는 스마트폰, 태블릿, 웨어러블, IoT ..

TECH.ART.FLOW.IO 2025.02.01

Bayer Matrix

Bayer Matrix는 디지털 이미지 처리에서 사용되는 디더링(dithering) 기법 중 하나입니다. 이는 1973년 Bryce Bayer가 개발한 행렬 패턴으로, 이미지의 색상이나 회색조를 표현하는 데 사용됩니다.기본 개념Bayer Matrix는 임계값 행렬(threshold matrix)을 사용하여 연속적인 톤을 이산적인 값으로 변환합니다. 이 과정을 통해 제한된 색상이나 회색조로도 더 풍부한 시각적 표현이 가능해집니다.주요 특징규칙적인 패턴 구조를 가짐2의 거듭제곱 크기의 행렬로 구성 (2x2, 4x4, 8x8 등)패턴의 반복으로 인한 시각적 균일성 제공계산이 비교적 단순하고 빠름활용 분야프린터 출력디스플레이 장치이미지 압축컴퓨터 그래픽스Bayer Matrix는 특히 제한된 색상 표현 능력을 가..