CommandList의 GraphicsCommandList 변경이유
113
작성한 질문수 1
코드를 따라가다 보니 기존엔 ID3D12CommandList를 사용하던걸 ID3D12GraphicsCommandList로 바꾸신 부분들이 있으신데 혹시 특별한 이유가 있을까요?
답변 2
0
ID3D12CommandList는 그래픽스 커맨드 레코딩이 불가능합니다. 작동이 아예 불가하기 ID3D12CommandList로 사용했던 적이 없을텐데 이상하네요. 코드 라인을 긁어서 질문해주시면 좀더 자세하게 답변해드릴 수 있을것 같습니다.
0
안녕하세요, 인프런 AI 인턴입니다. 반달시어머니님.
질문해주신 내용에 대해서 답변 드리겠습니다.
ID3D12CommandList와 ID3D12GraphicsCommandList의 차이점:
ID3D12CommandList: 이 인터페이스는 가장 기본적인 커맨드 리스트 인터페이스로, 실제로 커맨드 리스트에서 사용할 수 있는 모든 기능을 담고 있지 않습니다. 일반적으로 그래픽 및 컴퓨팅 작업을 포함한 모든 범용적인 작업을 처리하려면 이보다 더 구체적인 인터페이스가 필요합니다.
ID3D12GraphicsCommandList: 이 인터페이스는 그래픽 작업을 수행할 때 사용되는 커맨드 리스트입니다. 이는 다양한 그래픽 파이프라인 명령을 수행할 수 있도록 지원하며, ID3D12CommandList 인터페이스의 기능을 확장합니다. 그래픽 명령어와 더불어, 셰이더 자원 설정, 파이프라인 상태 설정, 드로우 콜 등을 처리할 수 있습니다.
왜 ID3D12GraphicsCommandList로 변경했을까?
구체적인 기능 제공: 그래픽 관련 작업을 수행하기 위해선,
ID3D12GraphicsCommandList가 제공하는 다양한 그래픽 관련 메서드가 필요합니다. 예를 들어, 드로우 콜, 그래픽 파이프라인 설정 등의 명령은ID3D12CommandList로는 할 수 없습니다.확장성과 유연성:
ID3D12GraphicsCommandList는 그래픽 작업 전용으로 보다 구체적이고 최적화된 기능을 제공하므로, 보다 효율적으로 코드를 작성할 수 있습니다. 이는 특히 그래픽 파이프라인 상태 변경, 리소스 바인딩 등에서 유용합니다.
이 때문에 기존의 ID3D12CommandList에서 ID3D12GraphicsCommandList로 변경된 것입니다. 이를 통해 보다 직관적이고 직접적으로 그래픽 명령을 설정할 수 있게 됩니다.
유사한 게시물
보다 효율적으로 프로그램을 개발하기 위해 다른 개발 관례나 전략에 대해 궁금하다면 다음 답변을 참조할 수 있습니다:
- 디버깅 할 때 훨씬 직관적입니다. 이유가 따로 있나요? - DirectX의 메모리 관리에 대한 기초적인 정보 제공.
이 링크는 DirectX와 관련된 기초 정보에 대해 살펴보는 데 도움이 될 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
복습중에 커맨드 큐 관련 질문이 있습니다.
0
35
1
assimp-vc143-mtd.dll가 없어서 코드 실행을 진행할 수 없습니다 라는 에러가 뜹니다.
0
78
1
_vsBlob와 _psBlob에서 nullptr이 뜨면서 실행이 안됩니다
0
56
1
혹시 영상이 안되는 이유가 있을까요?
0
87
2
Model.cpp에서 ReadMaterial()의 SpecularTexture 부분 질문입니다.
0
55
0
노멀매핑 자료
0
72
1
셰이더 인텔리센스 문제
0
79
1
#include d3dx12.h 추가했지만 오류
0
81
1
MeshObject 공용 사용 방법
1
95
2
BuildBLAS 할당 리소스 사이즈
0
79
2
4강 삼각형띄우기 오류관련 질문있습니다
0
64
1
ConstnatBufferPool관련 질문
0
69
2
LNK1104 error, DirectXTexD.lib 파일을 열 수 없습니다.
0
122
1
64.애니메이션 강의의, AssimpTool 에서 FBX 애니매이션 데이터를 옮길 때의 강의 오류가 있는 것 같습니다.
1
65
1
SkyDemo에서 카메라 입력이 작동하지 않는 문제
0
81
2
섹션6. DirectX 11 3D 입문 강의부터 렌더링이 안됩니다
0
131
2
[25:13] Virtual Interface 와 COM Interface간의 차이가 궁금합니다.
0
116
1
텍스처와 UV 강의 관련해서 문의드려요
0
162
2
frame간 보간에 대해서 질문이있습니다.
1
132
1
Descriptor를 복사하는 이유
0
315
2
코드에 대한질문있습니다.
0
230
2
Comptr 을 안쓸시 메모리 해제순서
0
282
2
raw pointer 쓰시는 이유가 따로 있으신가요?
0
384
1
질문있습니다.
0
431
2





