[高分求解] Android使用opengles显示YUV420数据的问题

李狗蛋52635 2013-06-26 02:31:13
各位好,我最近在尝试使用opengl来显示YUV420数据,遇到了一些问题,希望各位帮忙解答。

1. 关于流程,我想是在Java层写Renderer类,然后在Renderer的onDrawFrame()/onSurfaceChanged()/onSurfaceCreated()中分别去调用native层的代码,native负责调用所有的opengles接口,在opengl的shader中进行YUV->RGB的转换,然后通过texture渲染出来,不知道这样的思路是否正确?

2. 在使用shader时,我在c代码中是这样写的:


GLuint loadShader(GLenum shaderType, const char *pSource) {
GLuint shader;
GLint compiled;

shader = glCreateShader(shaderType);
LOGD("JNI -> new Shader = %1$d", shader);
if (shader) {
glShaderSource(shader, 1, &pSource, NULL);
glCompileShader(shader);
glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
LOGD("JNI -> compile = %1$d", compiled);
if (!compiled) {
........


我新建了2个shader(GL_VERTEX_SHADER和GL_FRAGMENT_SHADER),但是通过打log发现,2个shader的值是一样的(都是43),两个compiled的值也是一样的(是1393950951这种长数字),我感觉这样是不对的,请问这样对吗,为什么?

3. 各位有没有做过这方面的例子,或有成熟的、好的思路,请不吝赐教,十分感谢!
...全文
215 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
李狗蛋52635 2013-06-26
  • 打赏
  • 举报
回复
小顶一下 -v-

80,359

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