묻고 답해요
148만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[게임 프로그래머 도약반] DirectX11 입문
첫 강의 pch.h 작성 단계에서 LNK1104 오류가 납니다 ㅠ
pragma comment로 불러오는 다른 lib들은 다 에러 없이 넘어가는데요,정작 걱정했던 DirectXTex 들은 조용하지만LNK1104 'd3dcompiler.lib' 파일을 열 수 없습니다.저 d3dcompiler친구만 오류를 뿜뿜합니다ㅠ 이를 어쩌면 좋을까요 선생님😣
-
미해결[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++과 언리얼로 만드는 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 값만 넣어주는 방식이 맞나요?
-
미해결D3D12 프로그래밍 - 기초편
질문있습니다.
안녕하세요 공부하다가 몇가지 궁금한게 생겨 여쭤봅니다. 질문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)제가 이해한게 맞는건지 모르겠습니다. 현재 영천님 의 코드처럼 pool 방식으로 디스크럽터를 넓게만들어두고 할당받는 방식으로 코드를 만들어보고있는데질문1의 방식처럼 rootSignature 를 만들었다고 하였을때 ,SetGraphicsRootDescriptorTable 함수인자에 핸들값을 넣을때그림에 빨간 화살표에 있는 선두에 있는 handle 값만 넣어주면RootSignature 에서는 b0~b5 ,t0~t5 의 총10개를 사용한다고 서명했기떄문에 ,DX에서 읽을때 10개단위로 읽어주기 때문에 10개가 모두 테이블에 바인딩되는 구조인가요?다음 오브젝트를 그릴때는 , 오프셋 10칸을 건너뛴 다음 b0 부터 할당받아서 테이블에 바인딩해주고
-
미해결[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은 어떻게 해결해야 할까요 ㅠ
-
미해결[게임 프로그래머 도약반] DirectX11 입문
노트북에서 정점만 보이는 버그
데스크톱에서 잘 돌아가다가 노트북 쓸 일이 있어서 그 프로젝트 파일 그대로 노트북에 옮겨서 하려는데 오브젝트들이 점으로만 나타나고 그려지지 않아요.. 왜그런건가요? gpu문제인가요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
pch 에 문제가 생긴 것 같습니다!!!!!
미리 컴파일된 헤더로 설정해 놓은 pch.h 파일에서 유독 #include "Transform.h" 를 못 받아들이는 것 같습니다. 계속해서 "'Transform': 선언되지 않은 식별자입니다." 라는 오류가 발생하고 신기한 건 #include "Transform.h"의 위치를 윗줄로 옮기면 그 밑에서 include 해주는 헤더파일도 동일하게 못받아들이고 "선언되지 않은 식별자입니다" 라고 에러를 뱉고 있습니다. 이런 경우는 어떤 해결 방법이 있을까요?ㅜㅜㅜㅜㅜㅜㅜㅜㅜ
-
미해결[게임 프로그래머 도약반] DirectX11 입문
2주차 좌표계 변환 공부하다가 의문이 생겼습니다.
물체의 위치를 좌표계 변환할 때와 방향벡터를 좌표계 변환할 때 위치 벡터의 표현이 달라진다고 배웠습니다. 그런데 방향벡터는 실제 게임 상에서 어떤 것들을 표현하기 위해서 사용되는지 궁금합니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
그림자 관련 질문입니다.
강의 잘 듣고 하나씩 적용 해 보고 있습니다. 그런데, 그림자에 궁금증이 생겨서 질문드립니다. 최종적으로 적용하고, 이런 느낌으로 되었는데, 그림자 적용 범위가 좁은 것 같아서, 바운딩 스피어의 Radius를 넓히는 식으로 해봤지만 범위는 넓어져도 그림자 농도가 너무 옅어지거나, 수치가 커지면 거의 안 보이는 수준이 되던데, 혹시 해결 방법이 있을까요? 텍스처 크기만 늘린다고 되는 문제는 아닌 거 같아서 질문 드립니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
assimp 로 파일 저장후 로드할때 Release 모드로 하면 프로그램이 터집니다..
Assimptool 로 debug 모드인상태에서 파일데이터를 다시 저장한후 ,읽어드리면 정상적으로 작동하지만 , release 모드로 바꿔서 파일저장후 읽어드리면 메모리가 계속올라가면서 무한 대기상태에걸립니다. 혹시왜그럴까요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
DirectXTex_debug.lib 파일 문의
섹션 1. DirectX11 입문 (1주차) 기본 프레임워크에서 DirectXTex_debug.lib 파일을 구하기 위하여 DirectXTex_Desktop_2022 솔루션을 Visual Studio 2022에서디버그 모드로 빌드를 해도 파일이 보이지 않습니다. 빌드할 때 빌드 구성(Configuration)을 ‘Debug’로 설정하고, 플랫폼을 ‘x64’ 로 선택 후 빌드하였습니다.빌드 과정에서 에러는 없었구요. DirectXTex_debug.lib 이 파일은 어떻게 얻을 수 있나요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
용 모델에 분명 Diffuse 텍스쳐가 있는것같은데 왜 적용이 안되나요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 리소스를 보면 groundColor라고 디퓨즈텍스쳐가 있는데 왜 적용이 안되는건가요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
안녕하세요 질문있습니다
for (int i = 0; i < vmesh.size(); ++i){_shader->SetPipelineState();core->GetCmdList()->IASetVertexBuffers(0,1,&_v_mesh[i]->GetVertexView());core->GetCmdList()->IASetIndexBuffer(&_v_mesh[i]->GetIndexView());_transform->Update();core->GetTableHeap()->BindTexture(_texture->GetCpuHandle(), SRV_REGISTER::t0);core->GetTableHeap()->CommitTable();core->GetCmdList()->DrawIndexedInstanced(_v_mesh[i]->GetIndexCount(), 1, 0, 0, 0);} DX11 버전에서 제공해주신 모델 탱크 를 로딩하려고Assimp 를 사용하였는데 , vmesh 사이즈가 12이라12번 계속 반복해주는 코드를 작성하였는데 _v_mesh[0] 번째 정보만 바인딩되는데 문제가뭘까요..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
DirectX11 강의 질문
안녕하세요 완강하고 질문드립니다. 루키스님 말씀대로 모든걸 다 이해하기보다는 개념적인 부분은 개념으로 듣고 많은 부분들을 들을 수 있어 감사합니다. 그래도 아직 부족함을 느끼고 어려운 개념들이 너무 많아서 DirectX 11 강의도 볼 까 고민중인데 이 강의랑 비슷한 맥락으로 진행되는지 궁금합니다. 차이가 있다면 어떤차이가 있는지, 해당강의를 들을것을 추천하시는지도 궁금합니다.
-
미해결[게임 프로그래머 도약반] DirectX11 입문
LoadFromWICFile() 함수를 쓰는데 LNK2038에러가 뜨는데 이유를 모르겠습니다
인터넷에 찾아보니 구성 속성" > "C/C++" > "코드 생성" > "런타임 라이브러리 를 /MT 나 /MD 로 맞춰주라고 해서 맞추기도 해봤는데 계속심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 LNK2038 '_ITERATOR_DEBUG_LEVEL'에 대해 불일치가 검색되었습니다. '0' 값이 '2'(Game.obj에 위치) 값과 일치하지 않습니다. 가메코딩 C:\Users\shhmu\Desktop\GameCoding_tmp\가메코딩\DirectXTex.lib(DirectXTexImage.obj) 1 심각도 코드 설명 프로젝트 파일 줄 비표시 오류(Suppression) 상태 세부 정보 오류 LNK2038 'RuntimeLibrary'에 대해 불일치가 검색되었습니다. 'MD_DynamicRelease' 값이 'MTd_StaticDebug'(Game.obj에 위치) 값과 일치하지 않습니다. 가메코딩 C:\Users\shhmu\Desktop\GameCoding_tmp\가메코딩\DirectXTex.lib(DirectXTexImage.obj) 1 이런 에러가 나타나는데 어떻게 해야 할까요??
-
미해결[게임 프로그래머 도약반] DirectX11 입문
using Super 문법이 무엇인가요
제가 옛날 c++로 배우고 또 검색해도 잘 안나오던데using Super = Shader;가 무엇을 의미하는지 궁금합니다. 추측하기로는 부모 클래스가 무엇인지 지정해주는 것 같은데 이미 Shader를 상속받았는데 왜 이 키워드를 작성하는 것일까 궁금하네요
-
미해결[게임 프로그래머 도약반] DirectX11 입문
애니메이션에 글로벌로 이동할떄 제가이해한게맞는지요
뼈대의 로컬 행렬에 애니메이션변환행렬을 곱하면 글로벌로가는게 제가 이해하는게맞나요?제가 작업할때 자꾸 뼈의 글로벌행렬에 애니메이션을 곱해서 잘안되었는데 이제보니 로컬행렬에 애니메이션만 곱해줘도 알아서 글로벌로 이동하는 형식인것같더라구용 뼈에 부모행렬을 곱해준것이아닌 로컬행렬에 그냥 애니메이션행렬만 곱해주면 알아서 글로벌로 가는거 맞나요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
스마트포인터에 대해질문있습니다
안녕하세요 gamobject 객체에서 addcomponet 를 호출 하여 weak_ptr 로 gameject 를 componet 클래스에서 참조하고있다고 할때 gameobject 가 소멸하면 component 도 소멸하는건가요?