inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

삼각형의 실전! Vulkan 중급

Vulkan Pipeline dynamic state

descriptorCount 에 대한 질문

해결된 질문

231

김종수

작성한 질문수 8

0

안녕하세요? DescriptionSet, DescriptionSetLayout, DescriptionPool 등을 생성할 때 info 구조체에 descriptionCount를 강의에서는 항상 1로 설정하는데요.

 

이 값에 의미가 있나요? 즉, 이 값이 1이 아닌 경우가 있나요?

 

섹션 9-3의 Hello-Texture-Mapping 강의를 예로 들면,

    array<VkWriteDescriptorSet, 2> writeDescriptorSets{
        VkWriteDescriptorSet{
            .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
            .dstSet = mDescriptorSet,
            .dstBinding = 0,
            .descriptorCount = 1,
            .descriptorType = VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
            .pBufferInfo = &descriptorBufferInfo
        },
        VkWriteDescriptorSet{
            .sType = VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET,
            .dstSet = mDescriptorSet,
            .dstBinding = 1,
            .descriptorCount = 1,
            .descriptorType = VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
            .pImageInfo = &descriptorImageInfo
        }
    };

이렇게 DescriptionSet을 갱신할 때 descriptorCount가 각각 1로 설정되고,

이 각각의 descriptor? 들은 dstBinding이라는 특정 binding index로 1:1로 mapping되는 것 같습니다. 이러면 count 값은 항상 1이 되어야할 것 같습니다.

섹션 8-1 Descriptor Pool 에서 maxSets와 DescriptorCount 간의 관계를 설명하실 때도 count값은 1로 설정되어 있습니다. 그래서 count에 설정되는 값이 1 이외일 경우가 무엇인지 잘 모르겠습니다.

cross-platform vulkan spir-v computer-graphics

답변 2

1

삼각형

네 여러개가 될 수 있습니다. 하지만 대부분 1만 사용합니다. 2 이상인 경우는 좀 더 벌칸을 깊게 사용할때 필요한데요. 리소스가 2D_ARRAY와 같이 배열인 경우에 2D로 바인딩할때 count가 2 이상이 될 수 있습니다. 이후에 고급 강좌에서 이에 대한 내용도 다뤄보겠습니다.

1

dlgmlals3

VkDescriptorPoolSize 에서는 동기화 관련 작업을 할때 descriptorCount를 스왑체인 이미지의 개수로 정의합니다. 아마 강의 뒷부분에 나올겁니다.

그런데 남은 2부분은 저도 궁금한데요

1)

VkDescriptorSetLayoutBinding 에서 discriptorCount가 2가 된다면,

하나의 디크스립터 세트 레이아웃 바인딩이 두 개의 디스크립터와 연결 될수 있다는 의미인데,

1이 아닌 코드는 못본것 같습니다.

 

2) VkWriteDescriptorSet 에서 discriptorCount가 2가 된다면,

디스크립터 세트의 내부 디스크립터가 두개인데,

pBufferInfo에서 버퍼를 하나밖에 지정을 못하니,

두 개의 디스크립터가 하나의 리소스를 공유 하는 것처럼 되어버리는데,

이것도 1이 아닌 코드를 저는 못봤습니다.

일렉트론 패키징 및 배포 관련 질문

0

109

2

MeshObject 공용 사용 방법

1

95

2

BuildBLAS 할당 리소스 사이즈

0

80

2

ConstnatBufferPool관련 질문

0

69

2

강의에서 말씀해주신대로 폴더에 넣었는데 실행이 되지않습니다

0

87

2

8)MVVM Pattern실습 + Builder Pattern +이벤트처리 방법 관련질문

0

100

2

안드로이드 에뮬레이터는 실행되는데 없다고 인식

0

190

3

Metal api 강의

0

110

2

섹션6 >> Hello color animation 과제에서 궁금한 점이 있습니다.

1

104

2

비주얼 스튜디오 파일

0

192

2

Microsoft.Maui.Controls Update후 오류발생

0

164

2

VkSubmitInfo2에 대해 질문드립니다.

0

124

2

VkImageLayout 열거형에 대해 질문드립니다.

0

136

2

예제 코드 (on_vkQueueWaitIdle)로그 관련

0

189

2

RGB 값 관련 질문드립니다.

0

127

2

vert_phong.vert negate 질문

0

124

2

glm-tri.cpp 의 glVertexAttribPointer 질문입니다.

0

160

2

vulkan 강의 일정

0

151

2

descriptorSet에 대한 질문들

0

309

2

질문이 있습니다.

0

207

1

섹션2-6 vulkan device 질문

0

267

2

섹션 4-2 command pool

0

191

1

windows에서 shaderc의 빌드 실패 문제 해결방법입니다

3

461

3

코드는 어디서 얻을수있나요 ?

0

293

1