[자체 엔진] Batch Line Rendering
Batch Line Rendering
1. Batch Line Rendering 이란?
World에는 Grid Line, Axis, AABB 라인 등 Line을 그려하는 경우가 많다.
하지만 이 때 line 하나당 DrawCall 한 번을 호출하게 되면 부하가 매우 심할 것이다.
이를 해결하기 위해서 CPU에서 한 Frame에 Line을 모아서 DrawCall을 한 번만 호출하도록 하는 최적화 기법이다.
2. Batch Line Rendering Flow
ResourceManager.AddBatchedVertices(...) 와 같이 API를 만들어서 사용했다.
위에서 설명한 것 처럼 AABB Line, Grid, World Axis들을 AddBatchedVertices 함수를 사용해서 등록을 시켜주고,
한 틱 당 RenderAllBatchedLines를 한 번 호출해서 Line을 한 번에 그려준다.
3. Batch Line Rendering hlsl
Line.hlsl은 특별할 것 없이. MVP Matrix를 곱해주면 된다.
MVP = World * View * Projection
output.position = mul(float4(input.position, 1.0f), MVP)'ComputerGraphics > 자체엔진' 카테고리의 다른 글
| [자체 엔진] Exponent Height Fog (0) | 2026.03.09 |
|---|---|
| [자체 엔진] FXAA (0) | 2026.03.09 |
| [자체 엔진] Billboard (0) | 2026.03.09 |
| [자체 엔진] Features (0) | 2026.03.09 |
| [자체 엔진] Bgario (0) | 2026.03.09 |