개발/Graphics 47

컴퓨터 그래픽스 이론 정리 - 정규좌표와 화면좌표

파이프라인 변환 프로세스를 따라가면서 기준 좌표계가 바뀌고, 그때마다 새로운 좌표계를 기준으로 정점 좌표가 바뀐다. 이변환과정은 다음과 같다.1) 모델 좌표 : 물체별로 모델링에 편하게 설정된 좌표계 2) 전역 좌표 : 개별 물체를 모았을 때 한꺼번에 아우를 수 있는 좌표계 3) 시점 좌표 : 물체를 바라보는 시점을 기준으로 표현 4) 정규 좌표 & 화면좌표 : 최종적으로 그림을 화면에 뿌리는 단계* 모든 3차원 물체는 렌더링 결과 2차원 화면에 그려져야 한다. 3차원 좌표에서 2차원 변환이 필요하다. 먼저 정규좌표로 변환을 한 뒤, 화면 좌표로 변환된다. 정규좌표(NDC : Normalized Device Coordinate) : 1을 기준으로 하는 2차원 좌표- 정규화(Normalization) : ..

개발/Graphics 2018.05.02

컴퓨터 그래픽스 이론 정리 - 더블버퍼링(Double Buffering)

더블버퍼링- 일반적인 비디오 카드에서 Frame Buffer는 2중 포트(Dual Port) 구조 - 한쪽은 GPU, 다른 한쪽은 Video Controller. - GPU는 그려질 화면을 프레임버퍼에 쓰는 일을, Video Controller는 프레임버퍼에 그려진 화면을 출력하는 일을 한다. * GPU가 프레임버퍼에 쓰는 작업은 비디오 컨트롤러가 프레임 버퍼를 읽는 속도에 비해 훨씬 느리다. - Flickering(깜빡거림) 현상은 이러한 속도차로 발생하는 문제로, Frame Buffer에 완전히 정보가 저장되지 않은 상태에서 불완전한 내용의 버퍼를 화면에 그리면서 발생한다. => Flickering(깜빡거림) 현상을 해결하기 위해 더블 버퍼링을 사용한다. 더블 버퍼링(Double Buffering) ..

개발/Graphics 2018.04.28

컴퓨터 그래픽스 이론 정리 - 컬러이론, 컬러모델

책 OpenGL로 배우는 3차원 컴퓨터 그래픽스를 기반으로 작성.1. 컴퓨터 그래픽스(Computer Graphics) 1) 컴퓨터를 사용하여 그림을 생성하는 기술(게임, 애니메이션, VR, AR ..._) * 영상 처리(Digital Image processing) : 기존에 존재하는 그림을 개선/인식하는 기술 (Photoshop..) 2) 그래픽스 구성요소 - 모델링(Modeling) + 렌더링(Rendering) - 모델링 : What to draw, 그래픽으로 표현하고 자하는 장면(Scene) 내부의 물체(Object)를 정의하는 작업 - 렌더링 : How to Draw, 모델링에 정의된 물체를 어떻게 그릴 것인가. (조명을 어떻게 할지, 관찰자의 위치는 어디인지, 3차원의 물체를 어떻게 2차원으..

개발/Graphics 2018.04.22

게임을 움직이는 수학과 물리 4장 - 2차원

게임을 움직이는 수학과 물리 4장 - 2차원 4.1 차원- 차원 : 공간을 표현하는 한가지 지표. 3차원이란 차원이 3개란 의미인데 가로, 세로, 높이를 가리킨다. 2차원이란 가로와 세로로 구성된 차원으로 일반적으로 평면 디스플레이에서 사용한다.4.2 좌표- 좌표 : 화면에서의 위치를 나타낸 것-좌표의 이동 : (5,2)->(1,4)로 이동하는 것은 x는 5->1, -4만큼 움직이고 y축은 2->4, 2만큼 움직인다. 결국 (-4, 2)만큼 움직인 것이다. (-4, 2)가 이동량이 되는데 이 이동하는 정보를 벡터(vector)라고 한다.4.3 좌표와 벡터 - 위치를 나타내는 것은 좌표, 이동량을 나타내는 것은 벡터 모두 (x,y)형태로 표기한다. 좌표는 어느 지점을 가르키는 위치 정보이고, 벡터는 이동량..

개발/Graphics 2018.02.04

OpenGL SuperBilbe Chapter3, 파이프라인을 마치며..

새해초, 1월이 되면서 그래픽스 공부를 시작하기로 마음 먹었다. OpenGL Superbible을 통해 공부를 시작했고, 1월 한달간 챕터1~3까지 공부하며 블로그에 공부한 내용을 정리했다. 처음부터 블로그에 정리하면서 공부하는 것을 목표로 해서 시간이 좀더 오래 걸렸지만, 필요할때마다 두고두고 보기엔 더 나을거같아 남겨두기로 마음먹었다. (보통 한챕터 정리하는데 별거 아닌거같아도 두어시간은 쓰게된다...)OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 ..

개발/Graphics 2018.01.27

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 5) 프래그먼트 쉐이더~프레임버퍼

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 3) 지오메트리 쉐이더 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 4) 프리미티브 어셈블리, 클리핑, 래스터라이제이션..

개발/Graphics 2018.01.27

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 4) 프리미티브 어셈블리, 클리핑, 래스터라이제이션

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 3) 지오메트리 쉐이더Part 3 파이프라인 따라가기 - 4) 프리미티브 어셈블리, 클리핑, 래스터라이제이션 3.5 프리미티브 어셈블리, 클리핑, 래스터라이제..

개발/Graphics 2018.01.21

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 3) 지오메트리 쉐이더

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션 Part 3 파이프라인 따라가기 - 3) 지오메트리 쉐이더 3.4 지오메트리 쉐이더 - 래스터라이저 스테이지 이전 단계에 위치, 개념적으로 마지막 쉐이더 스테이지 - 프리미티브당 한 번 수행되며, 수행되는 프리미티브를 구성하는 모든 버텍스에 ..

개발/Graphics 2018.01.21

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 2) 테셀레이션

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달Part 3 파이프라인 따라가기 - 2) 테셀레이션 3.3 테셀레이션(Tessellation) - 고차 프리미티브(OpenGL에서는 패치)를 더 작고, 단순한 여러 개의 렌더링 가능한 프리미티브(삼각형)으로 분할하는 작업 - 사각형, 삼각형, 선들을 더 많고 더 작은 점, 선, 삼각형 등으로 분할 3.3.1 테셀레이션 컨트롤 쉐이더(Tesse..

개발/Graphics 2018.01.21

OpenGL Super Bible 그래픽스 공부하기 - 3. 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달

OpenGL Super Bible 그래픽스 공부하기 - 1. OpenGL 기본개념이해 OpenGL Super Bible 그래픽스 공부하기 - 2. 첫번째 OpenGL 프로그램 OpenGL Super Bible 그래픽스 공부하기 - 2-3. 처음 그리는 삼각형 Part 3 파이프라인 따라가기 - 1) 쉐이더간 데이터 전달 - OpenGL 파이프라인의 각 스테이지가 하는 일 - 작성한 쉐이더를 고정 함수 파이프라인 스테이지에 연결하는 방법 - 그래픽스 파이프라인의 모든 스테이지에서 동시에 사용하는 프로그램을 만드는 방법 3.1 Vertex Shader에 Data 전달하기 - Vertex Shader : 첫번째 프로그래밍 가능 스테이지, 유일한 필수 스테이지 실행 전 버텍스 페칭/버텍스 풀링(정점 풀링)이라는..

개발/Graphics 2018.01.20
반응형