7월 25일, C++ Korea 가 주관한 세미나를 보았다.
기존에는 오프라인으로 마이크로 소프트 건물에서 진행했는데, 이번에는 온라인으로 진행하여 유튜브에서 하였다.
사실 이 세미나는 최근에 인터넷에서 우연히 발견하였다.
JAVA 나 웹 쪽 세미나는 몇번 봤는데, C++ 세미나는 이번에 처음 봤다.
더 있는데 관심을 안가져서 발견을 못한걸지도 모르겠다.
이번 세미나 주제는 게임 개발 타임이었다.
비록 나는 임베디드 리눅스 개발자이지만, 세미나 내용을 보니 봐도 좋을 주제들이라 보게되었고, 실제로도 괜찮았다.
세미나는 총 4개 세션으로 구성되었다.
1. 게임 엔진 개발과 C++
2. 현실적인 CMake
3. 포인터를 사용하지 않고 게임 개발 해보기
4. 3D 게임에서의 빠른 렌더링을 위한 최적화 기법
이 중에서 4번째 세션 빼고는 게임 관련 개발자가 아니여도 볼만한 내용들이었다.
세션 1, 게임 엔진 개발과 C++
첫번째 세션은 발표자분이 실시간으로 발표를 하신게 아니라 미리 보내주신 동영상을 틀어주었다.
내용은 많은데 1시간에 딱 맞춰서 자료를 준비하셨다.
전체적으로 메모리 관리와 성능 개선에 관한 내용을 담았다.
특히, 메모리 관련된 부분이 흥미로웠다.
임베디드는 맨날 한정된 메모리 자원을 가지고 싸우는게 일이니 말이다.
타입 시스템을 활용하는 방법도 좋았다.
실전에서 활용하고 싶은 내용들이 많았던 발표라 시간가는줄 모르고 봤다.
세션 2, 현실적인 CMake
CMake에 관련된 발표였다.
현실적인 이라고 되어있지만, 사실상 CMake에 관한 전반적인 사용법 강의었다.
CMake는 평소에도 많이 사용하는거라 이 강의도 열심히 경청하였다.
진짜 CMake의 기본을 처음부터 끝까지 전부 설명해주는 강의라 지금까지 보았던 CMake의 함수가 이런 내용이였구나 하는 깨달음을 얻었다.
발표자분께서 CMake를 다 설명하시려니 1시간으로 계획되었던 강의가 1시간 30분이 되어버렸다.ㅎㅎ
강의도 좋았지만, 발표자분께서 만드신 자료가 정말 알짜배기다.
이건 저장해두고 평소에 CMake 쓸때 두고두고 참조해야겠다.
발표자분께서 발표하시면서 CMake 쓰지 마세요를 계속 외치셨다. 껄껄.
세션 3, 포인터를 사용하지 않고 게임 개발 해보기
재미있는 주제의 발표였다.
포인터를 쓰지 않고, 레퍼런스를 이용하여 개발을 해보았다는 내용이다.
3가지 대안을 말씀하셨는데, 람다식, variant, optional 이었다.
람다식은 전에 risp 쓸 때 많이 써봐서 이쪽은 익숙했다.
variant와 optional는 써본적도 없고, 들어보지도 못했다.
variant는 switch 문으로 type 비교하는 부분을 대체할 때 쓸만해보였다.
개발할 때, 이런 코드를 종종 사용했었으니.
optional은 잘 모르겟다.
이 variant와 optional이 C++ 17 부터 지원한다고 하는데, 17년도는 막 취업했을 때 였으니 이런거 찾아보지 않았을 때였다.
이 세션도 발표자분께서 이런거 하지 말라는 말로 끝났다.
세션 4, 3D 게임에서의 빠른 렌더링을 위한 최적화 기법
이 발표는 그래픽스에 관한 내용의 발표였다.
최소한의 리소스를 사용하여 렌더링을 하는 방법에 관한 내용이었는데, 탐색을 이용하여 유저가 보는 시야에서 보이는 부분만 계산하는 내용을 담은 강의었다.
예전에 학부에서 그래픽스 강의 들을때 들었던 내용도 나오고 하였다.
이론상으로는 알겠는데, 이걸 개발한다고 하면 어찌 개발해야할지 모르겠더라.
이 강의도 꽤나 길어져서 1시간 반 쯤 발표하신것같다.
C++ Korea 의 세미나는 내용도 알찼고, 재미있었다.
내용이 너무 알차서 세미나 예상 종료시간보다 1시간 더 늦게 끝났다.
올해안에 가능하면 11월달쯤에 한번 더 세미나를 열 계획이라 하시니 시간 잘 맞춰서 찾아봐야겠다.