gpt4 book ai didi

android - 在 Android 应用程序中存储着色器代码的位置

转载 作者:塔克拉玛干 更新时间:2023-11-02 09:00:53 25 4
gpt4 key购买 nike

我从 Android (5.0.1) 上的 OpenGL ES2.0、API 级别 19 开始。我应该在哪里存储着色器代码?第一个示例将着色器直接编码为字符串。

我想将着色器代码放在一个单独的文件中以获得更好的可用性。存储和加载顶点和 fragment 着色器的最佳做法是什么?

最佳答案

主要有两个选项:

  • 将它们作为文本文件存储在 assets 中你的项目的文件夹。加载着色器:

    1. 获取 AssetManagergetAssets()上下文的方法。
    2. 调用open()AssetManager 上,传入着色器的文件名。这给你一个 InputStream .
    3. InputStream 中读取着色器代码, 并将其存储在 String 中.
    4. 调用close()InputStream 上.
  • 将它们存储在 res/raw 中你的项目的文件夹。加载着色器:

    1. 获取 ResourcesgetResources()上下文的方法。
    2. 调用openRawResource()Resources 上,传入资源 ID ( R.raw.<name> )。这给你一个 InputStream .
    3. (同上)
    4. (同上)

我不认为有很大的理由偏爱其中一个。主要区别在于您使用文件名访问 Assets ,而您使用自动分配的资源 ID 访问资源。您更喜欢哪个是偏好问题。

关于android - 在 Android 应用程序中存储着色器代码的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27574136/

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