render-to-texture相关内容

在 iOS OpenGL ES 上渲染到纹理——适用于模拟器,但不适用于设备

为了提高我在 iPad 上的 OpenGL ES 应用程序的性能,我计划在纹理上绘制一个很少更新但渲染时间很长的元素,所以我可以只使用纹理,除非必须重新绘制元素.然而,虽然纹理在模拟器和设备上都正确映射,但只有在模拟器上才能真正渲染到纹理中. 以下是我添加到项目中的代码.在设置场景时,我创建了所需的缓冲区和纹理: int width = 768;整数高度 = 270;//为离屏渲染准备纹理 ..
发布时间:2022-01-09 09:12:12 移动开发

ffmpeg 视频到 opengl 纹理

我正在尝试将使用 ffmpeg 从视频中抓取和转换的帧渲染为要放在四边形上的 OpenGL 纹理.我已经用尽了谷歌并没有找到答案,我已经找到了答案,但似乎没有一个有效. 基本上,我使用 avcodec_decode_video2() 解码帧,然后 sws_scale() 将帧转换为 RGB,然后 glTexSubImage2D()code> 从它创建一个 openGL 纹理,但似乎无法得到任 ..

在固定功能管线绘制中使用 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 其他开发

在 iPhone 上渲染为非二次幂纹理

是否可以在 iPhone(2G 及更早版本)上使用 OpenGL ES 1.1 渲染到纹理?如果我将纹理绑定为渲染缓冲区,则它必须是渲染缓冲区的大小,而不是 POT 大小.但是 OpenGL ES 1.1 要求纹理是 POT. 也许在 ES 1.1 上做不到? 解决方案 虽然 OpenGL ES 1.1 不支持非二次幂纹理,但较新的 iOS 设备模型具有扩展名 GL_APPLE_te ..
发布时间:2021-12-03 11:15:52 移动开发

Framebuffer FBO 渲染到纹理很慢,在 Android 上使用 OpenGL ES 2.0,为什么?

我正在使用 opengl es 2.0 编写一个 Android 2d 游戏.在将精灵绘制到后台缓冲区后,我将灯光绘制到 FBO 并尝试再次将其混合到后台缓冲区.当我将 FBO 绘制到帧缓冲区时,即使没有任何颜色,帧率也会从 60 下降到 30(三星 Galaxy w(它的 GPU 为 adreno 205)).我到处搜索并尝试了所有方法,即使我在场景中绘制单个精灵并将透明的 FBO 纹理混合到屏 ..
发布时间:2021-11-26 13:32:25 移动开发

Framebuffer FBO 渲染到纹理很慢,在 Android 上使用 OpenGL ES 2.0,为什么?

我正在使用 opengl es 2.0 编写一个 Android 2d 游戏.在将精灵绘制到后台缓冲区后,我将灯光绘制到 FBO 并尝试再次将其混合到后台缓冲区.当我将 FBO 绘制到帧缓冲区时,即使没有任何颜色,帧率也会从 60 下降到 30(三星 Galaxy w(它的 GPU 为 adreno 205)).我到处搜索并尝试了所有方法,即使我在场景中绘制单个精灵并将透明的 FBO 纹理混合到屏 ..
发布时间:2021-11-24 21:22:18 移动开发

THREE.js:从 THREE.WebGLRenderTarget 获取数据

A THREE.Texture 可用作材质中的贴图,并具有称为“图像"的属性.THREE.WebGLRenderTarget 可以用作材质中的贴图,但没有称为“图像"的属性. 如何从 WebGLRenderTarget 检索纹理数据?我想将其保存到文件中(或者,如果不可能,则保存为字节数组). 解决方案 新功能: WebGLRenderer.readRenderTargetPixe ..
发布时间:2021-09-07 18:45:22 其他开发

写入RenderTarget后,如何有效地克隆输出?

