fbo相关内容

WebGL2 FBO深度附着值

我只是尝试使用WebGL2呈现场景的深度值,如下所示: //Texture depthTexture = gl.createTexture(); gl.bindTexture(gl.TEXTURE_2D, depthTexture); gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT24, width, ..
发布时间:2022-03-14 12:46:38 其他开发

在 OpenGL 中处理 FBO 的最佳方法是什么?

我很久以来就想知道处理 OpenGL FrameBuffer 对象 (FBO) 的最佳方法是什么.切换 FBO 的成本可能很高,但也需要定义新的附件. 你是如何快速做到的? 我在这三个之间犹豫: 1 个 FBO 用于一切,更改附件但不要在 FBO 之间切换 为渲染路径中的每个渲染目标(大小 + 格式)提供 1 个 FBO.这意味着我将为类似的渲染目标重用相同的 FBO.但是 ..
发布时间:2021-12-19 18:22:37 其他开发

在固定功能管线绘制中使用 FBO 将 OpenGL 场景渲染为纹理

问题 我从事开源游戏 torcs (http://torcs.sourceforge.net/).游戏的图形管线仍然使用OpenGL 1.3的固定功能管线(FFP). 我尝试将游戏场景渲染到 FBO(帧缓冲对象)中的纹理,以便对渲染的纹理进行一些后期处理.我使用 OpenGL 3.3.在我的机器上. 目前我已经在 GL_COLOR_ATTACHMENT0&1 处设置了带有附加纹理 ..
发布时间:2021-12-19 17:43:25 其他开发

THREE.js 中的着色器材质和 GL 帧缓冲区

我正在尝试在 THREE.js 的材料中使用 FBO.我有一个基于 GPU 的流体模拟,它将其最终可视化输出到一个帧缓冲区对象,我想用它来纹理网格.这是我的简单片段着色器: 不同的vec2 vUv;均匀采样器2D tDiffuse;无效主(){gl_FragColor = texture2D(tDiffuse, vUv);} 然后我尝试使用一个简单的 THREE.ShaderMaterial: ..
发布时间:2021-07-23 20:03:04 前端开发

无法使用 glGetTexImage 读取深度贴图纹理

我已经成功创建了一个帧缓冲对象并创建了一个包含场景深度图的纹理.我知道我这样做是正确的,因为我将纹理应用于矩形,它看起来很好: 现在我想从我在主程序中创建的纹理而不是在着色器中读取值.查看它我发现了两个函数,即:glGetTexImage() 和 glReadPixels().由于我对 openGL 很陌生,因此有关这些的文档带来的问题多于答案.在查看了这里其他人的代码后,这是我找到解决方案 ..
发布时间:2021-06-12 20:10:59 其他开发

Opengl,不绑定 VBO 的 DrawArrays

我正在使用自定义顶点着色器渲染点数组.着色器看起来像: void mainVP()在不同的 int in_vertex_id 中:VERTEXID{富(in_vertex_id);} 所以我唯一需要的就是顶点 id.但我需要很多顶点,我不想为它们存储假 VBO(它需要大约 16mb 的内存). 我尝试在不绑定任何 VBO 的情况下运行我的代码.有用.所以我的渲染看起来像: size_t ..
发布时间:2021-06-12 20:04:48 其他开发

使用GLFW + GLEW时glGenFramebuffers()访问冲突

我收到此错误: “访问冲突执行位置0x00000000." 在Windows上使用GLFW + GLEW时. 我正在使用Windows7.我也有自己的实现(从头开始),该实现创建一个窗口,初始化OpenGL上下文,初始化GLEW等,并且一切正常.因此,当然,我的视频卡具有帧缓冲功能,并且驱动程序一切正常……仅当我尝试使用GLFW时,问题才会发生. 有什么建议吗? 代码 ..
发布时间:2021-05-09 19:26:39 其他开发

在three.js中使用交换的缓冲区在反馈循环的第一帧中加载文件纹理

我正在使用多个反馈着色器循环(纹理乒乓)在Three.js中的网站上工作。 当某人访问该站点时,循环应该从某个点继续(取决于他/她访问的时间)。为此,我打算在第一帧中从服务器加载图片(例如jpeg),将其渲染到我的乒乓缓冲区中,并从第2帧开始继续我的正常反馈循环。 这是我的问题的简化版本,作为反馈功能,我只是在前一帧的像素颜色中添加了一个小值。 ..
发布时间:2020-10-19 06:44:26 其他开发

在OpenGL中使用多个颜色附件对多重采样的FBO进行划线

我在带有多个颜色附件的OpenGL程序中有一个帧缓冲区对象,并正在尝试将其升级为多采样FBO. 据我了解,多采样FBO仅能使用渲染缓冲区,特别是使用glRenderbufferStorageMultisampleEXT创建的缓冲区.如果要在纹理中将此东西渲染到该FBO,则需要创建第二个FBO,并为其附件添加纹理,然后使用glBlitFramebufferEXT将多次采样的FBO转换为常规FB ..
发布时间:2020-09-13 20:01:14 其他开发

第一帧后,两个FBO之间的乒乓渲染失败.

我正在尝试创建两个FBO并实现乒乓渲染.但是,我只有第一帧才能正常工作.我正在尝试模拟人生游戏,在第一帧之后,我只会得到黑屏.你能帮我检查一下吗?我在这个问题上花了几个小时. 修改 也许我没有描述清楚.实际上,我想将textureB用作纹理并将其渲染到textureA,然后使用textureA渲染到屏幕,反之亦然. 修改 我可以看到第一帧,即textureB.通过片段着色器后,它 ..
发布时间:2020-05-21 00:27:52 移动开发

FBO屏幕外渲染缓慢

我想使用通过openGL es 2.0和GLSL着色器进行的屏幕外渲染 我设置了FBO,但似乎有问题,除了有两个问题 1)程序以约30 fps的速度运行,但突然下降到20 fps,然后又恢复到30 fps,然后几秒钟后又下降到20 fps,然后又恢复到30 fps,依此类推...(一直这样下去),我不知道是什么原因造成了这种随机的暂停/延迟 2)当我关闭应用程序时,它暂时没有响应.换句话 ..
发布时间:2020-05-21 00:25:11 其他开发

