anh*_*ppe 8 shader android opengl-es opengl-es-2.0
我从Android(5.0.1),API级别19开始使用OpenGL ES2.0.我应该在哪里存储着色器代码?第一个示例将着色器直接编码为字符串.
我想将着色器代码放在一个单独的文件中以获得更好的可用性.存储和加载顶点和片段着色器的最佳实践是什么?
Ret*_*adi 11
有两个主要选择:
将它们作为文本文件存储在assets项目的文件夹中.要加载着色器:
AssetManager的getAssets()方法.open()的AssetManager,通过在着色器的文件名.这给你一个InputStream.InputStream,并将其存储在a中String.close()给InputStream.将它们存储在res/raw项目的文件夹中.要加载着色器:
Resources的getResources()方法.openRawResource()的Resources,传递的资源ID( R.raw.<name>).这给你一个InputStream.我不相信有一个很大的理由偏爱一个而不是另一个.主要区别在于您使用文件名访问资产,而使用自动分配的资源ID作为资源.这是一个偏好的问题,你更喜欢哪一个.
| 归档时间: |
|
| 查看次数: |
3759 次 |
| 最近记录: |