问题标签 [framebuffer]

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.

0 投票
1 回答
4088 浏览

opengl - 模糊 OpenGL 中的深度缓冲区 - 如何在片段着色器中访问 mipmap 级别?

我试图通过在片段着色器中模糊和混合 mipmap 级别来模糊深度纹理。

我有两个帧缓冲区对象:
1)附加了深度渲染对象的颜色帧缓冲区​​。
2) 附加了深度纹理的 z 帧缓冲区。

一旦我将场景渲染到颜色帧缓冲区​​对象,我就可以对深度缓冲区对象进行 blit,并且可以成功渲染它(输出是 GL_LUMINANCE 深度纹理)。

我可以通过在绘制深度缓冲区之前选择它来成功访问任何给定的 mipmap 级别,例如,我可以渲染 mipmap 级别 3,如下所示:

作为替代方案,我想将偏差参数添加到 texture2D() GLSL 函数,或者使用 texture2DLod() 并使用单个纹理采样器进行操作,但是每当我选择超过 0 的级别时,mipmap 似乎没有'未生成:

我不确定 mipmapping 如何与 glBlitFramebuffer() 一起工作,但我的问题是设置程序以使对 texture2D/texture2DLod 的调用给出预期结果的正确方法是什么?

谢谢,丹尼斯

0 投票
1 回答
2731 浏览

android - 如何更改 Android 的默认帧缓冲区?

我正在将 android 移植到 overo gumstix。因此,omapfb 驱动程序在该平台上似乎存在一些问题。根本没关系,因为无论如何我都想使用 udlfb(USB 显示器的驱动程序)。

直到今天,我还无法弄清楚如何将 udlfb 定义为默认帧缓冲区。尝试make menuconfig在那里选择 udlfb,但在启动新编译的内核时没有任何变化。omapfb 仍然想上来。

  • 所以我的最后一个问题:如何为 android 内核定义默认帧缓冲区驱动程序?

感谢您对此的任何建议:-)

0 投票
2 回答
4428 浏览

iphone - 如何使用 glBlendFunc (OpenGL ES 1.x) 进行 Photoshop 的屏幕混合?

我有一个简单的单通道(8 位)位图,只有亮度数据,我想将它与现有的帧缓冲区混合,比如在 Photoshop 中使用屏幕混合模式。

因此,源的白色像素 (255) 应该产生白色,源的 50% 灰色像素 (128) 应该产生 50% 的帧缓冲区像素,源的黑色像素应该不理会结果。我也必须设置glColor4f吗?

您的一些glBlendFunc专家可以在这里帮助我吗?

0 投票
0 回答
4970 浏览

iphone - iPhone OpenGL ES 上下文和帧缓冲区

我正在尝试正确设置帧缓冲区以支持深度和正确的视角。我在 XCode 中使用 OpenGL ES Application 模板,并且一直遵循OpenGL ES Programming Guide中的指南。

我将渲染器手动设置为 ES1,因为我只想使用 FFP 进行深度渲染。

这是我当前的代码:

当我推荐这部分代码时:

我得到了一个上下弹跳并正确渲染的四边形。任何关于深度问题的帮助都会很棒!

0 投票
2 回答
1371 浏览

user-interface - 如何创建一个简单的 GUI 库?

我需要创建一个仅基于原始帧缓冲区的简单 gui 工具包。
有没有描述这种事情的例子或论文?

显然我可以实现 X 但我认为这有点超出了范围:)

0 投票
2 回答
15812 浏览

ffmpeg - 如何将 16 位 RGB 帧缓冲区转换为可视格式?

我正在使用设备上的其他人的代码,该设备可以将图像放入/dev/fb/0并显示在视频上,或通过网络将其发送到客户端应用程序。

我无权访问客户端应用程序的旧源,但我知道以下有关数据的信息:

  • 720x480
  • 16 位
  • RGB(我不确定是 5,5,5 还是 5,6,5)
  • RAW(没有任何标题)
  • cat-能够/dev/fb/0
  • 675kb

如何给它一个标题或将其转换为 JPEG、BMP 或 RAW 类型,然后我可以在桌面应用程序中查看?

最终,我希望它是 jpeg 并且可以在浏览器中查看,但是我现在可以用眼睛看到的任何东西都可以使用。

成功

(见下面的评论)

失败的尝试

将图像横向显示三倍,几乎没有颜色,并垂直挤压:

显示图像,但有条纹和垂直压扁,颜色不好:

与上述类似

0 投票
1 回答
400 浏览

opengl - 视频作为 OpenGL 中的体素

关于在OpenGL中将视频中的图像序列显示为体素数据的任何好的参考资料?我想一次将所有这些图像显示为具有 50% alpha 的长方体,并使用键盘或鼠标进行导航。

0 投票
1 回答
1727 浏览

linux - 如何将 X11 中的帧捕获到文件中?

我认为 X11 的屏幕捕获实用程序应该有某种内部支持。那么如何将 X11 帧缓冲区中的帧捕获到文件中,例如 AVI、JPEG 等?

0 投票
1 回答
5205 浏览

linux - 如何分配/dev/fbX?

我想分配 /dev/fbX 设备,如下所示。
/dev/fb0 用于 USB-LCD 设备。
/dev/fb1 用于主显示设备。
我试试看。
版本 1:创建 /etc/udev/rules.d/91-udev-fb.rules

结果。
ls /dev 仅显示 /dev/fb0。

版本 2:创建 /etc/udev/rules.d/91-udev-fb.rules

结果。
ls /dev 显示 /dev/fb0 和 /dev/fb1,但 /dev/fb0 是 VESA VGA。udevadm 测试 /dev/fb0

和 udevadm info -a -n /dev/fb0 显示与 VESA VGA 相同。

我认为我创建的规则不正确。请建议我如何有效地使用 udev 规则。
这个环境是 VMware 上的 Debian Lenny。
目标是通过 udev assign 测试从引导过程中更改主监视器。
VESA VGA <-- 通过 udev assign 切换 --> USB-LCD。

这是默认的,没有添加到 /etc/udev/rules.d 中。
当我启动 linux 时,/dev/fb0 是主显示器,/dev/fb1 是 USB-LCD。
这是开发信息。

感谢您对此的任何建议:-)

0 投票
2 回答
943 浏览

opengl - 是否可以在主渲染循环之外渲染到帧缓冲区对象

我正在使用单独的帧缓冲区对象在 opengl 中拾色 2d 对象。我很好奇它是否可以只绘制到帧缓冲区并在需要时读取颜色。

我现在正在做的是在主渲染循环中,我将场景绘制到主帧缓冲区,然后仅将可选对象渲染到“拾取”帧缓冲区。

当用户单击鼠标时,它会绑定“拾取”帧缓冲区并读取像素,我知道选择了哪个对象。这样做的问题是,当用户单击鼠标时,我只需要“挑选”帧缓冲区,因此每帧都这样做效率低下。

当用户单击鼠标然后直接读取时,我尝试渲染到“拾取”帧缓冲区,但我得到的只是白色(背景颜色而不是告诉我它是哪个对象的颜色)。绘制“拾取”帧缓冲区只是将整个事物显示为白色,就像实际上没有渲染任何东西一样。

在渲染到“拾取”帧缓冲区时,我是否需要停止在主循环中绘图?还是我缺少一些东西可以使这成为可能?

编辑:我尝试在渲染到拾取帧缓冲区时不在主循环中绘图,但这也不起作用。