OpenGL |在UV坐标处渲染顶点

我正在使用OpenGL,需要在顶点的UV坐标下将3D模型的顶点渲染为FBO.为此,我首先必须将UV坐标空间转换为屏幕空间. 我得出的结论是: uv.x * 2 - 1 uv.y * 2 - 1 ...应该可以解决问题. 我在顶点着色器中使用它来将顶点放置在这些新位置.结果看起来像这样: …它应该看起来像这样: 似乎已扩大规模.我不知道问题出在哪里. 解决方案 ..
发布时间:2020-05-21 00:02:52 其他开发

OpenGL-FBO和Alpha混合

我正在寻找答案,但是我的问题找不到答案. 我有FBO,但无法进行Alpha混合和多重采样. FBO将场景绘制为纹理,然后淹没到具有两个带纹理的三角形的默认帧缓冲区中.直接绘制到默认的帧缓冲区就可以了. 这是默认帧缓冲区(顶部)和我的FBO(底部)之间的区别. 我使用带有2个彩色附件和1个深度附件的FBO. (仅使用GL_COLOR_ATTACHMENT0,第二个用于其他功能) ..
发布时间:2020-05-21 00:00:07 其他开发

大于窗口大小的渲染缓冲区-OpenGL

我正在尝试绘制大于屏幕尺寸(即320x480)的渲染缓冲区(512x512). 在执行glReadPixels之后,图像看起来是正确的,除非图像的尺寸超过屏幕尺寸的尺寸-在此示例中,水平超过320,垂直超过480.是什么导致此异常?有什么我想念的吗? 当窗口大小> =渲染缓冲区的大小时,此代码绝对可以正常工作. 已渲染到缓冲区&的示例图像glReadPixel'd: http://im ..
发布时间:2020-05-20 23:38:22 其他开发

将FBO复制到VBO时出错

在GPU上进行了一些计算之后,我想将FBO中存储的结果复制到VBO进行渲染. 问题:执行复制时,似乎某些数据已损坏.我已经检查了缓冲区的格式和大小,并检查了FBO中存储的数据是否正确. 请考虑以下代码来初始化FBO: unsigned int verticesTextureId = AllocateTexture(GL_TEXTURE_RECTANGLE, mVBOSize, 1 ..
发布时间:2020-05-20 23:38:09 其他开发