목록분류 전체보기 (56)
momodudu.zip
uniform discrete distribution, 아래와 같이 범위내 정수가 모두 같은 확률 P로 범위 내의 정수 a,b가 나타나는 난수 생성 함수 std::default_random_engine generator; std::uniform_int_distribution distribution(0,9); int p[10]={}; for (int i=0; i
이전에 렌더링 파이프라인에서 가장 기본적인 Model Transformation(Translate, Scale, Rotate)와 입체적으로 표현할 수 있게 해주는 Projection transformation에 대해서 알아보았다. 이 두가지 기본 변환 이외에도, 렌더링 파이프라인 내에서는 추가적인 변환이 일어나는데, 그것이 바로 View translation과 Viewport transformation이다. - View transformation 이 변환은 예전에도 설명을 했었다. 지금까지의 예제는 전부 metal의 스크린 좌표 기준으로 모든 정점을 구성했다. 그렇지만 우리가 그릴건 특정 world좌표에 있는 object일것이고, 그 기준들은 무수히 많다. 이런것들을 하나로 모아서 카메라 안에 담기게 어..
Xcode에서는 framework, static library, dynamic library, bundle을 정의할 수 있다. 1. Library Library는 image, asset, nibs, string files, visual data와 같은 리소스 파일들을 포함할 수 없다. 그래서 이러한 resource들을 런타임에 인코딩/디코딩 할 수 있는데, 이러한 작업들은 복잡하다. 또한, 라이브러리 외에 번들을 생성해서 번들과 라이브러리를 함께 배포할수도 있다. 단, stand-alone 번들은 iOS에서는 지원하지 않는다. iOS에서는 프레임워크에 포함된 리소스에만 접근할 수 있다. Library는 static library와 dynamic library로 나뉜다. - Static Library : ..
이전의 Model Transform이 매쉬를 이루는 vertex들을 Local Cooridnate -> World Coordinate로 바꾸는 변환이었다면, Projection Transform은 camera coordinate -> normalized coordinate로 바꾸어주는 변환이다. projection type에는 두가지가 있는데, orthogonal과 perspective 변환이 있다. orthogonal은 말그대로 직교 변환이고, perspective는 원근법을 구사한 변환이다. 앞전에 생성했던 Cube에 perspective projection을 적용해보자. var matrix: Matrix4 var projectionMatrix: Matrix4 projectionMatrix를 저장해둘..