OpenGL/Computer Graphics
-
OpenGL ProgrammingOpenGL/Computer Graphics 2019. 7. 1. 17:23
안녕하세요 dely입니다:) 오늘은 OpenGL Programming에 대해서 정리해보겠습니다. GL 프로그램은 렌더링 기능만 수행할 뿐, 입력장비를 통해 사용자 입력을 받아들이거나 렌더링 결과를 출력하기 위해 화면에 윈도우를 생성하는 등의 일들을 할 수 없습니다. 그래서 추가적인 유틸리티를 사용하게 됩니다. 프로그램 구성 요소 - GL 라이브러리(GL: OpenGL Core Library) : 렌더링 기능을 제공하는 함수 라이브러리입니다. - GL 유틸리티 라이브러리(GLU: OpenGL Untility Library) : 다각형 분할, 투상, 2차원 곡면 등 고급 기능 제공하는 함수로, GL로 작성 되어 있습니다. 또한 원구, 원뿔, 원기둥을 손쉽게 생성 할 수 있습니다. - GL 유틸리티 툴 킷(G..
-
OpenGL APIOpenGL/Computer Graphics 2019. 7. 1. 16:30
안녕하세요 dely입니다:) 오늘은 OpenGL API에 대해 정리해보겠습니다. OpenGL은 실리콘 그래픽스사의 워크스테이션용 API인 GL이 발전한 것으로, 그래픽 관련 하드웨어를 상위 수준에서 다룰 수 있도록 함으로써 프로그래머가 쉽게 그래픽 처리를 할 수 있도록 도와주는 라이브러리 함수입니다. 또한 OpenGL은 다양한 그래픽 API 중에서 오랫동안 많은 이들이 사용해왔고, 저수준 API로써 그래픽 메모리, 그래픽 가속 칩 등의 하드웨어와 매우 근접되어 있기 때문에 이것을 직접 제어함으로써 하드웨어 성능을 최대한 발휘 시킬 수 있다는 장점을 갖고 있습니다. OpenGL 설계 시 고려 사항 OpenGL을 설계할 때 몇가지 고려한 사항들이 있는데 다음과 같습니다. 범용성 - 거의 대부분의 하드웨어에서..
-
그래픽 프로세서OpenGL/Computer Graphics 2019. 6. 11. 01:33
안녕하세요 dely입니다:) 오늘은 그래픽 카드, 비디오 카드, 비디오 보드, 비디오 어댑터, 그래픽 보드, 그래픽 어댑터 등 여러 용어로 표현되는 그래픽 프로세서에 대해 정리해보겠습니다. 원래 메인 CPU에서 모든 일을 담당했었습니다. 모든 데이터 처리부터 프레임 버퍼를 채우거나, 전자빔의 아날로그 신호로 바꾸는 그래픽 처리 등등.. 그런 바쁜 CPU를 도와주기 위해 개발된 것이 그래픽 프로세서 입니다. 드라이버 소프트웨어에 의해 명령어를 해독하고 실행하는 일, 명령어 실행 결과 최종적인 그림을 프레임 버퍼에 기록하는 일 모두 그래픽 프로세서가 하게 됩니다. GPU 그래픽스에서 2차원 물체와 3차원 물체인지에 따라서 작업 처리 방법이 조금씩 다릅니다. 3차원 물체의 경우는 정점(vertex)을 기준으로..
-
래스터 그래픽 장치 & 벡터 그래픽 장치OpenGL/Computer Graphics 2019. 6. 10. 23:49
안녕하세요 dely입니다:) 오늘은 래스터 그래픽 장치와 벡터 그래픽 장치에 대해 정리해보겠습니다. 먼저, 래스터 그래픽 장치의 래스터(Raster)는 화소를 의미하는데요. 하나의 화소는 R, G, B 색을 띤 인점(Phosphor Dot)으로 구성되어 있습니다. (화면에 인(Phosphor)이라는 형광 물질이 입혀져 있습니다.) 그래서 세가지 인점의 밝기에 따라 하나의 화소의 색상이 결정되게 됩니다. 하나의 영상 화면을 만들 때는 전자빔이 주사선(화면의 가로 방향 화소를 따라 진행하는 선-ScanLine)을 따라 각 화소 색상에 해당하는 세기로 빔을 쏘아 화소 내부의 인점을 밝힙니다. 여기서 자연스레 문제가 생깁니다. 만약 곧바른 모양의 선이나 모양을 그리려 할 때는 화소를 칠하는 방식이기 때문에 아래..
-
그래픽 하드웨어 구성 및 진공관 모니터 작동원리OpenGL/Computer Graphics 2019. 6. 8. 17:39
안녕하세요 dely입니다:) 오늘은 그래픽 하드웨어에 대해 정리해보겠습니다. 그래픽 하드웨어는 성능에 민감한 플랫폼에서 좋은 그래픽을 출력해주기 위해서도 필히 알아야하고, 그래픽스 용어를 이해하는 데에도 큰 도움이 됩니다. 오늘은 그래픽 하드웨어 구성 및 진공관 모니터 작동원리에 대해 알아봅시다. 그래픽 하드웨어에는 무엇이 있을까요? 그래픽 하드웨어는 크게 입력 장치, 메인 컴퓨터, 그래픽 컨트롤러, 출력 장치로 구성됩니다. 책에서는 출력 장치에 대해 설명하기 위해 진공관 모니터의 작동 원리부터 설명을 시작합니다. 진공관 모니터, 즉 CRT 모니터 (https://namu.wiki/w/CRT) 예전 컴퓨터 모니터가 떠오릅니다.. (플로피디스켓을 모르는 요즘 이들은 모를 그것..) 간단히 설명하자면, 필라..
-
컴퓨터 그래픽스 구성요소, 모델링과 렌더링OpenGL/Computer Graphics 2019. 6. 2. 02:23
안녕하세요 dely입니다:) 컴퓨터 그래픽스는 크게 두가지로 작업을 나누어 생각할 수 있는데요 1. 모델링 2. 렌더링 이라고 할 수 있습니다. 그러면 모델링은 무엇인가?? 무엇을 그릴지 장면이나 물체를 정의하는 것. vertex, edge를 사용하여 물체를 그림으로써 컴퓨터에게 이 위치에는 물체의 어느부분이 있어! 라고 얘기하는 것이라고 할 수 있습니다. 제가 요즘 3Ds Max를 사용하여 열심히 만들고 있는 것도 모델링! (vertex를 균일하게 잘 표현하는 것이 중요하다는 것을 느끼는 요즘입니다.. 허헣..) 그 다음으로 렌더링은 무엇일까요?? 흔히 렌더링 건다라고 말하기도 하는데요 모델링 해둔 것에 조명이나, 카메라 이동, 표면 재질 같은 것을 표현하여 영상(장면)을 만들어 내는 과정을 말합니다...
-
컴퓨터 그래픽스란?OpenGL/Computer Graphics 2019. 6. 2. 00:56
안녕하세요 dely입니다:) 책을 보면서 컴퓨터 그래픽스에 대해 공부하고, 그것을 정리해보려고 합니다. 책은 이걸로! (선택 이유는 집에 있어서.....ㅎㅎ) http://www.yes24.com/Product/Goods/9398674 컴퓨터 그래픽스란? 컴퓨터 그래픽스는 사실 말그대로 컴퓨터로 그림을 그리는 것을 말합니다. 사람이 그리는 것과는 다르게 컴퓨터를 사용해 그림을 생성한다는 것입니다. 그럼 영상처리와 컴퓨터 그래픽스의 차이가 무엇일까요?? 영상처리는 이미 기존에 있는 그림에 개선, 인식을 하는 등 효과를 더하는 것이고, 컴퓨터 그래픽스는 새롭게 그림을 만들어내는 것입니다. 컴퓨터 그래픽스를 이용하여 AR, MR, VR과 같은 콘텐츠를 제작할 수도 있는데요 다만 어떤 툴을 사용하는지 차이가 있..