책 150p 입니다. (5~6번) 해설을 보면 극좌표계의 각은 [-π, π]범위를 가진다는데 이 부분부터 이해가 안갑니다. (1) 원의 x축을 기준으로 윗 부분은 π, 아랫부분은 -π의 각을 가질 수 있어서 범위를 [-π, π]로 말씀하신 것인지 궁금합니다. (2) [-π, π] 범위에서 [0, 2π]로 변경하기위해 2π를 더해준다고 설명이 되어있으나 왜 π -> 2π가 되기 위해 2π를 더해주는지 이해가 안갔습니다. 그리고 [0, 2π]로 변경하는 이유도 궁금합니다. (바로 아래 정규화 부분 때문에 하신 것 같으나, 정확한 이해를 위해 여쭤보게 되었습니다) 나머지 부분은 이해가 되었는데 위 두 부분은 완벽한 이해가 되지 않아 찝찝한 마음에 질문을 남기게 되었습니다..! 만약 질문이 있다면 계속 인프런에 올리면 될까요 아니면 따로 질문방이 있을까요?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
제가 중간에 내용을 놓친건지 작성해 놓은 pch.h에는 Utils.h가 없어서 void Missile::Render(HDC hdc) { Utils::DraCircle(hdc, _pos, 25); } 여기서 자꾸 오류가 나네요. 그렇다고 pch.h에 #include "Utils.h"를 추가하면 Utils.h 에서 오류가 나네요 구문 오류 : 식별자 'HDC' 무언가 중복되서 이런 일이 발생하는 건가요?
안녕하세요 🙂 강의 잘보고있습니다! 다름이 아니라 개인적으로 공부한 내용을 블로그에 정리하고 싶은데 괜찮을까요? 이미지 같은 경우에는 제가 그림판으로 직접 그린 것을 활용할 예정이고 코드도 제가 제 스타일대로 리팩토링한 다음 제가 이해한 내용을 정리한다는 느낌으로 올릴예정입니다. 만약 원치않으시다면 개인 공부용으로 비공개로만 기록해놓겠습니다! :)
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
VS_PointLight 의 VS_OUT에 있는 pos가 SV_Position으로 되어있으니, PS_PointLight에서의 input.pos 범위는 -1~1이 되어야하지 않나요? 그래서 왜 Resolution으로 나눠주는건가 하고 디버그 해보니 0~ 1920 범위로 나오더라구요... 왜그런가요
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
항상 좋은 수업 감사드립니다. 다름이 아니라 드래곤 모델 뿐만 아니라 다른 모델도 로드해보았더니 텍스처가 잘 입혀지는 부분이 있고 잘 입혀지지 않은(일그러지는 현상) 부분도 있는데 왜 이런 현상이 발생하는 것일까요? 제 프로젝트도 그렇고 수업자료 예시도 그렇고 똑같이 텍스처가 일그러지게 그려지네요 그리고 다른 모델을 로드할 때 텍스처 이름을 바꾸거나 FBXLoader에서 텍스처들의 이름을 받아올때 이름을 가져올 수 없거나 이상한 이름이 로드되는 경우가 있던데 이러한 상황에서는 어떻게 해결할 수 있을지 궁금합니다. 위 사진에서 오른쪽 상단과 같이 일그러지게 렌더링이 됩니다.
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
저희 프로젝트에서 클라이언트의 네트워크 모델은 WSAEventSelect 모델, 서버의 네트워크 모델은 IOCP 모델이 맞을까요?? 서버의 모델은 IOCP 라는 걸 확실히 알겠는데 클라이언트의 네트워크 모델도 IOCP 인건지 WSAEventSelect 인지 이해가 잘 안갑니다..!! 클라, 서버 둘다 메인스레드 하나로 처리한다고 하셔서 헷갈려서 여쭤봅니다 ㅠㅠ
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
// CP 생성 HANDLE iocpHandle = ::CreateIoCompletionPort(INVALID_HANDLE_VALUE, NULL, 0, 0); // WorkerThreads for (int32 i = 0; i < 5; i++) GThreadManager->Launch([=]() { WorkerThreadMain(iocpHandle); }); 각 워커 스레드는 별도의 iocpHandle을 사용해서 WorkerThreeadMain 함수를 실행하는 걸까요? iocpHandle 은 하나의 공용적인 큐 일까요?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Overlapped Callback 방식에서 Session 구조체의 맨 첫 요소로 overlapped 를 넣어줘야하는 이유가 나중에 포인터로 변환하기 위해 메모리 구조상 넣는 거라고 하셨는데 이 부분이 잘 이해가 안가서 여쭤봅니다... 배열의 이름이 배열의 주소인 것처럼 구조체의 첫 요소가 구조체의 주소라서 그런건가요..??
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
vector<shared_ptr<object>> v; 라는것을 사용했을때 , shared_ptr 은 생명주기가 다하면 알아서 자동으로 소멸되는데 vector 안에 object 를 넣게되면은 object 의 생명주기 가 연장되는건가요 ? 만약에 생명주기가 연장되었다고 했을때 vector<shared_ptr<Object>>& v = ObjectManager::GetInstance()->Get_Object(); for (int i = 0; i < v.size(); ++i) { v[i]->Update(); } 위처럼 벡터의 참조값을 를 가져와서 update 도중 vector 안에 원소를 reset 하여 참조카운트가 0 이되어 삭제된다 치면은 썡포인터와 다를게없어지는거아닌가욤?
[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
제가 이해하기론 서버에서 플레이어를 생성하고 처음 네트워크 통신 간 세션에 클라이언트가 등록되었을 때 클라이언트와 서버에서 생성한 플레이어를 붙이는 것으로 이해했습니다. 혹시 그럼 처음 통신을 했을 때는 클라이언트가 서버에 보내는 패킷에 초기값을 전달 후 서버에서 설정해서 다시 패킷을 send 해주는 방식으로 이해했는데 제가 이해한 방식이 맞는 것인지 궁금합니다.
안녕하세요 교수님 Q1 높이를 표현하는 z가 0과 1로 고정이기 때문에 항상 평행하다 하셨는데 0과 1이라는 두개의 숫자가 있으니 0아니면 1로 계속 변할 수도 있는 것 아닌가요..?? Q2 밀었을 때의 공간은 z=1, 미는양은 z=0 인 공간을 사용한다는 부분은 그렇지 않으면 원하는 결과가 나오지 않기 때문에 그렇다고 이해하면 맞는건가요?
[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요, skybox 강의 듣는 도중에 다음과 같은 에러가 발생합니다. SceneManager 에서 물체를 하나씩만 scene->AddGameObject() 해보면 각각 잘 나오는데 둘다 add하면 에러가 발생합니다. 샘플코드는 잘 작동하고, 이전 챕터까지도 이상이 없어서 코드가 잘못됐나 싶어서 여러차례 훑어보고 복사붙여넣기 해봐도 안됩니다. 짐작가시는 부분이 있으시다면 말씀 주시면 감사하겠습니다.