
Windows System 프로그래밍
₩165,000
초급 / windows-programming, C++, microsoft-visual-c++, 운영체제, system-programming
5.0
(5)
Windows용 게임과 어플리케이션을 개발하기 위한 필수 Windows System프로그래밍 기술을 알려드립니다.
초급
windows-programming, C++, microsoft-visual-c++
프로그래머
C++,x86/x64 ASM, DirectX9/11/12, Metal, OpenGL, CUDA, win32, winsock/bsd socket
Blog : https://megayuchi.com
Youtube : https://youtube.com/megayuchi
LinkedIn : https://www.linkedin.com/in/megayuchi/
Windows System 프로그래밍
₩165,000
초급 / windows-programming, C++, microsoft-visual-c++, 운영체제, system-programming
5.0
(5)
Windows용 게임과 어플리케이션을 개발하기 위한 필수 Windows System프로그래밍 기술을 알려드립니다.
초급
windows-programming, C++, microsoft-visual-c++
Windows Debugging Tips
₩99,000
초급 / debugging, debugger, windows-programming, C++, C
5.0
(4)
아무도 알려주지 않는 Windows 디버깅 기술을 배워봅시다.
초급
debugging, debugger, windows-programming
D3D12 프로그래밍 기초 플러스
무료
중급이상 / DirectX12, DirectX, directx-12
5.0
(1)
D3D12프로그래밍 기초편으로부터 이어지는 강좌입니다. 기초적인 렌더링 기능을 구현한 후 이것으로 실제 엔진 개발을 하려고 할 때 구현해야할 기능과 접근 방법을 설명합니다.
중급이상
DirectX12, DirectX, directx-12
D3D Tiled Resources를 이용한 텍스처 스트리밍
무료
중급이상 / DirectX, d3d, DirectX12
5.0
(1)
이 강의에서는 D3D11/12에서 Tiled Resoures를 사용하는 방법을 소개합니다.
중급이상
DirectX, d3d, DirectX12
D3D12 프로그래밍 - 기초편
₩198,000
중급이상 / DirectX, d3d, directx-12, DirectX12
5.0
(5)
이제는 주류 그래픽 API의 자리가 D3D11에서 D3D12로 넘어간 것 같습니다. D3D12는 매력적인 기능들을 지원하지만 학습 난이도가 높은 편입니다. 하지만 차근차근 학습한다면 개인도 D3D12 API로 게임을 만들 수 있다고 생각합니다. 이에, D3D 12로 게임을 직접 만들어 본 경험을 바탕으로, D3D12 게임 프로그래밍에 도전할 수 있는 지식 기반을 전달하고자 합니다.
중급이상
DirectX, d3d, directx-12
D3D12 Mesh Shader소개
무료
중급이상 / DirectX, d3d, GPU, gpgpu
5.0
(3)
D3D12에서 추가된 신기능 Mesh Shader의 용도와 프로그래밍 방법을 소개합니다.
중급이상
DirectX, d3d, GPU
질문&답변
windbg ifeo 관련 질문
store app권한제한을 우회할 수 있는 방법은 없는 것으로 압니다. 구버전을 쓰시는 방법밖에 없을것 같네요.
질문&답변
원격 디버그가 안붙어요
가상환경이 32bits여야 할 필요는 없습니다.vm쪽에서 kdnet을 실행해보시고 Network debugging is supported by this Microsoft Hypervisor Virtual Machine.라는 메시지가 출력되는지 확인해보세요. 그럴 가능성은 낮아보입니다만 NIC에 따라 네트워크 디버깅이 지원되지 않을 수 있습니다.(사진)호스트 장비의 ip가 192.168.0.100이 맞나요? 저 ip는 제 장비의 ip인데 그대로 복붙하신게 아닌가 싶네요. VM측에서 host쪽으로 ping을 해서 실제 네트워크 연결이 가능한지 확인해보세요.
질문&답변
21분 PAE 약자
Physical Address Extension이 맞습니다.다음 링크를 참고해주세요.https://learn.microsoft.com/en-us/windows/win32/memory/physical-address-extension
질문&답변
질문있습니다.
안녕하세요 유영천입니다. 놀랍게도 ai가 답변한 내용이 맞습니다. 말이 좀 이상하지만 어쨌든 맞긴 맞습니다. -_-1번 질문)바깥에서 디스크립터를 설정(CopyDescriptorSimple등을 이용)하지 않아도 쉐이더에서 해당 리소스를 억세스 하지 않는 이상,D3D런타임이나 쉐이더 코드는 그 위치(b0, t0등)의 디스크립터가 설정이되어있는지조차 알지 못합니다. 만일 이렇게 설정을 하지 않은 상태에서 쉐이더 코드에서 해당 위치(b0, t0등)를 억세스 할 경우에는 gpu쪽에서 크래시하게 됩니다.어쨌든 쉐이더 코드에서 정말 사용하지 않는다면 문제 없습니다. 2) RootSignature를 전달하는 이유 자체가 해당 주소로부터 순서대로 억세스하기 위함입니다. 따라서 시작 위치와 개수를 알면 중간 원소들에 대해선 별도의 바인딩이 필요없는것이죠. 쉐이더코드 RootSignature에 적혀있는대로 시작 위치와 개수만을 무조건 믿고 처리합니다.질문하신대로 RootSignature에서 총 10개의 레지스터를 사용하고 있다면(디스크립터 10칸) 추가되는 draw코드에선 10칸만큼(10 x DescriptorSize) 이동한 descriptor handle을 전달하면 됩니다.
질문&답변
소스코드
확인이 늦어서 죄송합니다. 강의노트에 소스코드 주소를 추가했습니다.여기서 받으시면 됩니다.https://github.com/megayuchi/DebuggingTip
질문&답변
Descriptor를 복사하는 이유
non shader visible heap을 사용하는 이유는 해당 텍스처를 여러 렌더링 상황에서 공유해서 사용하기 위함입니다. draw할때 입력된 인자에 따라 텍스처를 바꿔가면서 렌더링 한다고 가정해봅시다.shader visible 속성의 heap에 텍스처의 디스크립터를 만들게 되면 이 디스크립터는 카피가 불가능하므로 각각의 텍스처가 세팅된 디스크립터 테이블을 미리 여러 벌 만들어둬야 합니다.non shader visible 속성의 heap에 텍스처 디스크립터를 만들면 이 디스크립터는 어떤 shader visible descriptor 테이블에도 카피가 가능하므로 미리 여러벌의 desriptor table을 만들어둘 필요없이 실시간으로 텍스처를 바꿔가며 렌더링 할 수 있습니다.
질문&답변
코드에 대한질문있습니다.
IDXGIAdapter::GetDesc()함수를 사용하면 Device ID를 얻을 수 있습니다.RTX4090의 Device ID를 얻어서 다음과 같이 비교해서 4090이 아니면 스킵시키면 됩니다.내부 코드로는 이 정도로 충분하고 배포를 한다면 그래픽 카드를 선택할 수 있는 옵션을 주는게 좋겠죠.#define DEVICE_ID_RTX4090 XXXXXX...DXGI_ADAPTER_DESC desc;pAdapter->GetDesc(&adapterDesc);if (DEVICE_ID_RTX4090 != adapterDesc.DeviceId){ continue;}
질문&답변
Comptr 을 안쓸시 메모리 해제순서
d3ddevice에서 생성한 객체부터 먼저 해제하고 d3ddevice는 가장 나중에 해제하는게 기본입니다. 디버깅과 정확한 테스트를 위해서 d3d뿐 아니라 모든 com객체는 생성순서의 역순으로 해제하는게 좋습니다.
질문&답변
raw pointer 쓰시는 이유가 따로 있으신가요?
디버깅 할 때 훨씬 직관적입니다. 이게 가장 중요한 이유입니다.빌드가 빠릅니다.코드사이즈가 작게 나옵니다.런타임 속도가 더 빠릅니다. 그리고 기본적으로 예제코드는 최대한 캡슐화를 배제하고 날것으로 노출합니다. 이쪽이 코드를 분석하기 편합니다.