도입 OpenGL의 Perspective Projection 마지막 포스트입니다. 저번 2 개의 포스트를 통해 Matrix의 형태가 아래와 같다는 것까지 왔습니다. 이제 마지막으로 알아야 할 것은 Matrix의 3번째 행입니다. 보시다시피 $z_c$를 만드는 핵심 행입니다. Z 값이 선형 변환 하지 않는 이유 앞 포스팅에서 z 값을 선형 변환하지 않는다고 설명했었습니다. 그 이유는 메모리와 정밀도 때문이라고 했습니다. 지겹겠지만 다시 한 번 이야기하면 컴퓨터 그래픽스는 3D 공간을 2D 모니터로 표현하는 일입니다. 2D 모니터는 픽셀들로 이루어져있고 각 픽셀마다 색이 값으로 정해져서 그리면 됩니다. 불투명한 물체를 볼 경우 상대적으로 카메라와 가까운 물체가 뒤에 있는 물체를 가리므로 이러한 연산을 그래픽..
도입 오늘은 저번 포스트에 이어 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..
- Total
- Today
- Yesterday
- perspective projection
- Bounding Box
- RubiksCube
- value type
- RL
- Transformation
- BoundingBox
- 유니티
- 값 형식
- MeshProcessing
- VTK
- Mesh Processing
- 루빅스큐브
- 참조 형식
- Scriptable Render Pipeline
- normalized device coordinate
- C#
- Mesh
- 강화학습
- collision detection
- SRP
- AABB
- Unity
- NDC
- reference type
- transform
- opengl
- Bounding Volume Hierarchy
- CollisionDetection
- Unreal
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |