OpenGL
-
Drawing PrimitivesOpenGL/iOS_Metal 2019. 7. 3. 22:17
안녕하세요 dely입니다:) 오늘은 shader를 사용하여 화면에 그라데이션 되는 컬러를 입혀보겠습니다. - vertices, indices 설정 화면을 삼각 폴리곤 두개로 나누어 생각할 수 있는데요 삼각형은 점의 위치에 상관없이 항상 평면으로 만들 수 있기 때문에 폴리곤 기본 도형으로 쓰입니다..(라고 들었던 기억이 있습니다..) 그래서 화면에 컬러를 입힐 때 삼각형 두개로 나누어서 각 vertex 값을 배열에 입력합니다. 반시계 방향으로 입력합니다. 빨간 삼각형 : [1, -1, 0, -1, 1, 0, -1, -1, 0] 노랑 삼각형 : [1, -1, 0, 1, 1, 0, -1, 1, 0] quad_vertex = [1, -1, 0, -1, 1, 0, -1, -1, 0, 1, -1, 0, 1, 1, ..
-
Hello Again, MetalOpenGL/iOS_Metal 2019. 7. 1. 21:48
안녕하세요 dely입니다:) iOS Metal을 사용하여 하나씩 이해해나가며 그래픽스 실습을 해보려합니다. 일단 가볍게 화면 background에 노란색 칠하기를 해보겠습니다. 먼저 프로젝트를 하나 만들고, ViewController에 MetalKit을 import합니다. import MetalKit MetalKit 안에는 렌더링 후 출력에 필요한 View를 구성하는 역할을 가진 MTKView가 있습니다. storyboard에서 MTKView를 배치하고 ViewController와 연결해줍니다. @IBOutlet weak var metalView: MTKView! Metal에서 Metal App과 GPU의 관계는 클라이언트-서버 패턴의 관계입니다. 클라이언트인 Metal App에서 어떤 그림을 그려줘~ ..
-
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/Computer Graphics 2019. 6. 11. 01:33
안녕하세요 dely입니다:) 오늘은 그래픽 카드, 비디오 카드, 비디오 보드, 비디오 어댑터, 그래픽 보드, 그래픽 어댑터 등 여러 용어로 표현되는 그래픽 프로세서에 대해 정리해보겠습니다. 원래 메인 CPU에서 모든 일을 담당했었습니다. 모든 데이터 처리부터 프레임 버퍼를 채우거나, 전자빔의 아날로그 신호로 바꾸는 그래픽 처리 등등.. 그런 바쁜 CPU를 도와주기 위해 개발된 것이 그래픽 프로세서 입니다. 드라이버 소프트웨어에 의해 명령어를 해독하고 실행하는 일, 명령어 실행 결과 최종적인 그림을 프레임 버퍼에 기록하는 일 모두 그래픽 프로세서가 하게 됩니다. GPU 그래픽스에서 2차원 물체와 3차원 물체인지에 따라서 작업 처리 방법이 조금씩 다릅니다. 3차원 물체의 경우는 정점(vertex)을 기준으로..
-
컴퓨터 그래픽스란?OpenGL/Computer Graphics 2019. 6. 2. 00:56
안녕하세요 dely입니다:) 책을 보면서 컴퓨터 그래픽스에 대해 공부하고, 그것을 정리해보려고 합니다. 책은 이걸로! (선택 이유는 집에 있어서.....ㅎㅎ) http://www.yes24.com/Product/Goods/9398674 컴퓨터 그래픽스란? 컴퓨터 그래픽스는 사실 말그대로 컴퓨터로 그림을 그리는 것을 말합니다. 사람이 그리는 것과는 다르게 컴퓨터를 사용해 그림을 생성한다는 것입니다. 그럼 영상처리와 컴퓨터 그래픽스의 차이가 무엇일까요?? 영상처리는 이미 기존에 있는 그림에 개선, 인식을 하는 등 효과를 더하는 것이고, 컴퓨터 그래픽스는 새롭게 그림을 만들어내는 것입니다. 컴퓨터 그래픽스를 이용하여 AR, MR, VR과 같은 콘텐츠를 제작할 수도 있는데요 다만 어떤 툴을 사용하는지 차이가 있..