问题标签 [glteximage2d]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
opengl - ffmpeg 到 opengl 纹理与 glTexImage2D
我正在尝试在 OpenGL 中制作一个播放器。我使用 ffmpeg 解码视频。
我搜索了几个教程(StackOverflow,....)如何在 OpenGL 中转换我的 pFrameRGB-> 数据 [0] 纹理,但它仍然显示了一个白色方块。我将我的视频转换为 512x256 以符合 2 ^ n。
我知道我的 pFrameRGB 是正确的,因为我可以使用“SaveFrame (...)”函数创建 frameX.ppm。
通过适应我的播放器,我使用以下源代码 ( https://github.com/arashafiei/dranger-ffmpeg-tuto/blob/master/tutorial02.c ) 作为模型。
这是我的源代码:
http://www.sourcepod.com/uagkel22-19078
你们中的一个有解决我的问题的方法吗?
编辑1:
我删除:
并替换:
经过:
我试着跑,但什么也没有……
opengl - 使用 stb_image 加载 32 位 png 并使用 GL_UNSIGNED_INT_8_8_8_8 作为 glTexImage2D 类型参数时显示的颜色不正确
我只是在学习如何在 OpenGL 中进行纹理处理,并且对我得到的一些结果感到有些困惑。
我正在使用 stb_image 加载以下棋盘格 png 图像:
当我保存 png 图像时,我明确选择将其保存为 32 位。这会让我相信每个组件 (RGBA) 将存储为 8 位,总共 32 位 - 无符号整数的大小。但是,使用以下代码:
产量:
如果我改为使用 GL_UNSIGNED_BYTE 作为类型参数,我会得到正确的结果。
另外,为了有帮助,我还尝试了以下图片:
产生
GL_UNSIGNED_BYTE 在这种情况下也给出了正确的结果。
我不确定这是否是我误解 glTexImage2D 或 stb_image 的情况(它是否将加载的数据转换为 8 位?这对我来说似乎不太可能)。
编辑:我终于找到了一个相关的帖子(已经搜索了一些但没有运气)。但是答案(https://stackoverflow.com/a/4191875/2507444)让我感到困惑。如果是这种情况 - 类型参数指定每个组件有多少字节- 那么 GL_UNSIGNED_BYTE_3_3_2 和 GL_UNSIGNED_INT_8_8_8_8 到底是什么意思?
opengl - How to pass YUV data into a fragment shader without GL_LUMINANCE
In Android, in order to pass YUV420sp into a fragment shader I pass the information spliting the data into Y-U-V, and passing each sugin glTexImage2D with GL_LUMINANCE format
But now I need to do Offscren-Rendering for which I require FBOs, the problem is that FBOs do not support GL_LUMINANCE.
So what would be the best way to pass the YUV data without using GL_LUMINANCE?
By the way, I cannot process the YUV in the CPU and convert it to RGB or something else, as the whole point is to pass the YUV as it is into the GPU.
EDIT: As this is for android, the single channel GL_RED will not work as such has not been implemented.
android - 使用 glTexImage2D 绘制 63*63 图像
在android中,使用这个代码是有效的:
但在 iOS 中不起作用,此代码仅绘制 64 *64(2 的幂)
我怎样才能 ?
非常感谢!!!
c++ - glTexImage2D() 函数访问冲突错误
我一直遇到 glTexImage2D 的问题,它阻止我渲染到屏幕上。
这是我的代码:
我最近刚刚收到错误,但我不明白问题可能是什么。有什么可以指出我正确的方向吗?
c++ - 使用 OpenGL 渲染 QImage
与我的另一个问题相关,我认为更核心的问题是,如何QImage
使用 OpenGL 渲染?
我认为代码必须看起来像这样,但我不确定我还需要什么,除了可能convertToGLFormat(img)
.
另外,我认为你可以使用又快又脏glDrawPixels()
(虽然你不应该),比如
但无论哪种方式,我都看不到图像,只是一个大小相同的白色正方形。我在这里遗漏了一些东西。
opengl - glTexImage2D 与 gluBuild2DMipmaps
非常基本的 OpenGL 纹理创建代码:
和渲染:
文使用glTexImage2D
,没有画,但gluBuild2DMipmaps
我看到了 gDebugger 正确创建纹理的结果。问题是什么?
opengl-es - GPUImage 用纹理中的颜色替换颜色
看起来GPUImagePosterizeFilter
它似乎很容易用纹理中的像素替换颜色。假设我有一张由 10 种灰度颜色组成的图像。我想用来自 10 个不同纹理样本的像素替换 10 种颜色中的每个像素范围。
创建纹理的正确方法是什么?我正在使用下面的代码(我不确定发送到的 alpha 参数CGBitmapContextCreate
)。
将纹理传递给过滤器的正确方法是什么?在我的主要内容中,我添加了:
在下面的代码中texture
是从上面的函数传递的内容。
每当我尝试spriteContext
从其获取图像nil
以及尝试使用像素时,fill0Texture
它们总是黑色的。我曾考虑过用 10 次色度键迭代来做到这一点,但我认为替换修改后的所有像素是可行GPUImagePosterizeFilter
的方法。
java - OpenGL - 渲染纹理,颜色故障
我正在尝试使用xuggle将视频渲染为纹理,但我遇到了一些麻烦......这是我的代码:
和视频阅读器 (另一个线程):
请告诉我,我做错了什么?我尝试更改glTexImage2D格式和类型,但只得到错误:(
结果图像(世界渲染):
编辑: 我的代码有灰色纹理:
c++ - TexSubImage2D 只为特定图像生成乱码纹理
我正在尝试将纹理呈现在另一个纹理之上,如下图所示:
但是,只有该图像才能正确渲染。我的其他图像出现乱码和“扭曲”。如果你仔细看,就好像行被移动了:
在上面的示例中,我在背景中使用了相同的猫图片。这张猫图片和我生成的所有其他图片最终都会出现乱码,除了一张特殊图片,出于某种原因。我查看了 EXIF 数据,除了它不使用 sRGB 之外,它的格式与其他数据完全相同。它有一个阿尔法通道和一切。
考虑到行的移动方式,我相信它与像素对齐有关,但我已经尝试了所有可能的对齐组合,但到目前为止没有任何效果。这是我的代码:
加载背景图像的代码类似,只是它使用此调用而不是 glTexSubImage2D: