java - 如何使用 glTexImage2D 填充 RGB 纹理并显示它?
问题描述
我有一个ByteBuffer
来自视频的 RGB 帧,所以它有 size 1280x720x3
。
我想使用 OpenGL 渲染它。这是我的片段着色器:
public static final String videoFragment =
"#version 320 es\n"+
"precision mediump float;" +
"uniform float alpha;\n" +
"uniform sampler2D sampler;\n"+
"\n" +
"in vec2 TexCoord;\n" +
"out vec4 FragColor;\n" +
"void main()\n" +
"{\n" +
" vec4 rgba;\n" +
" rgba.rgb = texture(sampler, TexCoord).rgb;\n" +
" rgba.a = 1.0f;\n" +
" //FragColor = vec4(1.0f,0,0,1.0f);\n" +
" FragColor = rgba;\n" +
"}\n";
我应该如何使用它来填充它glTexImage2D
?我想将我的 RGB 数据放入其中。我尝试了许多GLES20.GL_RGB
和其他的组合,但它们不起作用,或者我只是得到一个黑白图像:
GLES20.glTexImage2D(
GLES20.GL_TEXTURE_2D,
0,
GLES20.?,
1280,
720,
0,
GLES20.?,
GLES20.?,
buffer);
解决方案
推荐阅读
- ios - 如何在swift中更新其他viewController的标签
- yocto - 哪个配方将首先使用?
- python-3.x - 使用 Boto3 Python 列出 AWS S3 存储桶中的所有对象及其存储类
- node.js - 如何在单击按钮时打印服务器端响应文件?
- facebook - 从服务器推送的 Facebook Analytics Conversion API 事件
- winforms - 防止在组合框中滚动(鼠标悬停)
- c# - 程序中途未处理的长度异常
- python - 数组的地址与数组[0]的地址 - Python
- c++ - 有人可以解释这个指针在这里指的是什么吗?
- excel - Excel VBA 使用标准提交所有记录