뚝딱뚝딱 만들기 Devlog/게임엔진 (Ramensoup)(6)
-
[RamenNetworking] 네트워킹 프로젝트 시작!
https://github.com/HappyFaceFriend/ChattingDemo GitHub - HappyFaceFriend/ChattingDemo: Chatting demo project in c++ for studying purposeChatting demo project in c++ for studying purpose. Contribute to HappyFaceFriend/ChattingDemo development by creating an account on GitHub.github.com 안녕하세요!평소 네트워킹과 멀티스레딩 관련 지식과 경험이 부족하다고 생각되어 몇 달 전에 소켓통신 API를 만들어보기로 했습니다. 목표는 소켓통신을 이용한 멀티스레드 서버와 클라이언트 API를 제공하는..
2024.09.10 -
Event & EventQueue 리팩토링
라면스프 엔진이 이제 어느정도 엔진적인 기능(ECS, 씬 하이아키, 라이팅 등)이 필요한 때가 다가왔습니다. 앞으로 작업을 잘 하기 위해서, 그리고 C++ 개념을 익힐 겸 지금까지의 코드를 차근차근 리팩토링 하려 합니다. 첫 번째 타깃은 항상 마음 한켠에 남아있던 EventQueue입니다. 우선 EventQueue를 구현하면서 꼭 지키고싶었던건 아래와 같습니다. Event는 최대한 가볍게 가져가자 (메모리가 적게) EventQueue에 큐잉되는 이벤트들은 연속된 메모리공간에 놓자. 이를 위해서 vtable을 이용하지 않고 EventType을 이용한 다형성을 구현하자. 기존 구조 우선 Event를 처리하는 과정은 다음과 같습니다. //WindowsWindow::InitCallbacks() 중 glfwSet..
2023.11.10 -
glm을 왼손 좌표계로 설정하기
assimp를 이용해 3D 모델을 읽어서 작업하던 중, 라이팅 작업에 들어가기에 앞서 카메라 컨트롤러를 만들고 있었습니다. 그런데 카메라 이동이 이상한겁니다. z축과 y축 움직임은 괜찮은데, x축 움직임이 반대로 되고 있었습니다. 그것도, 카메라의 position은 정상적으로 변하는데 보이는건 뭔가 반대로 보이고 있는 것 같았습니다. 처음에는 View Matrix를 의심했고, 그래서 뭘 잘못하고있나 확인해봤습니다. //... glm::vec3 right = glm::cross(m_Up, m_Front); if (Input::IsKeyPressed(RS_KEY_A)) m_Position -= right * speed * Time::GetDeltaTime(); if (Input::IsKeyPressed(RS..
2023.11.08 -
assimp를 premake로 빌드하기
3d 렌더러를 만들기위해 obj 파일을 읽을 수 있는 라이브러리가 필요했습니다. 여러개가 있었는데, 여러 포맷을 지원해주는 assimp를 이용하기로 했습니다. assimp: https://github.com/assimp/assimp GitHub - assimp/assimp: The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clea The official Open-Asset-Importer-Library Repository. Loads 40+ 3D-file-formats into one unified and clean data structure. - GitHub - assimp..
2023.11.05 -
Logger 개발기 - 전처리기와 컴파일러
Ramensoup(라면스프) 프로젝트에 대해.. 더보기 게임 프로그래밍 공부 중 게임엔진이 만들어보고 싶어져 무작정 시작한 프로젝트로, TheCherno 유투브의 Hazel을 베이스라인으로 제 나름대로의 변화를 주며 개발하고 있습니다. https://github.com/HappyFaceFriend/ramensoup GitHub - HappyFaceFriend/ramensoup: Game engine for studying purposes Game engine for studying purposes. Contribute to HappyFaceFriend/ramensoup development by creating an account on GitHub. github.com https://neighborly-..
2023.06.11 -
프로젝트 시작!
게임 프로그래밍 공부를 하면서, 게임 엔진을 한번 만들어보고 싶어져서 공부차원에서 하나 만들어보기로 했습니다. 깃헙 레포지토리 : https://github.com/HappyFaceFriend/ramensoup GitHub - HappyFaceFriend/ramensoup: Game engine for studying purposes Game engine for studying purposes. Contribute to HappyFaceFriend/ramensoup development by creating an account on GitHub. github.com 엔진 이름이 라면스프인 이유는 라면스프처럼 쉽고 맛있게 쓸 수 있다는 의미입니다 ..^^ (soup라서 라면 국물이라고 읽히겠지만..) 개발..
2023.06.06