DreamShaderLang
快速开始

推荐项目结构

组织 .dsm、.dsh 与 Package 的目录约定。

DreamShaderLang 的源文件默认放在项目根目录的 DShader。推荐把材质、材质函数和共享头文件分开,便于 import graph 精确追踪依赖。

ProjectRoot/
├─ DShader/
│  ├─ Materials/
│  │  └─ M_Sample.dsm
│  ├─ Functions/
│  │  └─ F_Tint.dsm
│  ├─ Shared/
│  │  ├─ Common.dsh
│  │  └─ Color.dsh
│  └─ Packages/
│     └─ @typedreammoon/
│        └─ dream-noise/
│           ├─ dreamshader.package.json
│           └─ Library/
│              └─ Noise.dsh
└─ Plugins/
   └─ DreamShader/

目录职责

目录建议内容
DShader/Materials项目材质 .dsm,通常包含 Shader
DShader/Functions项目材质函数 .dsm,通常包含 ShaderFunction
DShader/Shared项目内部共享 .dsh
DShader/Packages通过 VSCode 扩展安装的第三方或团队包。

文件命名建议

类型建议
材质文件M_*.dsm
材质函数文件F_*.dsm
共享头文件按领域命名,例如 Texture.dshColor.dsh
Package 入口Library/<Name>.dsh

Import 可维护性

优先让 .dsm 只 import 少量稳定入口:

import "Shared/Common.dsh";
import "@typedreammoon/dream-noise/Library/Noise.dsh";

避免在材质文件中深度 import 很多实现细节。这样 .dsh 改动后,DreamShader 可以更清楚地判断哪些 .dsm 需要刷新。

On this page