簡體   English   中英

在計算着色器中使用深度紋理

[英]Use depth texture in compute shader

我正在嘗試在計算着色器中使用深度紋理。

深度紋理使用格式VK_FORMAT_D32_SFLOAT和用法VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_STORAGE_BIT VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT | VK_IMAGE_USAGE_STORAGE_BIT

問題是似乎不支持這種參數組合,我有這個警告: vkCreateImageView(): pCreateInfo->format VK_FORMAT_D32_SFLOAT with tiling VK_IMAGE_TILING_OPTIMAL does not support usage that includes VK_IMAGE_USAGE_STORAGE_BIT

除此消息外,程序運行良好,計算着色器成功讀取深度紋理。

這可以在計算着色器中讀取深度紋理嗎?

是的,可以在計算着色器中讀取 32 位歸一化深度圖像。 只是不在您的實施中

Vulkan 允許實現拒絕圖像格式和用法的某些組合。 他們可以完全拒絕某些格式,同時將其他格式限制為僅用於特定用途。 因此,除非您打算使用的格式+用法組合在 Vulkan 規范的所需功能列表中,否則您必須查詢對它的支持。

Vulkan 不要求實現允許您使用D32圖像作為存儲圖像。 因此,您必須檢查特定實現是否提供此功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM