我正在与一个工作GLSurfaceView
活性以显示一个机器人设备上的照相机帧。 正如我在我福利局OpenGl Es
,我不知道我怎样才能得到图像缓冲区并修改它,然后显示在手机上修改的框架?
在它实现我的渲染器类GLSurfaceView.Renderer
,我调用本机的功能:
public class Renderer implements GLSurfaceView.Renderer {
public void onDrawFrame(GL10 gl) {
MyJNINative.render();
}
...
}
该API
,我有工作,提供一个connectCallBack
方法,其能够通过类似访问图像缓冲区onFrameAvailableNow
。 所以,我已经在图像缓冲区这是不幸的const
类型。 所以,我的修改,以使其不会得到反映。
现在我的问题是如何添加一些gl
方法来修改可以在屏幕上反射的视频缓冲?
我的本地渲染器:
Java_com_project_MyJNINative_render(
JNIEnv*, jobject) {
// Let's say I have image buffer here called "uint_8t* buffer"
glClearColor(1.0f, 1.0f, 1.0f, 1.0f);
glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
glViewport(0, 0, width, height);
// UpdateTexture()
api_handler.UpdateTexture());
gl_vid_obj->Render(glm::mat4(1.0f), glm::mat4(1.0f));
/// I NEED SOME CODE HERE TO set gl buffer
}