解决方法
有两个主要选择:
>将它们作为文本文件存储在项目的assets文件夹中.要加载着色器:
>使用上下文的getAssets()方法获取AssetManager.
>在AssetManager上调用open(),传入着色器的文件名.这为您提供了一个InputStream.
>从InputStream中读取着色器代码,并将其存储在String中.
>在InputStream上调用close().
>将它们存储在项目的res / raw文件夹中.要加载着色器:
>使用上下文的getResources()方法获取资源.
>在资源上调用openRawResource(),传入资源ID(R.raw.< name>).这为您提供了一个InputStream.
>(与上述相同)
>(与上述相同)
我不相信有一个很大的理由偏爱一个而不是另一个.主要区别在于您使用文件名访问资产,而使用自动分配的资源ID作为资源.这是一个偏好的问题,你更喜欢哪一个.