목록2025/04 (38)
뭐라도 쓰겠지
Vertex Buffer와 Index Buffer는 현대 그래픽스 파이프라인에서 기본적인 3D 모델 데이터를 GPU에 전달하기 위한 핵심 요소라고 할 수 있다. 각각의 역할과 특징에 대해 살펴보겠다.1. Vertex Buffer정의Vertex Buffer(정점 버퍼)란, 정점(vertex)에 관한 정보를 담은 GPU 메모리상의 버퍼를 말한다.일반적으로 위치(Position), 노멀(Normal), 텍스처 좌표(UV), 색상(Color) 등의 데이터를 담는다.역할그래픽스 API(OpenGL, DirectX 등)에서, 정점 데이터를 한 번에 전달하여 드로우 콜을 효율적으로 수행한다.CPU에서 GPU로 정점을 일일이 보내는 대신, 미리 버퍼에 업로드해놓고 쉐이더에서 이를 참조한다.특징각 정점마다 필요한 속성(..
게임 엔진에서 사용되는 Sprite Sheet와 Texture Atlas의 차이점에 대해 설명하겠다. 둘 다 여러 이미지를 하나의 큰 이미지에 모아두는 방법이라는 점에서 유사하지만, 사용 목적이나 구성 방식에서 차이가 존재한다고 할 수 있다.1. Sprite Sheet정의Sprite Sheet란, 2D 애니메이션에 사용되는 여러 프레임 이미지를 한 장의 큰 이미지로 모아놓은 것을 말한다.주 사용처주로 2D 캐릭터 애니메이션이나 이펙트 연출 등에 사용한다.한 캐릭터가 걷거나 달리는 동작처럼, 특정 애니메이션이 연속된 프레임으로 이루어질 때 활용한다.특징프레임 순서가 고려되며, 각 프레임을 빠르게 교체(혹은 UV 영역만 이동)하여 동작을 표현한다.애니메이션의 연출이 중심이므로, 프레임 단위 정렬이 중요하고 ..
게임 모델링이나 그래픽스 분야에서 텍스처 이미지를 2의 승수배 크기로 만드는 이유는, 주로 그래픽 하드웨어 및 엔진에서 메모리 관리와 퍼포먼스를 효율적으로 처리하기 위함이다.1. GPU 최적화와 호환성과거 하드웨어의 요구사항초기 그래픽 하드웨어(구형 GPU, 콘솔 등)에서는 텍스처 크기가 반드시 2의 승수(Power of Two, POT)여야만 제대로 동작하거나, 비POT 텍스처를 지원하더라도 성능 저하가 있었다고 할 수 있다.이러한 이유로 게임 엔진이나 그래픽 라이브러리(예: OpenGL ES)에서 2의 승수 텍스처를 표준으로 권장해 왔다.현대 GPU에서도 잔존하는 최적화 이점최신 그래픽 카드들은 비POT 텍스처도 지원하지만, 여전히 2의 승수 크기 텍스처가 텍스처 캐싱이나 메모리 할당에서 유리하게 작..
JPG에 풍화가 오는 이유는 JPG(JPEG) 포맷이 손실(Lossy) 압축을 사용하는 데서 비롯된다. 즉, 이미지를 여러 번 반복해 저장하거나 재편집할 때마다 압축 과정이 다시 수행되며, 그 결과 누적된 손실이 점점 눈에 띄게 드러나는 현상을 흔히 "풍화"라고 부른다. 1. JPG의 손실 압축 구조1-1. DCT(이산 코사인 변환, Discrete Cosine Transform) 기반JPG 포맷은 이미지를 8x8 블록 단위로 DCT를 적용하고, 사람이 잘 인지하지 못하는 주파수 성분(고주파)을 과감히 버리는 방식으로 용량을 줄인다.1-2. 양자화(Quantization ) 과정이미지의 세부 정보를 일정 기준 이하로 간략화(양자화)하기 떄문에, 한 번 압축할 때마다 미세한 부분이 영구적으로 손실된다. 2..
BMP(Bitmap) 1. 압축 여부기본적으로 압축을 사용하지 않음(또는 간단한 RLE 압축만 지원)압축이 없는 대신 이미지 원본 정보를 그대로 담으므로 파일 용량이 큼2. 품질무손실 방식(압축이 없는 경우)픽셀 정보를 그대로 저장하므로 화질 열화가 없음3. 투명도(알파)RGB, 전통적인 BMP 형식에는 알파 채널이 없음(최근 확장된 형태에서는 가능하기도 함)4. 주 사용처과거 Windows 환경에서 기본 이미지 형식으로 사용대용량이지만 처리 속도가 빠르고 단순함5. 장단점장점 - 무손실, 구조가 단순해 구현이 쉬움단점 - 파일 크기가 매우 큼, 웹이나 전송 목적으로는 비효율적JPG(JPEG) 1. 압축 여부손실(Lossy) 압축 방식을 사용압축률을 높일수록 이미지가 뭉개지거나 블록 아티팩트(Artifa..

UV 좌표계(UV Coordinate System)는 2차원 이미지를 3D 모델 표면에 투영(매핑)하기 위한 좌표계이다. 3D 공간에서 x, y, z 좌표를 사용해 모델의 지오메트리를 표현하듯, 텍스처(2D 이미지)상에서 u, v 좌표를 사용해 이미지상 픽셀(Texel, 텍셀)을 참조한다. * 텍셀은 "텍스처 맵의 화소"를 의미하는 용어로, 2D 이미지를 구성하는 작은 사각 격자 하나하나를 가리킨다. 예를 들어, 1024x1024 해상도의 텍스처라면 총 1024x1024개의 텍셀이 있다.UV 좌표의 개념u, v는 0.0부터 1.0 사이의 정규화(Normalized) 범위를 가장 일반적으로 사용한다.u = 0.0 -> 텍스처의 왼쪽(또는 x = 0)u = 1.0 -> 텍스처의 오른쪽(또는 x = textu..