
도입 오늘은 저번 포스트에 이어 OpenGL에서 Perspective Projection을 다루는 Matrix에 대해 알아보겠습니다. 이번에는 본격적으로 Matrix의 각 원소에 대해서 알아보고 저번 시간에 다루지 못했던 자세한 내용에 대해서도 알아보겠습니다. 바로 이 포스트를 읽으면 이해가 어려우니 저번 포스트를 먼저 읽으시길 바랍니다. View Frustum 가장 먼저 Matrix를 만들려면 View Frustum이 어떤 Parameter들을 통해 정의되는지 알아야 합니다. Frustum은 두 가지 데이터셋 중 하나의 형태로 정의할 수 있습니다. *여기서 데이터셋을 통해 정의될 수 있다는 말은 데이터셋의 값을 알면 유일한 형태를 만들 수 있다는 뜻입니다. 예를 들어 3개의 정점의 위치를 알면 삼각형의..

도입 오늘은 OpenGL에서 Perspective Projection을 다루는 Matrix에 대해서 알아보겠습니다. OpenGL을 기준으로 쓰였고 DirectX와 세세한 부분이 다르니 주의하시기 바랍니다. 다시 한 번 복습하자면 컴퓨터 그래픽스가 하는 일은 결국 가상의 3차원 공간을 2차원 모니터에 색으로 표현하는 일입니다. 물체는 대체로 3차원 공간의 삼각형들의 조합으로 표현이 되고 삼각형들은 3개 정점의 조합으로 표현이 됩니다. 정점은 3차원 위치, 색 등의 정보를 가지고 있습니다. 이 정점을 2차원 모니터에 표현하려면 여러 공간 변환을 거쳐야 합니다. 아래는 3차원 공간에서 2차원 모니터로 옮기는 일반적인 변환 과정입니다. 출처: https://learnopengl.com/Getting-starte..

앞선 포스팅에서 스켈레톤 애니메이션의 개념과 구현에 필요한 수학적 지식을 알아보았습니다. 이번 포스팅에서는 직접 코드를 이용해서 스켈레톤 애니메이션을 구현해보겠습니다. 우선 결과 영상은 다음과 같습니다. Windows 환경에서 개발하였고 C++, OpenGL, Assimp를 이용해서 구현했습니다. DAE 파일은 본문 맨 아래에 표기한 웹사이트에서 가져왔습니다. Overview 먼저 전체 과정을 Overview 해봅시다. 총 3개의 과정으로 이루어집니다. 첫 번째는 DAE 파일을 로드하는 부분입니다. DAE 파일에는 Mesh의 정점 정보, Animation 정보 및 정점과 Bone을 연결시켜주는 정보 등을 담고 있습니다. 두 번째는 시간에 따라 각 관절의 형태를 선택하는 부분입니다. 애니메이션은 정점에 영..
- Total
- Today
- Yesterday
- reference type
- RubiksCube
- MeshProcessing
- SRP
- RL
- 루빅스큐브
- 유니티
- 최적화
- transform
- 강화학습
- Scriptable Render Pipeline
- collision detection
- Mesh Processing
- Unreal
- 값 형식
- CollisionDetection
- value type
- Bounding Volume Hierarchy
- C#
- AABB
- Transformation
- NDC
- Mesh
- Unity
- DirectX12
- normalized device coordinate
- VTK
- opengl
- perspective projection
- 참조 형식
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |