.hlsl 和 .hlsli 有什么区别?

What is the difference between .hlsl and .hlsli?

好像都是HLSL着色器语言,但是它们有什么区别呢?

将 .hlsl 扩展名更改为 .hlsli 是否重要,反之亦然?

我找到的一篇文章说 .hlsli 文件不会进入编译,对吗? (关于.hlsli的文章太少,对此没有信心...)

只使用 .hlsli 文件好吗,还是应该总是有一些 .hlsl 文件?

如果有人能说出它们之间的 same/difference 以及它们的用法,我们将不胜感激。谢谢。

.hlsl 是一个着色器文件(包含着色器声明)而 .hlsli 是一个包含文件(仅包含声明和宏,没有实际的着色器结构)

hlsli 是 C++ 中编译文件 .cpp 的 .h/.hpp 头文件的 HLSL 等价物。正如在 C++ 中不编译 .h 文件一样,它们包含在 .cpp 文件中,然后编译后者,.hlsli 文件也包含在 .hlsl 文件中,然后编译 .hlsl 文件。