묻고 답해요
130만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[게임 프로그래머 도약반] DirectX11 입문
혹시 vcpkg를 안쓰시는 이유가 있나요?
라이브러리를 빌드해서 쓰시는거 같은데 혹시 vcpkg를 안쓰시는 이유가 있나요?
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
rendermanager 구조정리 질문
안녕하세요 rendermanager 구조정리 강의를 듣기전에 여러 shader 를 이용하기 위해서 rendermanager 를 바꾸려고 고민해봤습니다. 강사님처럼 shader class 내로 포함시키는 것도 고민해봤는데 그러면 강사님께서 말씀했다시피 camera 나 light 에서 데이터를 psuh해주는 부분이 애매해지더라구요 그래서 저는 rendermanager 에서 constantbuffer ,effectbuffer 를 unorderedmap<uint64, 버퍼> 이런식으로 shader 주소를 이용해서 해쉬맵을 만드는 방법을 생각해봤습니다. RENDER->init(shader) 를 하면 그 셰이더를 위한 버퍼들을 map 에 추가하고 RENDER->push 할때 인자로 shader 를 주면 unorderedmap 에서 그 셰이더에 맞는 버퍼를 이용하고 인자를 주지 않으면 모든 shader 에 데이터를 넣주는 방식으로요 (카메라 라이트용) 그런데 제가 느끼기에는 강사님이 하신것처럼 shader class 에서 처리를 해주는게 더 깔끔하고 직관적으로 보이는데 혹시 강사님께서는 rendermanager 에서 모든 셰이더들의 버퍼를 저장해놓고 shader를 인자로 받아서 처리하는 거에 대해 어떻게 생각하시는지요 좋은 강의 감사합니다!
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
output.worldPosition 질문드립니다
worldPosition을 따로 저장해야하는 이유는 버텍스 쉐이더로 넘어가게 되면 결국 스크린좌표계로 까지 변환이되어서 원하는 좌표로 남지 않아서 된다는 것은 이해했습니다.강의에서보면 output.worldPosition = input.position;로 저장하게 되는데 이렇게 저장하게되면 로컬 좌표계로 저장이되기 때문에output.position = mul(input.position, W);output.worldPosition = output.position;이렇게 저장해야 해당 모델의 월드좌표계가 저장되는 것이 맞는것 같은데 혹시 제가 잘못 이해한 부분이 있을까요?
-
미해결[게임 프로그래머 도약반] DirectX11 입문
애니메이션 모델 버텍스 질문
안녕하세요탱크 모델에서 렌더링 할때는 주어진 vertex 위치가 로컬기준이라 root 기준으로 바꾸지 위해서 bonetransformation 을 곱해줬잖아요카츄진을 애니메이션 렌더링 할때 셰이더에서 (글로벌에서 로컬로 invGlobal) * (변환1 변환 2 변환3..) 이런식으로 곱해주는데 제가 이해하기로는 이러면 주어진 vertex가 글로벌 기준 버텍스인듯 한데 보통 이런 t자 모형의 skeletalmesh 는 주어지는 vertex position이 global 기준인가요? 감사합니다.
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
Shader Pass 질문드립니다
DIrectX 학습하면서 이 부분이 되게 충격적으로 다가왔습니다.편리성이 엄청난데 이 pass 라이브러리는 "FX11/Effects11d.lib"에서 기능이 제공이 되어 있는건가요? 아니면 루키스님이 직접 만드신 방법인가요?그리고 실제 엔진개발에서 많이 사용되는 라이브러리 인가요?마지막으로 hlsl과 fx의 차이를 검색해서 알아보니 fx는 조명효과 같은 곳에 사용한다는데 hlsl과 차이가 무엇인가요?항상 강의 감사하게 듣고있습니다 감사합니다!
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
normal 을 월드계로 바꿀때 worldinvtranspose
대학교수업때나 물방울책에서 배울때 normal 은 worldinvtranspose 를 곱하라고 배웠는데어떤 셰이더 책이나 선생님께서는 world 를 곱하라고 하셔서요보통 SRT = (SRT)^-t 라서 상관없나요?어짜피 normalize될때 상쇄될까요?
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
다이렉트 강의 수강 전 <c++이외에 보충학습?>
안녕하세요 루키스님!이제 막 c++를 끝내고 directx11 강의를 듣고 있는 중인데요.기본프레임워크 강의를 듣는 중 루키스강사님께서 중간에 이전 강의때 배웠던 것들이죠?라는 식으로 강의를 진행하는 부분들이 꽤 있어서 여쭤봐요 ㅠㅠ그냥 이해할 필요 없이 따라서 치면 되는 코드들인지,알고 있다는 가정 하에 넘어가는 것인지,아니면 제가 따로 구글링 학습 해야 하는 것인지,햇갈려 질문 올립니다!!
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
초기화 디버깅 응용프로그램 오류
안녕하세요 강의 잘 듣고있습니다 코드를 따라 치고 실행을 시켰는데처음엔 d3d12.dll 파일이 없다고 해서 다시 다운받고 프로시저 시작지점uncaught_exceptions 가 api-ms-win-crt-private-l1-1-0.dll에서 찾을수 없다고 해서 api 파일도 다시 교체 해서 실행 시켰는데응용 프로그램 오류가 뜹니다 찾아보니 메모리 상에 문제가 있다고 나오는데 어떻게 해줘야 해결될지 감이 안잡혀서 질문을 남겨봅니다!혹시나 윈도우 7을 사용해서 나타나는 문제가 있을수도 있는지도 궁금합니다
-
해결됨[게임 프로그래머 도약반] DirectX11 입문
Lib 파일
제 실수로 일어난 문제였네요 ㅎ$(SolutionDir)Libraries/Lib/ 잘 동작합니다 강의는 너무 잘 듣고 있습니다 완전 좋습니다! b
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
디버그 출력창 에러
항상 좋은 수업 정말 감사합니다.다름이 아니라 Camera 강의를 듣는 도중 출력창에 에러가 떠서 궁금하여 질문드립니다.실행은 잘 되지만 선생님께서 제공해주신 예제 또한 같은 에러가 창에 출력되어 딱히 문제가 되는 것은 아닌지 궁금합니다. 이후에도 제공해주신 예제에서 같은 오류가 뜨는 거 같아 질문 드립니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Instancing을 사용하지 않고 256개 이상 그려지지 않습니다.
제가 학교 과제 하면서 사용하려고 간단한 게임을 제작하려고 하는데 네모 버퍼가 256개 이상 그려지지 않습니다. Descriptor의 버퍼 같은 경우는 무슨 상황인지 알겠는데 Mesh 자체가 256개 이상 그려지지 않는 상황이 발생했습니다. 도대체 왜 그런지 모르겠는데 그 이유를 아시나요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
올인원 강의 내용중 API와 게임수학 내용이 리뉴얼때 적용이 될까요?
안녕하세요 루키스님.저는 c#과 유니티로 만드는 MMORPG 풀버전을 소장하고 있고, (+개미)c++강의중 게임서버와, 게임수학과 다렉 강의를 소장하고 있습니다.그래서 이미 올인원 강의 커리큘럼 중 상당부분을 위 과정에서 학습을 했고, 다렉 강의만 현재 강의보다 더 많은 정보가 있어서 그것만 보고 구매하기엔 조금 그렇지 않나 생각이 들어서요.다렉 강의 리뉴얼때, 위 올인원 강의 커리큘럼 중 API와 게임수학 내용이 적용이 될까요?다른건 모두 학습 완료했고 다렉 강의 리뉴얼 되면보려고 리뉴얼 소식만 기다리고 있습니다.좋은 강의 만들어 주셔서 감사합니다.
-
해결됨[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
SkyBox Depth.
SkyBox가 렌더링 될때 같은 깊이값을 가지고 있으면 물체를 가릴 수 있다.그래서 SkyBox는 기본적으로 가장 먼 깊이 값을 가지고 있다. (0 ~ 1 에서 1?) 그리고 SkyBox는 가장 먼저 렌더링된다.SkyBox는 가장 먼저 렌더링됨으로써 같은 깊이값을 가진 다른 개체가 생성되더라도 SkyBox가 해당 개체를 가리는 것이 아닌 개체가 SkyBox의 앞에 렌더링된다?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
강의 소스코드에 대한 질문입니다.
게임엔진을 제작하는 강의들을 보면 다수의 강의들의 구조를 보면 되게 비슷한 부분들이 많은데만약에 제가 이런 구조를 바탕으로 다시 만들어서 깃허브에 작성하게 되면소스코드에 대한 저작권같은게 있을까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Normal Mapping 질문.
Texture를 일반 Color Texture와 텍스쳐의 질감을 나타내는 Normal Texture로 분할함.Normal Texture는 각 픽셀에 해당하는 Normal Vector값을 가지고 있음Normal Texture가 푸른 빛을 띄는 이유는 RGB 값을 X,Y,Z축으로 표현할 수 있는데 Z축은 기본적으로 텍스쳐에서 조명방향이고 이를 통해 텍스처의 각 픽셀이 조명방향으로 얼마나 입체감을 나타내느냐( ex) 움푹 파인 정도? => -1에 가까울 수록 움푹 파임. 1에 가까울 수록 튀어나온다?)Texture가 덧씌워진 물체는 움직일때마다 좌표가 바뀜. 좌표가 바뀌는 것을 모두 고려하여 Normal Texture를 준비하는 것은? => 좋은 방법이 아님그래서 기본적으로 해당 Normal Texture가 가지고 있는 좌표계가 있고 이를 TangentSpace라고 함.접하는 평면을 기준으로 좌표계를 구함.TangentSpace의 T, B(X축, Y축) 좌표계는 위의 그림으로 표현할 수 있음.해당 그림의 법선벡터값을 Normal Texture에 기입함.해당 TangentSpace를 활용하기 위해서는 카메라좌표계(우리가 바라보는) 좌표계로 변환할 필요성이 있음 TangentSpace => ViewSpace 변환실제 Object가 움직일때 변환된 ViewSpace에서 법선벡터 값을 이용하여 Texture의 질감(움푹 패인 정도 => 곡률?)을 나타낼 수 있음. 요약- 기본 Texture의 법선 벡터 값을 담은 Normal Texture가 있다.- 해당 Normal Texture는 별도의 좌표계가 있으며 이를 TangentSpace라고 부른다.- TangentSpace에서의 법선벡터 값은 Z축(B) 에 가까운 경우가 많다. 그래서 NormalTexture는 푸른빛(B)에 가까운 형태로 표현된다.- TangentSpace는 NormalTexture의 별도 좌표계이므로 카메라(우리가 바라보는) View Space로 변환될 필요성이 있다.- View Space로 변환 후 법선벡터의 값을 이용하여 텍스쳐의 질감을 나타낼 수 있다. (움푹패인 정도? => 곡률)위의 요약이 전달해주시려는 내용을 잘 요약한것인지가 궁금합니다..질문이 너무 장황해서 죄송합니다..
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
FOV(Θ)값에 대한 질문.
Projection Space를 구할 때 Θ값에 따라서 카메라가 보여줄 수 있는 구간이 넓어지거나(Θ가 증가) 좁아질것(Θ가 감소) 이라고 생각됩니다.그렇다면 Θ값은 어떻게 설정되어지는 걸까요? 일반적으로 사용되는 값이 존재하는 것(임의의 Up벡터 같이) 인지 아니면 상황에 맞게 가변적으로 변하는 것인지가 궁금합니다.만약 가변적으로 변한다면 어떤기준으로 변할까요?- 사용자 지정- 다른 기준?그리고 영상에서는 Y축 기준으로 Θ값 예시를 설정하신것 같은데 설정한 Θ값은 X축에서도 동일하게 적용될까요?그리고 투영되는 형태에 대해서 제 나름대로 생각해본 것인데 맞는지가 궁금합니다.6. X에 적용되는 Θ값과 Y에 적용되는 Θ값이 동일한지가 궁금합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
선생님 FPS가 60프레임으로 고정되는데 해제할수있나요?
FPS가 60으로 고정되는거같습니다
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
.
커뮤니티 다른 글 확인해보니 작년에 음질 문제 생겼던 부분은 조용히 업데이트됐었네요. 아무 소식 없어서 계속 기다렸었는데 새소식에도 올려주셨으면 좋았을 것 같습니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
디바이스의 _debugController 가 nullptr입니다
빠진게 없는거같은데 null이네요 ::D3D12GetDebugInterface(IID_PPV_ARGS(&_debugController)); 구문에서 받아오는거같은데 잘못받아오는거같습니다... ㅠㅠ
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
RenderShadow 를 먼저 하는 이유
안녕하세요, 혹시 RenderShadow 를 RenderLight 보다 먼저하는 이유가 뭘지 궁금해서요. 저가 생각한건 RenderShadow 는 실제 Shadow 를 그리는게 아니라, 깊이 비교만하고 나중에 RenderLight 하기전에 그리는것 같은데 맞을까요?