Metal
-
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에서 어떤 그림을 그려줘~ ..
-
Add red triangleOpenGL/iOS_Metal 2018. 10. 13. 11:48
안녕하세요 dely입니다:) 저번 글에서 Metal로 노란색으로 배경 채우기에 이어 빨간색 삼각형을 추가해보겠습니다. (참고영상: Working with Triangles in Metal) 오늘의 목표!! 이번에는 빨간색 삼각형을 추가로 그려주기 위해 vertex개념과 shader를 이용해보려 합니다. 1. 삼각형 vertex 추가 및 pipelineState와 vertexBuffer 프로퍼티 선언 그려줄 삼각형 위치를 vertices 배열로 지정해줍니다. 화면의 중점이 (0, 0)이고, 좌측하단이 (-1, -1), 우측상단이 (1, 1)입니다. 여기서 눈에 보이는 것은 2d지만 사실상 3d 형태이기 때문에 x, y, z 축을 입력합니다. var vertices: [Float] = [ 0, 1, 0, -..
-
Hello MetalOpenGL/iOS_Metal 2018. 10. 6. 04:41
안녕하세요 dely입니다:) iOS에서 OpenGL 역할을 하는 Metal을 공부하면서 정리해보려고 합니다. > Metal의 특징 - Apple framework로 GPU 접근에 빠른 성능을 냅니다. - iOS 자체 3D 그래픽 기술입니다. - OpenGL보다 단위 시간 당 호출 속도가 10배 빠르다고 합니다. (Apple 칩 성능을 극도로 끌어올리는 기술) - shader는 precompile 하기 때문에 빠른 성능을 낼 수 있습니다. (C++ 기반) > Metal 사용방법 - Swift 프로젝트에 적용하기 위해 MetalKit을 사용합니다. - texture를 화면에 출력하기 위해 UIView를 상속받은 MTKView 클래스를 사용합니다. - 이미지 프로세싱 작업을 위해 다음과 같은 몇가지 step을..