XNA新手在这里,每天学习.我刚刚弄清楚了如何使用RenderTarget2D将多个纹理合成为一个.但是,尽管我可以将RenderTarget2D用作大多数用途的Texture2D,但有一个关键的区别:调整后缓冲区的大小时,这些渲染的纹理会丢失(毫无疑问,在其他情况下,例如图形设备的内存不足). 目前,我只是将完成的RenderTarget2D复制到新的非易失性Texture2D对象中.但是,我 ..
发布时间:2021-04-18 20:33:54 C#/.NET

仅使用OpenGL上下文ID(Java)渲染为纹理

我们需要渲染整个游戏窗口的纹理。我们只有来自客户端的Java SDK jar,并且只能访问它们在游戏运行时创建的窗口的OpenGL窗口上下文ID。 我的问题是 我们不能更改客户端代码,但是我们需要渲染编辑器 他们使用LWJGL进行渲染。计划是将游戏渲染到单独的窗口中,类似于: 我想这只能通过提到的渲染纹理来实现。 解决方案 如果可以使用常规的openGL命令,可能有 ..
发布时间:2020-10-27 22:27:11 Java开发

渲染到纹理-ClearRenderTargetView()可以工作,但是没有对象渲染到纹理(渲染到屏幕可以正常工作)

我尝试将场景渲染为纹理,然后将其显示在屏幕的一角。 我可以这样做: 渲染场景(我的 Engine :: render()方法将设置着色器并进行绘制调用)-正常。 将渲染目标更改为纹理。 再次渲染场景-无效。 context-> ClearRenderTargetView(texture-> getRenderTargetView(),{1.0f,0.0f,0.0f,1.0f}) 确 ..
发布时间:2020-10-22 04:10:22 C/C++开发

XNA何时丢弃渲染目标内容?

我了解XNA中的渲染目标是易变的,但是它们的易变性是什么?我找不到任何文档来说明确切的时间。 我想只绘制一次渲染目标,然后将其用作绘制对象。 无限期地Texture2D。这可能吗?我是否需要启用 RenderTargetUsage.PreserveContents 才能正常工作?我读过PreserveContents在Xbox和电话硬件上非常慢。 解决方案 乔纳森(Jonath ..
发布时间:2020-10-22 01:46:52 C#/.NET

在DirectX 11中通过一遍渲染为多个纹理

我正在尝试使用C ++ Directx 11 SDK一次渲染到两个纹理.我希望一个纹理包含结果图像每个像素的颜色(渲染3D场景时通常在屏幕上看到的颜色),另一个纹理包含每个像素和深度的法线(法线3个浮点,1个浮点)深度).现在,我能想到的是创建两个渲染目标,并将第一遍渲染为颜色,第二遍将法线和深度分别传递给每个渲染目标.但是,这似乎很浪费时间,因为我可以在第一遍中获得每个像素的颜色,法线和深度的信 ..

在WebGL2中渲染为16位无符号整数2D纹理

如WebGL 2官方规范或文档中所述(我可以轻松地用UInt16Array填充纹理,然后使用它.但是我无法使用着色器将纹理渲染填充到其中.然后,当我在下一个着色器中采样值时,我只会得到零. 是否有人已经成功使用WebGL 2渲染为无符号整数纹理?我将非常感激,我玩了数周的纹理格式,但在这里我没有做错什么……而且在关于该主题的其他SO问题中我也没有发现自己的错误. > 您可以在下面的代码段中 ..

纹理上的OpenGL ES 2.0着色器不起作用

我从此网站复制了示例点击 在修复一些小问题并扩展着色器以达到我的目的后,它运行良好.现在,我想将纹理移动/平移到屏幕的右侧. 在这种情况下,我必须在代码和着色器中添加一个ModelViewProjection矩阵,对吗? 完成此操作后,纹理不再显示:-(我做错了什么? 所以代码一直有效,直到我从以下位置更改着色器gl_position为止: gl_Position= ..
发布时间:2020-05-21 00:42:10 其他开发

OpenGL-FBO和Alpha混合

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