inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

D3D12 프로그래밍 - 기초편

여러 프레임 중첩 렌더링

CommandList의 GraphicsCommandList 변경이유

113

반달시어머니

작성한 질문수 1

0

코드를 따라가다 보니 기존엔 ID3D12CommandList를 사용하던걸 ID3D12GraphicsCommandList로 바꾸신 부분들이 있으신데 혹시 특별한 이유가 있을까요?

directx directx-12 d3d directx12

답변 2

0

megayuchi

ID3D12CommandList는 그래픽스 커맨드 레코딩이 불가능합니다. 작동이 아예 불가하기 ID3D12CommandList로 사용했던 적이 없을텐데 이상하네요. 코드 라인을 긁어서 질문해주시면 좀더 자세하게 답변해드릴 수 있을것 같습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 반달시어머니님.

질문해주신 내용에 대해서 답변 드리겠습니다.

ID3D12CommandList와 ID3D12GraphicsCommandList의 차이점:

  1. ID3D12CommandList: 이 인터페이스는 가장 기본적인 커맨드 리스트 인터페이스로, 실제로 커맨드 리스트에서 사용할 수 있는 모든 기능을 담고 있지 않습니다. 일반적으로 그래픽 및 컴퓨팅 작업을 포함한 모든 범용적인 작업을 처리하려면 이보다 더 구체적인 인터페이스가 필요합니다.

  2. ID3D12GraphicsCommandList: 이 인터페이스는 그래픽 작업을 수행할 때 사용되는 커맨드 리스트입니다. 이는 다양한 그래픽 파이프라인 명령을 수행할 수 있도록 지원하며, ID3D12CommandList 인터페이스의 기능을 확장합니다. 그래픽 명령어와 더불어, 셰이더 자원 설정, 파이프라인 상태 설정, 드로우 콜 등을 처리할 수 있습니다.

ID3D12GraphicsCommandList로 변경했을까?

  • 구체적인 기능 제공: 그래픽 관련 작업을 수행하기 위해선, ID3D12GraphicsCommandList가 제공하는 다양한 그래픽 관련 메서드가 필요합니다. 예를 들어, 드로우 콜, 그래픽 파이프라인 설정 등의 명령은 ID3D12CommandList로는 할 수 없습니다.

  • 확장성과 유연성: ID3D12GraphicsCommandList는 그래픽 작업 전용으로 보다 구체적이고 최적화된 기능을 제공하므로, 보다 효율적으로 코드를 작성할 수 있습니다. 이는 특히 그래픽 파이프라인 상태 변경, 리소스 바인딩 등에서 유용합니다.

이 때문에 기존의 ID3D12CommandList에서 ID3D12GraphicsCommandList로 변경된 것입니다. 이를 통해 보다 직관적이고 직접적으로 그래픽 명령을 설정할 수 있게 됩니다.

유사한 게시물

보다 효율적으로 프로그램을 개발하기 위해 다른 개발 관례나 전략에 대해 궁금하다면 다음 답변을 참조할 수 있습니다:

  1. 디버깅 할 때 훨씬 직관적입니다. 이유가 따로 있나요? - 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