기술(Tech, IT)/컴퓨터 그래픽스 (Computer Graphics) 23

[CG] Texture (텍스쳐)

컴퓨터 그래픽스에서 texture 란 2D 이미지 (때론 3D나 더 고차원의 볼륨) 으로, 3D 모델에 적용해 더 복잡한 시각 효과를 만들어 낼 수 있다. texture를 3D surface에 입히는 (mapping) 하는 것을 texturing (텍스쳐링) 이라고 부르며, texture는 디테일 추가, 사실감, 특수 효과, 정보 인코딩 등의 목적으로 사용된다. 예를 들어, 어떤 물체에 재질이나 질감을 사실적으로 표현하기 위해 입히는 이미지가 될 수 있고, polygon (다각형) 만으로 표현하기 부족한 세부 형태, 질감, 색상 등에 대한 정보를 갖고 있어, 3D 모델 (오브젝트) 를 감싸는 형태다. Texture 유형 Diffuse Texture (디퓨즈 텍스쳐) : 모델의 기본 색상 정보 제 Norm..

[CG] window vs surface

컴퓨터 그래픽스에 관련된 문서를 읽다보면 window와 surface라는 용어가 자주 등장한다. 용어가 익숙하지 않고 개념이 정립되기 전에 매우 헷갈리는데 상황에 따라 이해해보자. Window Surface GUI context GUI에서 window는 일반적으로 애플리케이션 또는 애플리케이의 일부를 표시하는 화면의 영역을 의미. 창은 이동, 크기 조정, 최소화 또는 닫는 것이 가능. 소프트웨어 애플리케이션의 기본 창, 대화 상자, 팝업 메뉴 등이 예. 일부 GUI 시스템, 특히 하드웨어 가속 (hardware acceleration) 을 사용하는 시스템에서 'surface'는 그리기 가능한 영역 (drawable area) 또는 buffer를 의미할 수 있으며, 버튼이나 패널과 같은 개별 GUI 요소에..

[CG] SDL (Simple DirectMedia Layer) vs OpenGL(Open Graphics Library)

컴퓨터 그래픽스에서 가장 흔하게 사용되는 두 라이브러리에 대해 비교해보자. 두 라이브러리는 컴퓨터 그래픽스를 처음 접하는 사람들에게 다소 낯설고 헷갈리겠지만, 둘은 다라다는 것을 인지하는 것부터 시작해야한다. SDL OpenGL 목적 주로 OpenGL 및 Direct3D를 통해 오디오, 키보드, 마우스, 조이스틱 및 그래픽 하드웨어에 대한 낮은 수준의 액세스를 제공하도록 설계. 또한 윈도우 생성, 오디오 재생 및 기타 멀티미디어 작업 관리 가능. 2D 및 3D 벡터 그래픽을 렌더링하는 데 사용되는 그래픽 API(애플리케이션 프로그래밍 인터페이스). 특정 윈도우 시스템이나 운영 체제에 종속되지 않으며 순전히 그래픽 렌더링에만 집중. 범주 OpenGL보다 큰 범위. 그래픽을 처리하지만(주로 OpenGL과 같..