intro 파트 1,2에서는 Assimp 라이브러리를 사용하여 골격 정보를 로드하는 법을 다루었고, 각 정점이 가중치와 함께 정점에 영향을 미치는 본에 대응하는 법을 다루었다. 이 파트에서는 스켈레톤 애니메이션 기법의 핵심인 행렬 변환에 대해 다룬다. blender에서는 애니메이션을 생성할 때 key...
[opengl] OGLDEV: Skeleton Animation In OpenGL using Assimp 2
이번 영상은 본과 그 정점에 미치는 영향을 시각화하는 튜토리얼이다. 지금 당장 구현하고 싶은 부분이 아니기 때문에 정리는 생략했다. intro aiScene의 구조는 위와 같다. scene은 mesh 들을 가짐 mesh 에는 bone들이 있음. bone에는 bone의 이...
[opengl] OGLDEV: Skeleton Animation In OpenGL using Assimp 1
Skeleton skeletal animation, skinning 은 애니메이팅의 기본적인 방법이다. skeletal animation 모델을 skin 이라고 부름 (스키닝) bone 은 실제 세계에서와 같이 skin을 움직이는 skeleton. skeleton과 skin ...
[UE4] Skeleton Assets: Overview
Skeleton Assets: Overview를 보고 정리한 문서 Skeleton Assets 캐릭터 생성 스켈레탈 메시로 외형부터 만든다. 스켈레탈 메시 == 3D모델 스켈레톤 구성 즉, 캐릭터의 리깅 작업 본이나 관절 계층 구조의 추가 및 정의 등이 진행된다. 캐릭터...
[UE4] 애니메이션 시작하기
애니메이션 시작하기 철학 다용도성 확보(versatile tools) 레이어화된 애니메이션 플로우 다양한 애니메이션 레이어에서 벌어지는 일들을 쉽게 분리해서 레이어별로 반복 처리하고 폴리시할 수 있음. 재사용성 애니메이션 속의 다양한 요소를 다른 캐릭과 애니메이션 등을 공...
[그래프] 벨만-포드 최단 경로 알고리즘
Bellman-Ford 다익스트라같이 단일 시작점 최단 경로 알고리즘 하지만 다익스트라는 음수 간선이 있는 경우 잘 동작하지 않음 벨만포드: 음수 사이클 여부 파악 가능, 음수 간선이 있어도 최단 경로 찾기 가능 시작점에서 각 정점까지 가는 최단 거리의 상한을 적당히 ...
[learn-opengl] Advanced OpenGL: Advanced GLSL
Advanced GLSL 흥미로운 내장 변수들과 shader의 입력과 출력을 구성하는 새로운 방법, uniform buffer objects라고 불리는 유용한 도구를 다룰 것이다. GLSL’s built-in variables 셰이더는 극도로 파이프라인되어 있다. shader 밖의 다른 곳의 데이터가 필요한 경우,...
[learn-opengl] Advanced OpenGL: Advanced Data
Advanced Data 버퍼들을 좀 더 흥미로운 방법과 texture들을 통해 shader에 많은 양의 data를 전달하는 흥미로운 방법이 존재한다. 이런 버퍼함수들과, 많은 양의 데이터를 저장하기 위해 텍스처 객체를 사용하는 방법을 다룰 것이다. OpenGL에서의 buffer는 특정 메모리를 관리...
[learn-opengl] Advanced OpenGL: Cubemaps
Cubemaps 지금까지 2D 텍스처들을 사용해왔다. 다른 유형도 존재 이번에 다룰 유형은 여러 텍스처들을 하나의 텍스처로 매핑한 텍스처이다. 이를 cubemaps라고 부른다. Cubemap은 각 면을 형성하는 2D 텍스처들을 포함하고 있는 텍스처이다...
[learn-opengl] Advanced OpenGL: Framebuffers
Framebuffers 지금까지 여러 스크린 버퍼들을 사용해왔다. color buffer: 컬러 값 작성 depth buffer: 깊이 정보 작성 stencil buffer: 특정 조건에 의해 해당 fragment를 폐기함. 이러한 버퍼들을 결합한 것을 Framebuffer라고...