분류 전체보기
-
GGP 5. Rasterization게임그래픽프로그래밍 2024. 5. 26. 01:30
이전 포스팅에서는 vertex shader까지 다루었다. 이번에는 Rasterizer에 대해 알아볼 것이다. RasterizerRasterizer은 주어진 정점을 기준으로, 내부를 채우는 데이터를 생성한 후 메모리에 상주시키는 역할을 한다. 이때, 각 primitive를 pixels(directX기준) or Fragments(OpenGL기준)라고 불리는 2d 이미지로 쪼갠다. 다시 말해, vector 정보를 raster 이미지로 바꾸는 단계이다.위 그림을 보면 primitive 내부에 데이터들이 많이 생성된 것을 볼 수 있다. 저 색상의 의미는 각 정점의 색, 위치, normal들의 정보를 합쳐 나타낸 데이터(정보)를 표현한 것이고, 실제 색상이 아니다. rasterization 단계는 fixed f..
-
GGP 4. Input Assembler & Vertex Processing(2)게임그래픽프로그래밍 2024. 5. 18. 23:55
지난 포스팅에서 Vertex shader에는 4가지 world와 3가지 transform이 있는 것을 배웠다. 이번 포스팅에서는 camera space에서 clip space로 가는 projection transform에 대해 다루겠다. View Frustum카메라는 모든 물체들을 다 보지는 못한다. 씬에서 보이는 영역들을 view frustum이라고 부른다.view frustum은 잘린 피라미드 모양이며, aspect(w/h), fovy(y축 방향의 시야 정의), n, f등 파라미터들로 정의된다. n은 near plane, f는 far plane이다. View frustum culling: 각 물체를 감싸는 bounding box를 만들고, 이 object 자체가 view frustum에 들어가는지를 ..
-
GGP 2. Spaces and Transforms게임그래픽프로그래밍 2024. 4. 13. 23:55
물체의 크기를 조절하거나, 회전하거나, 이동시키는 방법에 대한 내용이다. 먼저 2D를 보자. 1. Scaling 물체의 크기를 바꾸는 방법이다. x축으로 Sx배, y축으로 Sy배 하고 싶을때, 2x2 행렬을 곱해주어 물체의 크기를 조절할 수 있다. 2. Rotation 2D에서는 어떤 점을 중심으로 회전을 한다. 시계방향으로 회전하는 것을 음의 방향, 반시계 방향으로 회전하는 것을 양의 방향으로 회전했다고 본다. Rotation을 나타내는 행렬 R( θ)는 다음과 같이 구한다. 3. Translation 물체를 이동시키는 것이다. 이는 벡터의 덧셈으로 원래 벡터에 더해주고 싶은 만큼 더해서 물체를 이동시키는데, 곱셈으로 나타내기 위해 다음과 같은 행렬의 곱으로 나타낼 수 있다. Composition of..
-
GGP 1. Modeling게임그래픽프로그래밍 2024. 4. 6. 00:41
1) Polygon Polygon은 3D 그래픽에서 입체 도형을 구성하는 최소 단위의 다각형을 말한다. 쉽게 말해서 사람을 세포가 구성하듯이 입체 도형을 구성하는 기본 단위인것이다. 위의 사진을 보면 같은 삼각형, 사각형, 육각형 등의 polygon이 모여서 입체도형을 만든 것을 확인할 수 있다. 게임 그래픽스에서 가장 많이 사용하는 polygon은 삼각형이다. 삼각형은 연산이 빠르지만 빛 계산을 잘 못하는 단점이 있다. 반면 사각형은 느리지만 빛 계산을 잘하기에 필름메이킹 등에 쓴다. polygon의 크기가 작을수록 정밀한 입체도형을 만들 수 있다. 2) Polygon Mesh 이러한 폴리곤으로 구성된 하나의 객체를 polygon mesh라고 한다. 구를 표현하는 방법에는 크게 Implicit repr..
-
<3일차>씬 구성유니티 기초 프로그래밍 교육 2024. 3. 29. 14:25
1. Unity Components Mesh Renderer: 메시를 렌더링한다. Skinned Mesh Renderer: 변형 가능한 메시(스킨드 메시, 블렌드 셰이프가 있는 메시, 천 시뮬레이션을 실행하는 메시) 를 렌더링한다. 물리 Component: RigidBody: GameObject를 물리적으로 작동하게 해주는 Component. 무게, 저항, 중력 등을 조정할 수 있다. Collider와 사용하면 충돌과 같은 물리현상을 표현할 수 있다. Camera Component: 씬에서 어느 위치를 어떤 방식으로 표현할지 결정한다. Audio Component: 오디오 소스는 씬에서 오디오 클립을 재생한다. Light Component: 모든 씬에서 필수적으로 쓰이는 광원의 속성들을 정의한다. 1-1..
-
<2일차> 유니티 컴포넌트와 스크립트 기초유니티 기초 프로그래밍 교육 2024. 3. 21. 14:58
1. Prefab 여러 게임 오브젝트를 동일한 형태로 미리 만들어놓고 필요한 곳에 사용할 수 있도록 하는 게임오브젝트의 템플릿이다. 게임 오브젝트에 포함된 모든 컴포넌트와 설정을 포함하며, 프리팹을 수정하면 그것을 이용한 모든 게임 오브젝트가 자동으로 업데이트된다. 2. Prototyping Probuilder 3D 모델링과 레벨 디자인 툴의 하이브리드로 구조, 복잡한 터레인 요소, 차량, 무기 등 프로토타입을 빠르게 제작하거나 커스텀 콜리전 지오메트리, 트리거 구역 또는 내비 메시(nav mesh)를 만든다. 돌출: 면이나 열린 엣지를 선택하고 shift 키를 누른채로 이동, 회전, 확대/축소하여 돌출 또는 삽입이 가능해 원하는 형 태로 오브젝트를 제작할 수 있다. 폴리 셰이프(Poly shape): ..
-
<1일차> 유니티 기초유니티 기초 프로그래밍 교육 2024. 1. 29. 14:43
1. Unity Editor 1. Scene GameObject로 구성되어 있으며 장애물, 장식 등을 배치할 수 있다. scene window에서는 오브젝트를 선택하고 위치를 이동시키며 회전시키고 크기를 조절할 수 있다. 게임의 시각적 요소를 직관적으로 조작하고 테스트할 수 있는 강력한 도구로 이를통해 게임이 사용자들에게 어떻게 보일지 예측하고 최적화할 수 있다. 2. Hierarchy 현재 씬에 있는 모든 게임 오브젝트들을 트리 구조로 표시한다. 게임 오브젝트들의 순서나 계층을 드래그 앤 드롭으로 쉽게 변경할 수도 있고 오브젝트를 추가, 삭제, 조정할 수 있다. 3. Inspector 게임 오브젝트의 세부 속성과 컴포넌트를 볼 수 있고, 이를 수정할 수 있다. 또한 사용자 정의 컴포넌트의 속성을 표시하..