전체 글(30)
-
원 모양 물체의 2차원 비탄성 충돌에 대한 고민
이슈 2차원 상 충돌을 간단하게 구현해 본다고 할 때, 원과 선분, 원과 원, 선분과 선분의 교점을 구하는 함수를 만들어 (여러 개면 그 평균, 즉 질량중심을) 작용점으로 사용하도록 했었습니다. 이후 해결해야 할 것이 하나 더 있으니 충격량 그 자체를 정하는 것입니다. 충격량 적용 그 자체는 간단한 편으로 볼 수 있습니다. inline void impulse(const vec2& force, const vec2& globalPoint) { velocity += inverseMass * force; angularVel += inverseMoment * cross2(globalPoint - transform->getGlobalPosition(), force); } 하지만 그 충격량을 구하려면 반발계수에 따른..
2022.05.10 -
동일 평면 상 원과 선분의 위치 관계, 선분과 선분의 위치 관계
이슈 평면 상의 간단한 충돌 알고리즘을 구현한다면, 선분과 선분의 위치 관계와 평면상 원과 선분의 위치 관계 정도가 대표적으로 필요할 겁니다. 겉보기에는 높아 봐야 고등학생 수준 알고리즘이고 실제로도 그렇습니다. 한국어로 치면 거의 안 나오지만 영어로 치면 많이 나오기는 하는데요, 뭔가 불만이 있다면 코드가 조금 오래 걸려 보인다는 거라든지 유도를 읽기 귀찮다는 거겠죠. 사실 후자가 큽니다. * 이 글은 고민하는 과정이 들어 있지, 정답 같은 걸 담고 있지 않습니다. 그래서 사실 오답을 담고 있을 수도 있습니다. 문제 1. 동일 평면상 원과 선분의 위치 관계 한국어로 구글에 '원과 선분의 교점'이라고 치면 이상하게 원과 직선의 교점이란 제목의 글들만 나옵니다. 아무튼, 보통 이렇게 4개의 입력이 주어질 ..
2022.05.09 -
GPU 실행 모형과 분기
이하 내용은 Khronos 위키의 글을 번역한 바입니다. 의역이 다량 포함됩니다. Shader - OpenGL Wiki A Shader is a user-defined program designed to run on some stage of a graphics processor. Shaders provide the code for certain programmable stages of the rendering pipeline. They can also be used in a slightly more limited form for general, on-GPU computat www.khronos.org GPU 실행 모형과 분기 실제로는 아니긴 하지만 CPU와 GPU의 계산 유닛이 계산기와 명령 처리기로 나..
2022.04.26 -
선형대수학 빠르게 몰아보기
들어가기 전에 (혹시나 해서 적는데, '선형대수학 빠르게'는 드라마나 애니메이션 이름을 이르는 게 아닙니다.) 이 글은 David C. Lay, Steven R. Lay, Judi Mcdonald의 글로벌 5판을 기반으로 작성되지만, 너무 그대로 따라가면 문제가 있을 수 있고 달리 할 게 많기 때문에 최대한 간결하게 작성되고 일부 내용은 제외될 수 있습니다. 그래서 최소한 처음 배우는데 제대로 된 학습을 원한다거나 대학에서 배웠는데 헷갈린다면 이 글은 아닙니다. (특히 왜 배우는지에 대한 내용이 없다면 그것은 교육 자료라고 할 수 없음) 대충 선형대수학에서는 처음에 뭘 배우게 되는가 정도라면 괜찮아 보입니다. 극단적으로 비유하자면 세계지도를 보고 내가 원하는 나라의 좋은 관광 코스를 알 수는 없으니까요...
2022.04.21 -
선형대수학
C++랑 OAGLE 프레임워크 강의를 작성하려다 중요한 일정이 생겨서 준비한다고 중단했습니다. 그렇게 준비하다 보니 우리에게 매우 중요한 선형대수학을 많이 까먹은 걸 알게 됐는데요, 다시 한 번 책을 보면서 정리합니다. David C. Lay, Steven R. Lay, Judi Mcdonald의 글로벌 5판을 기반으로 작성되지만, 너무 그대로 따라가면 문제가 있을 수 있기 때문에 최대한 간결하게 작성될 것 같습니다. 아마 이해를 확인하기 위해 문제를 풀어야겠고 간단히 몇 개 정도 나올 수 있지만, 저 중요한 일정 이후에는 (어차피 제가 구현하게 될 내용이라) 이런 식의 기능이 추가될 수도 있습니다. + = 답 확인 선수 과목은 09 교육과정 기준 기하와 벡터이며, 특히 앞 부분은 고등학교 수준에서 크게..
2022.04.21 -
-
서문 안녕하세요, 컴퓨터공학 학사 오늘아트입니다. 저는 가벼운 OpenGL 게임 엔진을 하나 개발 중인데요, 만약 이걸 취업을 위해 회사에 내밀게 된다면 이게 쓸 수 있는 물건이긴 하다는 증명이 되어야겠다는 생각이 들더라고요. 그에 따라 이제부터 일이 조금 막히거나, 생각날 때마다 그걸 이용하여 게임 개발을 하는 강좌를 올릴 예정입니다. (아무도 안 본다 해도 쓸 수 있는 물건이란 증명만 된다면야..) 개요 개발하고 있는 엔진의 이름은 오글입니다. 마지막 학기 CG 프로젝트에서 엔진을 직접 만들었다가 영 시원찮아서 학기 끝나고 완전히 새로 시작한 프로젝트입니다. 개발 언어는 C++이며 3D 게임 개발이 가능하지만 2D 중심적인 편입니다. 모든 코드는 크로스 플랫폼에 해당하지만 Makefile과 so는 제..
2022.03.16