小编Ran*_*nov的帖子

从资产中读取文本文件时的奇怪行为

我正在玩本机活动和GLES 2.0,我正在使用ndk从资产中加载GLES着色器.

这是简单着色器的来源:

顶点着色器:simple.vsh

attribute vec4 vPosition;
void main()
{
    gl_Position = vPosition;
}
Run Code Online (Sandbox Code Playgroud)

片段着色器:simple.fsh

precision mediump float;
void main()
{
    gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
Run Code Online (Sandbox Code Playgroud)

这是我用来加载着色器文件的代码

AAsset *shaderAsset= AAssetManager_open(app->activity->assetManager, path, AASSET_MODE_BUFFER);
size_t length = AAsset_getLength(shaderAsset);

LOGI("Shader source size: %d\n", length);


char* buffer = (char*) malloc(length);

AAsset_read(shaderAsset, buffer, length);   

LOGI("Shader source : %s\n", buffer);

AAsset_close(shaderAsset);
free(buffer);
Run Code Online (Sandbox Code Playgroud)

当我运行应用程序时,我在android logcat中看到了这个:

 Shader source size: 71
 07-22 13:23:52.683 11135 11146 I native-activity: Shader source : attribute vec4 vPosition;
 07-22 13:23:52.683 11135 11146 …
Run Code Online (Sandbox Code Playgroud)

c c++ android android-ndk

2
推荐指数
1
解决办法
2016
查看次数

标签 统计

android ×1

android-ndk ×1

c ×1

c++ ×1