월 59,400원
5개월 할부 시다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
LosdShaderFromFile 매개변수 string(2)
삼각형 띄우기 31분 쯤 나오는 LosdShaderFromFile함수 작성시에 저는 string 헤더 추가하라고 오류가 뜹니다. (물론 추가 하는게 문제는 아닌데,) 선생님께서 올려주신 파일을 보니 별도로 추가 되어있지 않아서요,,,, 궁금해서 올려봅니다(너무 하찮은 질문이지만...ㅜㅜ ) 근데 using namespace std; 는 이미 pch에 저도 추가되어 있습니다...ㅠㅠㅠ선생님 파일을 받아서 열어보아도 저와 같이 오류가 뜹니다. 저는 현재 VS 2022를 쓰고 있습니다. VS 설정이나 기타 확장도구, 템플릿 등의 문제일까요? ㅜㅜ
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
답변을 안 주셔서 리마인드 성격의 인용글 올립니다.
확인 부탁드립니다.https://www.inflearn.com/questions/1115271/%EC%84%B9%EC%85%9810-rawbuffer%EC%9D%98-result%EB%B2%84%ED%8D%BC-%EC%83%9D%EC%84%B1%EC%8B%9C-%EC%A7%88%EB%AC%B8
- 미해결[게임 프로그래머 도약반] DirectX11 입문
안녕하세요 제가맞게 생각하는건지 모르겠습니다
항상 화면에서 보이는것은 원점을 기준으로 z축방향을 바라보고있기떄문에 사실상 카메라라는것은 존재하지않고 모든 물체에다가 뷰변환을 적용시켜서 , 카메라를 움직이는게 아닌 물체를 원점으로 끌고와서 그려주는것이 맞는건가요 ?
- 미해결[게임 프로그래머 도약반] DirectX11 입문
D3D11CreateDeviceAndSwapChain이 실패합니다
안녕하세요 루키스님, 덕분에 좋은 강의 잘 듣고 있습니다.이 문제는 두번째 강의에서 직접 실습하다가 발생했습니다.D3D11CreateDeviceAndSwapChain 함수 실행 후에 hr에 0x887A0001가 담긴 것을 확인하고 검색해봤더니 공식 문서에 "애플리케이션에서 잘못된 매개 변수 데이터를 제공했습니다. 애플리케이션이 해제되기 전에 디버그하고 수정해야 합니다."라고 적혀있었습니다.그런데 저는 루키스 님의 코드와 완전히 동일하게 작성했으며 설정 역시 동일하게 했습니다. 또한 혹시 몰라서 그래픽 툴이 설치되어 있는지도 확인했습니다.프로젝트를 새로 만들고 잘못된게 있나 반복해서 원본이랑 비교 대조를 해봐도 동일한 증상을 보입니다. 반면에 수업자료 파일에 올려주신 솔루션파일은 문제 없이 작동합니다.제가 어떤 것을 놓지고 있는지 감이 안잡힙니다. 이런 에러가 발생하는 전형적인 이유가 무엇인지 궁금합니다. winmain 함수가 있던 파일만 아예 새로 작성하니깐 해결됐습니다. 아마 윈도우 핸들 부분을 잘못 건드렸던 것 같습니다.
- 미해결[게임 프로그래머 도약반] DirectX11 입문
엔진을 맵툴로 활용 할수있나요?
안녕하세요3D 포폴을 다렉으로한번 만들어보고싶은데 맵툴을 따로 만들지않고 언리얼이나 유니티엔진에서 모든 오브젝트를 불러와서 배치시킨다음에정보를 저장한다음 , 불러들여서 활용할수도 있나요?
- 미해결[게임 프로그래머 도약반] DirectX11 입문
LosdShaderFromFile 매개변수 string
삼각형 띄우기 31분 쯤 나오는 LosdShaderFromFile함수 작성시에 저는 string 헤더 추가하라고 오류가 뜹니다. (물론 추가 하는게 문제는 아닌데,) 선생님께서 올려주신 파일을 보니 별도로 추가 되어있지 않아서요,,,, 궁금해서 올려봅니다(너무 하찮은 질문이지만...ㅜㅜ )
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
섹션10 RawBuffer의 _result버퍼 생성시 질문
안녕하세요.섹션10 RawBuffer의 _result버퍼 생성시 BUFFER_DESC 설정 부분 질문 드립니다."B-14)+Viewport" 샘플 코드를 참조하였습니다. RawBuffer.cpp (줄: 120) 을 보면 아래와 같이 작성해주셨는데요void RawBuffer::CreateResult() { D3D11_BUFFER_DESC desc; _output->GetDesc(&desc); desc.Usage = D3D11_USAGE_STAGING; desc.CPUAccessFlags = D3D11_CPU_ACCESS_READ; desc.BindFlags = D3D11_USAGE_DEFAULT; // UAV가 연결되려면, USAGE는 DEFAULT여야 함. desc.MiscFlags = 0; CHECK(DEVICE->CreateBuffer(&desc, nullptr, _result.GetAddressOf())); }desc.Usage 에 USAGE_STAGING 을 주셨는데, 아래 BindFlags 옆 주석으로는 "Usage 는 DEFAULT 여야 한다"고 적어주셔서 혼란스럽습니다. 그리고 BindFlags 에 USAGE_DEFAULT 를 주셨는데, 의도 된 값인지, 의도한 값이 아니라면 어떤 Flags 를 주어야 하는지 궁금합니다.감사합니다.
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
Graphics강의 생성자에서 멤버함수 호출
Graphics 11:15 시간에 생성자함수에서 멤버함수를 호출하는데 큰 문제가 되지는 않나요? 검색했을 때 가상함수만 아니면 괜찮다는 글이 많긴 하던데 보통 멤버 함수를 호출해야 하는 경우에는 Init()함수를 따로 만들기만 했었습니다.그리고 언리얼에서는 생성자 함수에서 멤버함수 포인터를 사용하는 경우에도 에러가 발생했었기 때문에 함수 포인터를 사용하는 경우에는 BeginPlay 함수에서 호출했었습니다.
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
Vertex 종류에 관하여 질문
강사님 Mesh에 장착하는 Geometry<T>에 관하여 질문이 있습니다.강사님이 강의를 진행하실때는 Geometry를 만드시면서 Vertex를 손수 타입지정(T)을 해주시는걸 보고 실제 유니티에서는 어떻게 적용되어있나 들어가서 확인해 봤더니 기본 도형들(Mesh) 같은 경우 전부 동일한 Vertex 타입을 사용했지만 외부에서 다운받아 온 Mesh 같은 경우엔 이것이 StaticMesh이건 SkeletalMesh이건 Vertex 타입이 조금조금씩은 다른 정보들을 가지고 있더라고요.그래서 유니티 공식 메뉴얼를 찾아봤더니 Vertex 타입은 하나만 쓰고 그중 가져온 모델이 필요로 하지 않는 정보가 있을 경우엔 그 항목을 비활성화 한다고 하더라고요.가져온 모델이 어떤 Vertex 타입을 사용하는지 어떻게 알고 이걸 안다고 쳐도 비활성화는 어떻게해서 vertex 버퍼를 만드는지 알 수 있을까요?
- 미해결[게임 프로그래머 도약반] DirectX11 입문
프로젝트 설정 38분 질문있습니다.
강의 진행하는데는 크게 문제가 없는데Client프로젝트를 빌드하는 과정에서SimplatMath.h에서 938줄에 주석해놓은 부분에서 .inl파일을 못 찾는거같아임시용으로 경로 하드 코딩해서 넣어주었습니다.Engine 프로젝트 속성에서 C/C++ ->General에서 경로를 아래와 같이 추가적으로 더 넣었고 Linker -> Genral에서도 아래처럼 경로를 추가적으로 넣어주어도 SimpleMath.inl 파일 경로를 못찾던데 이럴경우 어떤 방법이 있는지 궁금합니다.(현재 솔루션 Dir/Engine폴더에 SimpleMath.h, SimpleMath.cpp, SimpleMath.inl같이 있습니다)
- 미해결[게임 프로그래머 도약반] DirectX11 입문
코드를 따라치는것이 의미가 클까요?
안녕하세요 유니티 엔진 시리즈나 클리커 게임 등 루키스님이한땀한땀 코드를 쳐가며 진행하시는 수업은 저도 따라쳐가며학습하고 있습니다. 그러다 문득 "따라치는 데 너무 시간이 많이 드는 것이 아닐까"라는 생각이 들더군요. 저의 경우에는 따라치면서 강의를 수강하는 것은 그냥 보는것 보다 시간이 2배 더 걸렸습니다. 루키스님은 이에 대해 어떻게 생각하시나요?
- 미해결[게임 프로그래머 도약반] DirectX11 입문
코드 따라가다가 오류가 발생했는데
예제코드 실행시키니 저렇게 나와서그 전 단계 코드부터 진도나가다가 AssimpTool 빌드 할때면저렇게 뜨네요 ㅠㅠ
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
Reflection은 어떤 식으로 구현하나요?
수업 내용과는 관련이 없을 수도 있을 것 같은데, 개인적으로 dx 포폴에 리플렉션을 구현해 보고 싶어서 궁금해서 찾아보다가 해결이 안 되어서 질문 남깁니다.금속이나 물, 거울 등 반사되어 렌더링 하는 물체는 카메라의 높이나 각도에 따라 실시간으로 새로 그려지는데 이건 어떤 식으로 구현하나요? 1주차에 배운 samplerstate의 mirror를 활용하게 되는건지..제가 고민해 본 방법은 주변 환경을 실시간으로 캡처해서 캐시로 만들고 큐브맵으로 텍스처를 재가공해서 사용하면 될까 싶은데 어렴풋이 떠올리는 방법이랑 실제 구현의 갭은 너무 크네요 ㅜㅜ리플렉션 종류가 많고 해서 너무 광범위한 질문일 거 같은데 디테일하게 질문할 실력이 안되어서 죄송합니다. 참고할만한 책이나 자료라도 추천해주시면 감사하겠습니다.
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
27:28 관련 질문입니다
자기 자신을 기준으로 하는 행렬에서 루트를 기준으로 하는 행렬로 변환하기 위해서는 "루트까지 부모의 월드를 곱한다" 라고 말씀해주셨는데,"부모의 월드"라는게 잘 이해가 가지 않습니다. 월드 행렬이 왜 개입하는건가요 ? 루트까지 부모의 SRT를 곱한다가 맞는 것 아닌가요 ??만약 루트까지 부모의 월드 행렬을 곱한다면 그냥 자기 자신의 월드 행렬이 나오지 않나요 ? 이해가 잘 가지 않아 질문드립니다.
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
17:10 퀴즈에 관련된 질문입니다
퀴즈의 내용은 LeftFoot의 월드 행렬은 어떻게 구하는가 ? 입니다.해당 퀴즈를 보고, 왜 인지는 모르겠지만 갑자기 햇갈리는 부분이 생겨서 질문 드립니다.만약 계층 구조가 Root| +-- Parent| +-- Child 이런식으로 되어있다고 가정했을 때, child의 월드 행렬을 구하고 싶다면child_L X parent_W 이렇게 해도 되고, child_L X parent_L X root_L 이렇게 해도 되는건가요? 만약 저렇게해서 된다면 child_L X parent_W X root_W를 하면 child는 parent와 root의 하위 객체라는 뜻이니까 이렇게 해도 child의 월드 행렬이 나오나요 ?
- 미해결[게임 프로그래머 도약반] DirectX11 입문
VertexBuffer와 InstanceBuffer 구별법
저희가 만든 VertexBuffer는 StartSlot을 0번에 바인딩 하고 InstanceBuffer는 StartSlot을 1번 바인딩 한 다음에 따로 파이프라인에게 두 버퍼중에 어떤게 VertexBuffer이고 어떤게 InstanceBuffer인지 알려주지 않아도 되는 이유는 Shader쪽에서 InputLayouut읆 만들때 InstanceBuffer일 경우 강제로 1번 슬롯에 바인딩 될 것 이라고 만들어 줘서 그런건가요? Shader쪽 코드를 좁 분석해 보니까 InputLayout을 생성할때 지정자 이름에 "INST"가 들어가면 InputSlot을 강제로 1로 변환해주는 부분이 있어서요제가 생각한게 정답이 맞는지 궁금합니다
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
ReadModel 에서 메모리 누수가 감지 되는데 이유를 모르겠습니다.
CRT 라이브러리를 활용하여 위 사진처럼 메모리 누수가 뜨고 있는 걸 확인했습니다. 찾아보니 ReadModel 함수에서 발생하였고 bone->parentIndex = file->Read<int32>(); 에서 누수가 나는걸 확인했습니다. 저 부분을 주석 처리하면 누수가 나지 않음을 확인했고, kachujin 외에 dragon, tower 등 다른 fbx 파일들도 예외 없이 저 부분에서 누수가 났는데 계속 찾아보고 고민해봤는데도 왜 crtdbg 에 메모리 누수로 잡히는지 이해가 안됩니다. Read 함수 구현 부분 입니다. 너무 궁금해서 처음으로 질문 남겨봅니다.. !
- 미해결[게임 프로그래머 도약반] DirectX11 입문
4강 삼각형 띄우기 LoadShaderFromFile() 함수
LoadShaderFromFile(L"Shaders.hlsl", "VS", "vs_5_0", _vsBlob); 에서 "VS" 부분에서 E0434 "std::string &" 형식(const 한정 형식 아님)의 참조를 "const char [3]" 형식의 값으로 초기화할 수 없습니다. 오류가 뜹니다해결방법을 모르겠습니다
- 미해결[게임 프로그래머 도약반] DirectX11 입문
사전에 들어야 할 강의
강의마다 계속 "WinAPI 강의에서 배웠다" 라고 말씀을 하시면서 진행을 하시는데, 혹시 해당 강의 보기전에 WinAPI 강의를 사전에 봐야했던건가요 ?
- 해결됨[게임 프로그래머 도약반] DirectX11 입문
T-Pose Local에서 Animation-Pose Global로 변환
애니메이션 강의를 듣던 도중 T-Pose의 Global->Local 행렬에서 Animation-Pose의 Local->Global 행렬을 곱해주어 Vertex의 좌표를 애니메이션 기준으로 바꾸어 주는 부분이 이해가 가지않아 질문드립니다.가장 마지막줄인 invGlobal이 T-Pose의 Global->Local 행렬이고 tempAnimBoneTransforms[b]가 Animation-Pose의 Local->Global 행렬인데 저 두 행렬에 어떠한 상관관계도 없다고 생각되는데 단지 이렇게 곱해주기만 한다고 해서 T-Pose의 Global이 어떻게 Animation-Pose의 Global로 변환이 될 수 있나요?제가 이러한 의문을 제기하는 이유은 두가지 입니다.1. 두 행렬이 동일한 Bone을 기준으로 변환이 되는 행렬들이라고 해도 Animation-Pose에서는 그 Bone이 움직여서 만들어진 행렬이기 때문에 동일한 좌표계라고 생각할수 없다.2. 지금까지 T-Pose의 Local->Global 또는 Animation-Pose의 Local->Global로 변환이 되는 행렬들은 전부 자신과 부모간의 계층구조에 의해서 좌표값이 상대적으로 구성된 아이들이였는데 사진에서 나온 InvGlobal과 tempAnimBoneTransforms[b]는 계층관계도 있지 않습니다.글이 길어서 죄송합니다 계속 생각해봐도 잘 이해가 가지 않아 질문드립니다.ㅜ