You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Vulkan中分离式采样图像与采样器的GLSL实现方法问询

GLSL中分离式描述符的实现疑问

我已经完成了纹理和采样器对象的代码编写,但不知道如何在GLSL中实现分离式描述符。

组合式图像采样器的写法(已知)

访问描述符集0、绑定0的组合式图像采样器写法如下:

layout(set = 0, binding = 0) uniform sampler2D texSampler;

片段着色器通过sampler2D和texture函数采样图像:

layout(location = 0) in vec2 fragTexCoord;

layout(location = 0) out vec4 outColor;

void main() {
    outColor = texture(texSampler, fragTexCoord);
}

分离式描述符的疑问

我了解到需要为采样器创建类型为VK_DESCRIPTOR_TYPE_SAMPLER的描述符绑定,为采样图像创建类型为VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE的描述符绑定,但不清楚访问这些分离式描述符的语法:

layout(set = 0, binding = 0) uniform /* 不知道类型 */ sampler
layout(set = 0, binding = 1) uniform /* 不知道类型 */ sampledImage
// 或者...
layout(set = 0, binding = 0) uniform /* 不知道类型 */ sampler
layout(set = 1, binding = 0) uniform /* 不知道类型 */ sampledImage

核心问题

  1. 采样器和图像是否需要按照创建描述符集时的设置存于不同集合/绑定?
  2. 若sampler2D对应VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,那么以下分离式类型对应的GLSL语法是什么?
    • VK_DESCRIPTOR_TYPE_SAMPLER
    • VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
    • VK_DESCRIPTOR_TYPE_STORAGE_IMAGE
    • VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
    • VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
  3. 如何在main函数中调用这些分离式对象来设置outColor的值?

内容的提问来源于stack exchange,提问作者ModernEraCaveman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 04:03:29