묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
enumclass 질문입니다
46분 45초쯤에 enum 이라서 함수를 두개로 하셨다고 하셨는대 다른점과 이유를 알고싶습니다
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
속도를 위해 dynamic_cast를 static_cast로 변경하는 경우가 있나요?
dynamic_cast는 다운 캐스팅할 때 실행 시간에 타입을 검사하기 때문에 상대적으로 안전하지만 동작 속도가 static_cast보다 상대적으로 느리다고 알고 있습니다.반대로 static_cast는 다운 캐스팅할 때 사용할 수 있지만, 실행 시간에 타입을 검사하지 않기 때문에 위험하고요.이에 궁금한 점이 생겨서 다음 질문을 드립니다.실제 현업에서는 dynamic_cast의 안전성을 포기하고 속도를 향상하기 위해 static_cast로 교체하는 경우가 있나요?그러한 경우가 있다면, 프로그래머가 실수해서 잘못 캐스팅 경우를 방지하기 위해 어떻게 대응하나요? (수업에서 명시된 열거체으로만 검사하면, 열거체가 수정되거나, 프로그래머가 잘못된 열거체를 지정하는 경우, 문제가 생길 소지가 있어보입니다.)
-
해결됨게임 수학의 이해
게임 수학 강의와 책
안녕하세요.관련 공부를 위해서 책으로 할지 강의로 할고민 중에 있는데요.언 뜻 보기에는 강의보다는 책이 좀 더상세하고 많은 내용을 다루고 있을 거같다는 생각이 드는데혹시 둘 간에는 어떤 차이가 있나요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
UI 강의에서 예외 발생 오류 질문 드립니다.
UI 강의 22:16에서 실행을 했을 아래와 같이 오류가 발생 하네요..{ Button* ui = new Button(); ui->SetSprite(GET_SINGLE(ResourceManager)->GetSprite(L"Start_Off"), BS_Default); ui->SetPos({ 200, 200 }); uis.pushback(ui); }ui->SetSprite 부분을 //처리할 경우 오류가 안나는 걸로 봐서는 여기서 뭔가 잘못된 것 같은데 아무리 찾아도 안나오네요..
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
unique_ptr 질문
unique_ptr의 경우 왕관 뺏기 게임을 만든다고 할 때 사용할 수 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
컴퓨터 사양
데스크탑 컴퓨터 사려고 하는데 게임개발자는 어느정도 사양의 컴퓨터를 구매하는게 좋을까요? 추천해주시는게 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
WaitForNextKey를 텍스트알피지에서 만든것을 따라했는데 오류가 납니다
제목 그대로 WaitForNextKey 함수를 만들었는데 저는 강사님과 다르게 플레이어 hp가 남아도 필드로 가서 전투를 이어가지 않고 로비로 돌아오게 됩니다 왜 그런걸까요 ..
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
유니코드 특수문자 출력 관련
안녕하세요유니코드 특수문자를 출력시킬 때 일부 특수문자(Ballot Box with X)가 ?로 출력이 되고 있습니다레지스트리 편집기에서 chcp를 새로 설정해주기도 하고인코딩을 새롭게 해서(유니코드 65001) 저장도 하고문자 그림 대신 유니코드 번호를 적어도 봤지만('\u2612')여전히 해결되지 않고 있습니다다른 해결방법이 있을까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
궁금한게 있어요!
안녕하세요 해당 강의 보면서 Sprite와 Unity에서의 Atlas 관련해서 궁금한게 있습니다. BitBlt을 사용해서 Sprite 하나씩 그려주고 있어서 나중에 CPU, GPU에게 부담이 갈 수 있는 상황이라 가정하면 Unity에서의 Atlas처럼 한번에 묶어서 처리하도록 만들게 될텐데 여기서 궁금한게 Atlas라는게 여러개의 Sprite들을 다시 하나의 Texture로 만드는 과정일까요?그리고 이렇게 Atlas같은 기능을 활용하면 CPU, GPU에게 덜 부담을 주게 되는건 알겠는데 메모리 상으로는 여러 Sprite로 묶은 Texture를 만들어야하니까 메모리적으로는 불이익을 볼 수 있는걸까요?
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
Mac visual studio -> vscode 대체
Mac visual studio가 지원중단되어서, 혹시 vscode로 대체하여 강의 수강이 가능할까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
nullptr오류가 발생해요.
nullptr 오류가 왜 발생하는 걸까요? 코드는 복붙 해서 아마 다 같을 거에요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Normal Mapping / Assertion failed! 오류
Normal Mapping 강의에서 veiga.jpg를 제가 다운받아온 Stone.jpg로 바꾸고 디버깅해보니 이렇게 뜨네요크래시 난곳은 여기입니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
1>LINK : fatal error LNK1104: 'Engine.lib' 파일을 열 수 없습니다.
장치초기화 파트에서 제가 무언가를 놓친거 같습니다...클라이언트 프로젝트를 시작으로 놓고 하였는데 저런 에러가 뜹니다. 무엇이 문제일지 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
shared_ptr 과 헤더파일 관련하여 질문있습니다
Engin.h 에서 #pragma onceclass Engine{public: void Init(const WindowInfo& window); void Render(); void ResizeWindow(int32 width, int32 height);private: WindowInfo _window; D3D12_VIEWPORT _viewport = {}; D3D12_RECT _scissorRect = {}; shared_ptr<class Device> _device; shared_ptr<class CommandQueue> _cmdQueue; shared_ptr<class SwapChain> _swapChain; shared_ptr<class DescriptorHeap> _descHeap;};여기서 #include <memory>를 하지 않고도 shared_ptr이 컴파일이 가능한 이유가 뭔지 알수 있을까요...?
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
안녕하세요 루키스님 메모리 릭 관련해서 질문드립니다.
마지막 업로드 파일 기준으로 메모리 릭이 발생되는데요. 서버가 열리지 않았을땐 발생하지 않아서 서버와 연결하는 부분인것 같았고 구글 프로토퍼프때문인가 싶어 검색하여 게임 소멸자에google::protobuf::ShutdownProtobufLibrary();이 구문을 추가했더니 조금 릭이 줄긴했지만 여전히 메모리 릭이 발생합니다. 게임세션이나 서비스가 상호참조되어 스마트 포인터가 해제가 안되나 해서 열심히 찾아봤지만 그부분 문제가 아닌것 같더라구요..어느 부분에서 발생하고 어떻게 고쳐야 하는지 알려주시면 감사하겠습니다.
-
해결됨[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
서버 허락 후 움직이는 모델로 만들 때 궁금한 것이 있습니다.
안녕하세요!이동할 때 서버에 움직여도 되는지 묻고, 대답이 오면 그때 움직이는 방식으로 만든다고 했을 때,SetDir, SetState같은 것들도 위와 같은 방식을 취하는 게 좋을까요?이동은 선 보고 후 허락이 오면 이동하는 방식,SetDir과 SetState는 강의에서처럼 먼저 Set하고 서버에 보고하는 방식으로 코드를 짰는데이게 뭔가 흐름이 꼬이는 부분이 있는 것 같아요.두 개를 하나의 방식으로 통일하는 게 좋을지,보통 선 보고 후 허락이 오면 이동하는 방식을 취할 때SetDir, SetState같은 것들도 똑같이 허락이 오면 바뀌는 방식으로 하는지 궁금합니다.감사합니다. 강의 잘 보고 있습니다!
-
미해결게임 엔진을 지탱하는 게임 수학
연산 순서는 오른쪽에서 왼쪽??
164쪽 5.2.3절 바로 전 문장인벡터에 선형 변환을 적용하기 위한 연산 순서는 오른쪽에서 왼쪽 방향으로 이뤄진다.이 부분을 잘 모르겠어서 질문합니다.연산 순서가 왜(어떻게?) 오른쪽에서 왼쪽인가요?ㅠㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
질문있습니다.
질문1) D3D12_DESCRIPTOR_RANGE ranges[2] ={{ D3D12_DESCRIPTOR_RANGE_TYPE_CBV, 5, 0, 0, D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND }, // b0 ~ b4{ D3D12_DESCRIPTOR_RANGE_TYPE_SRV, 5, 0, 0, D3D12_DESCRIPTOR_RANGE_OFFSET_APPEND } // t0 ~ t4}; CD3DX12_ROOT_PARAMETER rootParameters[1] = {};rootParameters[0].InitAsDescriptorTable(_countof(ranges), ranges, D3D12_SHADER_VISIBILITY_ALL); 와 같이 루트시그니처에서 테이블의 사용범위를 넓게잡아두고사용할때만 Shader 에서 buffer를 정의 ( ex :cbuffer WVP: register(b0 )해서사용해주고있는데 테이블힙의 메모리 낭비를 제외하면 성능에 큰 악영향이 있을까요?런타임에 터지거나 하는 오류는 현재 없는데 궁금해서 여쭤봅니다. 질문2)제가 이해한게 맞나 궁금해서 질문드립니다.질문1의 방식처럼 rootSignature 를 만들었다고 하였을때 ,SetGraphicsRootDescriptorTable 함수인자에 핸들값을 넣을때RootSignature 에서는 b0~b5 ,t0~t5 의 총10개를 사용한다고 서명했기떄문에 ,DX에서 읽을때 10개단위로 읽어주기 때문에 선두에 있는 handle 값만 넣어주는 방식이 맞나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
장치 초기화 nullptr이 자꾸 발견 되네요.
Engine.cpp 파일에서_device->Init();cmdQueue->Init(device->GetDevice(), swapChain, descHeap);swapChain->Init(info, device->GetDXGI(), _cmdQueue->GetCmdQueue());descHeap->Init(device->GetDevice(), swapChain);이부분에서 자꾸 하나씩 nullptr이 발견되네요. 처음엔 제가 틀리게 작성한 부분이 있겠지해서 swapChin에서 nullptr이 나와서 찾아보다가 나중엔 그냥 자료파일로 덮어쓰기를 했는데도 이번엔descHeap->rtvHeap이 nullptr이라는 오류 메시지가 나오네요. 강의자료를 복붙해도 나오는nullptr은 어떻게 해결해야 할까요 ㅠ
-
미해결[게임 프로그래머 입문 올인원] C++ & 자료구조/알고리즘 & STL & 게임 수학 & Windows API & 게임 서버
질문드립니다.
강의에 혹시 다이렉트x 내용도 있을까요?없다면 다른 강의 중에 다룬 게 있을까요?