gpt4 book ai didi

glsl - 将着色器源与应用程序捆绑在一起?

转载 作者:行者123 更新时间:2023-12-05 01:48:50 26 4
gpt4 key购买 nike

我只是想知道如何将我的 GLSL 着色器源文件(用于 OpenGL ES(iOs)/OpenGL with GLUT (Mac/Windows))与我的应用程序捆绑在一起。作为纯文本文件,我的软件的每个用户都可以轻松更改它们,而且我担心未定义的行为......在 iOS 上,我只是为我的着色器使用 XCodes“Copy Bundle Ressources”(然后从 Application Bundle 中检索它们)- Visual Studio 是否有类似的可能性?

或者有更好的跨平台方式吗?

最佳答案

GLSL 着色器纯文本文件(或文本片段,无论您以何种方式查看)。没有办法(除了对你的着色器进行数字签名并在签名不匹配时拒绝运行)来防止用户在文本编辑器中随意修改你的着色器。 (当然,您可以通过对它们进行 rot13 编码或将它们全部放入 .zip 文件并将 .zip 文件重命名为其他文件来使它们变得不可读,这不会阻止决心找到您的着色器的人这样做,但是它可能会阻止 90% 的普通用户。)

但话又说回来,如果人们确实编辑了你的着色器并导致未定义的行为......他们倒霉了。你知道,有一部分人觉得有必要编辑所有人类可读和可编辑的东西。好吧,如果他们破坏了安装,那是他们的问题。你无法阻止人们变得愚蠢。

最近版本的 OpenGL 上有着色器二进制扩展,但它的使用目的并不是为了解决您的问题。它只是作为一种缓存机制来加速后续运行的编译/链接时间。它不适合分发“着色器二进制文件”。

关于glsl - 将着色器源与应用程序捆绑在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5882270/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com