以纯文本形式存储 Open GL-ES 着色器代码的风险
Risks of storing Open GL-ES shader code in plain text
我正在创建一个视频应用程序,它在 Android 上使用 GLES20 将某些过滤器应用于视频。我见过的所有示例都将其着色器源代码硬编码为字符串,即:
private final String fragmentShaderCode =
"precision mediump float;" +
"uniform vec4 vColor;" +
"void main() {" +
"gl_FragColor = vColor;" +
"}";
但是,编辑带有所有逗号和换行符的复杂着色器变得很麻烦。我想将我的着色器编写为原始文本文件资源,这样我就可以利用缩进等,并编写一个函数将文本文件中的着色器加载到字符串中,然后在 运行 时间进行编译。这样做的关键考虑因素或风险是什么?
我假设知识分子 属性 是主要风险,但假设对源代码保密不是什么大问题,还有其他风险吗?
如果您担心 IP,文本文件中的文本并不比二进制文件中的文本更安全或更不安全,它仍然很容易被发现。考虑到你必须在某处处理文本,充其量你可以混淆,但总的来说你真的别无选择。
我正在创建一个视频应用程序,它在 Android 上使用 GLES20 将某些过滤器应用于视频。我见过的所有示例都将其着色器源代码硬编码为字符串,即:
private final String fragmentShaderCode =
"precision mediump float;" +
"uniform vec4 vColor;" +
"void main() {" +
"gl_FragColor = vColor;" +
"}";
但是,编辑带有所有逗号和换行符的复杂着色器变得很麻烦。我想将我的着色器编写为原始文本文件资源,这样我就可以利用缩进等,并编写一个函数将文本文件中的着色器加载到字符串中,然后在 运行 时间进行编译。这样做的关键考虑因素或风险是什么?
我假设知识分子 属性 是主要风险,但假设对源代码保密不是什么大问题,还有其他风险吗?
如果您担心 IP,文本文件中的文本并不比二进制文件中的文本更安全或更不安全,它仍然很容易被发现。考虑到你必须在某处处理文本,充其量你可以混淆,但总的来说你真的别无选择。