#shader #path #automatic #create #multiple #stages #directory

ash_shader_creator

一个用于从目录路径自动创建多个着色器阶段的库

2个稳定版本

1.4.1 2021年8月15日
1.3.3 2021年8月15日
1.2.2 2021年8月14日
1.1.2 2021年8月14日
1.0.2 2021年8月14日

#6 in #stages

每月32次下载

Apache-2.0

13KB
156

ash_shader_creator

一个从目录路径自动创建多个着色器阶段的库。

use ash::{Device, PipelineShaderStageCreateFlags, PipelineShaderStageCreateInfo};
use std::path::Path;

let shader_stage_flags = PipelineShaderStageCreateFlags::RESERVED_2_NV | PipelineShaderStageCreateFlags::ALLOW_VARYING_SUBGROUP_SIZE_EXT;
let shader_stages_create_info: Vec<PipelineShaderStageCreateInfo> =
    ShaderStage::new(&device, &Path::new("example_path/compiled_shaders"))
        .with_shader_stage_flags(shader_stage_flags)
        .build();

这个库能做什么?

  • 支持GLSL
  • 支持HLSL
  • 从多个目录创建着色器

重要

目前,库只能从编译后的着色器名称创建着色器阶段

  • 对于GLSL:vertex着色器为 <file_name>.vert.spv,fragment着色器为 <file_name>.frag.spv。
  • 对于HLSL:vertex着色器为 <file_name>.vs,fragment着色器为 <file_name>.fs。

联系方式

Discord: Жоржик#1991

依赖

~5.5MB
~127K SLoC