0
我试图通过TangoService_connectOnFrameAvailable
连接我的回调函数。我能够连接它并访问TangoImageBuffer
。但是,我注意到缓冲区是const
,无法更新。为了某些图像处理目的,我需要修改图像数据。像轮廓检测并显示它。从本机回调中获取和修改图像缓冲区
所以我的问题是我们如何改变TangoJNINative_render
方法来更新gl buffer
。
这里是renederer函数的样子:
Java_com_project_TangoJNINative_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, screen_width, screen_height);
// UpdateTexture()
tango_handler.UpdateColorTexture());
/// I NEED SOME CODE HERE TO set gl buffer
video_overlay->Render(glm::mat4(1.0f), glm::mat4(1.0f));
}
感谢您的帮助。
这和http://stackoverflow.com/questions/31359081/modify-and-update-camera-frame-via-glsurfaceview有一些重叠 - 这是一个不同的问题吗? – fadden
@fadden您提到的链接指的是更普遍的问题。这个是专门为'Tango'设计的 –