목록전체 글 (7)
Eric Han's Game Programming Blog
벡터는 매우 간단한 구조이며, 게임 개발에서 뺄수가 없는 형태의 자료형이다. 사실 현대적인 CPU들이 대부분 벡터 연산을 제공한다는 점에서 더더욱 넘어가는게 의미가 없을정도로 필수적인 자료형이라 볼수 있다. 먼저 C++로 작성된 기본적인 벡터 자료형이다. class Vector2 { public: Real x = 0, y = 0; public: Vector2() = default; ~Vector2() = default; Vector2(const Vector2& rhs) : x(rhs.x), y(rhs.y) { } Vector2(Real x, Real y) : x(x), y(y) { } explicit Vector2(Real a[2]) : x(a[0]), y(a[1]) { } }; 2D 벡터이기 때문에 부..
게임 개발에서 가장 기본적인 개념은 역시 공간에 대한 개념이다. 물론 중학교와 고등학교를 거쳐오면서 수학시간에 많은 내용을 배우기 때문에 대부분의 내용은 고등학교 기하와 벡터 수준이면 충분히 이해하고 넘어갈수 있을것이다. 혹시나 궁금하다면 2D 수학 시리즈에 올려둔 내용이 있다. 먼저 좌표의 개념은 17세기 초 데카르트가 고안했다고 알려져 있다. 이제 곧 있으면 400주년 정도 된다고 하니 정말 4세기 만에 익숙해진 개념인 것이다. 벡터의 개념은 17세기 말 아이작 뉴턴이 프린키피아를 쓰면서 처음 도입되었다고 한다. 마찬가지로 거의 350년 이상 된 개념인 것이다. 그런 만큼 우리는 일상적으로 좌표나 벡터를 사용한다. 아마 요즈음의 초등학생들은 이런 좌표계가 더더욱 익숙할 것이다. 마인크래프트의 등장 이..
Summary Senior Student Project Team Size: 1 Roles: Physics Programmer, Engine Programmer, Graphics Programmer C++ | DirectX12 | Win32 API GAM 450 프로젝트는 졸업 학기에 진행한 1인 프로젝트다. GAM 400과 마찬가지로 비슷한 형식을 가지고 있는데, 보통 대부분의 대학에서 볼수 있는 캡스톤 프로젝트류와 비슷한 느낌이라 보면 된다. 이 때는 테스트 케이스를 만들고 소논문을 작성했던 프로젝트였다. 당시에 겨울방학 3주 동안 팀 프로젝트로 할만한 게임 디자인을 만들지 못하였고, 그럴거면 변형체 테크데모를 도전해보자는 느낌으로 만들었었다. 이 변형체 시뮬레이션은 Verlet 적분법과 Semi-Im..