fx/hlsl 着色器的下拉 UI 小部件

发布于 2024-10-10 11:41:02 字数 460 浏览 3 评论 0原文

我制作了一个 HLSL 着色器(fx 格式),并希望在其 UI 中添加一个枚举/列表参数 - 作为布尔标志列表的更好替代方案。

因此,而不是:

  • [x]“使用自定义贴图”
  • [x]“使用自定义贴图 alpha”
  • [x]“使用漫反射 alpha”
  • [x]“使用镜面 alpha”
  • [x]“使用法线 alpha”

具有:

  • 来源:[ “使用自定义地图”]

包含所有 5 个选项以及代码级别上所选项目的索引。

“DirectX 标准注释和语义参考”提到了 ListPicker 小部件,但我找不到任何示例或描述如何使用它。

问题是:

  • 是否可以在着色器的 UI 中拥有一个类似下拉菜单的自定义小部件?
  • 如何实现?

I've made a HLSL shader (fx format) and would like to add a enum/list paremeter to its UI - as a better alternative to the list of boolean flags.

So instead of :

  • [x] "Use custom map"
  • [x] "Use custom map alpha"
  • [x] "Use diffuse alpha"
  • [x] "Use specular alpha"
  • [x] "Use normal alpha"

have:

  • Source: [ "Use custom map" ]

with all 5 choices and the index to selected item on the code level.

"DirectX Standard Annotations and Semantics Reference" mentions about the ListPicker widget but I can't find any example or description how to use it.

The questions are:

  • Is it possible to have a custom dropdown-like widget in the shader's UI?
  • How to achieve it?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

帥小哥 2024-10-17 11:41:02

SAS 允许您设置此类参数,但着色器本身完全忽略它。它纯粹是供另一个系统在需要时使用的元数据……它不处理 UI 的渲染。如果你想要一个用户界面,那么你必须阅读这个语义&注释数据并使用它来绘制 UI。要么使用识别语义/注释结构的应用程序......

SAS allows you to set parameters like these but it is entirely ignore by the shader itself. It is purely meta-data for another system to use if/when it needs too ... it does NOT handle rendering of the UI. If you want a UI then you have to read this semantic & annotation data and use it to draw a UI. Either that or use an application that recognises the semantics/annotations structure ...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文