快速开始
推荐项目结构
组织 .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.dsh、Color.dsh。 |
| Package 入口 | Library/<Name>.dsh |
Import 可维护性
优先让 .dsm 只 import 少量稳定入口:
import "Shared/Common.dsh";
import "@typedreammoon/dream-noise/Library/Noise.dsh";避免在材质文件中深度 import 很多实现细节。这样 .dsh 改动后,DreamShader 可以更清楚地判断哪些 .dsm 需要刷新。