问题标签 [rendertarget]

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 回答
1000 浏览

unreal-engine4 - 一个白板上的绘图(渲染目标)被复制到所有白板上?

我正在使用虚幻引擎 4 VR 内容示例,其中有一个可以绘制的白板。它使用渲染目标将线条渲染到画布上。

问题是,当我复制白板以在关卡的其他地方使用时,它会显示相同的绘图,如下所示:

重复绘图

这是我正在使用的材料和纹理:

材质和渲染目标纹理

我试图复制材料和纹理并在其中一个白板上使用它,但结果相同。我不确定为什么渲染目标不是实例化/唯一的?为什么它在白板的多个实例上绘制相同的东西?

编辑(其他详细信息):我制作了原始渲染目标的副本并尝试指定它,但我还制作了原始渲染目标的材质实例并为副本指定了该实例,但仍然是相同的问题。我尝试动态创建渲染目标和材质实例,如您在此处看到的https://answers.unrealengine.com/questions/828892/drawing-on-one-whiteboard-render-target-is-copied.html,但随后我画不出来;所以我只对其中两个做了,但仍然有同样的问题

0 投票
0 回答
246 浏览

binding - 我如何将新的颜色信息写入后台缓冲区

嗨,这些天我在directx 11上遇到资源绑定问题。我想做的是将新的颜色信息写入后台缓冲区。

这样您就可以检查下面的代码。

凭我的直觉,我只是简单地将“outputTex”资源复制到后台缓冲区。而且,它什么也没做。我已经检查了 outputTex 的值是否正确。所以看来我不能使用 CopyResource()。

所以作为替代方案,我设法将“outputTex”资源传递给像素着色器,而不是处理后台缓冲区。

这仍然无法正常工作。

我希望这只是我的愚蠢错误。

0 投票
1 回答
234 浏览

directx - 我的简单渲染目标视图不起作用

我正在尝试创建另一个渲染目标视图并渲染它

之前,我只是从交换链获取缓冲区,然后从中创建 rtv,这很好。但只有在从自定义资源创建 rtv 时,我才会遇到问题。

我渲染它

期待红屏,但它只显示黑色。而且也没有错误日志。任何建议将不胜感激~

0 投票
0 回答
122 浏览

direct2d - 如何访问 Direct2D 硬件 RenderTarget 的位图数据?

我正在使用 Direct2D 进行一些简单的加速图像合成/操作,现在需要获取 RenderTarget 的像素数据以将其传递给编码器。

到目前为止,我已经通过渲染到 a 来解决这个问题BitmapRenderTarget,然后最终将位图从它绘制到 a 上WicBitmapRenderTarget,这样我就可以锁定一个区域并获取指向像素的指针。

然而...

这仅在我的初始 RenderTarget 使用时才有效D2D1_RENDER_TARGET_TYPE_SOFTWARE,因为硬件渲染目标的位图不能与 WicBitmapRenderTarget仅支持软件渲染的“共享”。软件渲染似乎比硬件慢得多。

有没有办法解决这个问题?改用 Direct3D 会更好吗?

0 投票
0 回答
231 浏览

vulkan - Vulkan - 渲染成多平面 YUV 渲染目标

我在 Vulkan 规范中没有找到任何支持或反对的内容:Is it possible to render to a YUV420p format render target texture 吗?如果是这样,vulkan 是否会从片段着色器输出中给出的 RGB 转换为渲染目标的 YUV?

0 投票
1 回答
849 浏览

c++ - UE4 - 如何在给定 4 个屏幕坐标的情况下缩放纹理或材质?

我正在尝试复制此视频中显示的门户:https ://youtu.be/_SmPR5mvH7w?t=245 。

更具体地说,概念的实现:“我们的门户相机当前看到的是这个,但我们的相机实际上应该看到的是这个”

现在我有一个 SceneCaptureComponent2D 渲染到一个渲染目标,该目标连接到下图中显示的材质。

链接到显示我的材料的图像。

图中显示的带有四个红色角的白色方块是门户的背面(出于调试原因,当前可见)。

我想要做的是取那个白色方块并将其放大以覆盖整个材料。给定那些红角的屏幕坐标。有没有办法缩放图像,使这些角现在放置在材质或纹理的坐标 (0,0)、(0,1)、(1,0) 和 (1,1) 中?

CapureComponent 相对于玩家在屏幕上移动,因此这需要在运行时完成,并考虑以一定角度查看白色方块,使坐标相对于彼此对角线。我之前尝试过更改材质 UV 并乘以偏移量,以便在白色正方形上有点零,但没有设法使其对角线以仅适合从某个角度观看的正方形。

我要更改相机、纹理还是材质?任何帮助表示赞赏!

0 投票
0 回答
457 浏览

three.js - Three.js:将模板剪辑与 EffectComposer 结合起来遇到问题

注意:看来我过度简化了我最初的问题。请参阅下面的编辑。

我正在尝试将 Three.js 的裁剪/模板示例中显示的技术与基于 EffectComposer 的渲染管道相结合,该技术在裁剪几何图形时使用模板缓冲区渲染“caps”,但我遇到了一些困难。可以在https://jsfiddle.net/2vc76ajd/1/找到演示该问题的小提琴。

EffectComposer 有两个通道:一个 RenderPass 和一个使用 CopyShader 的 ShaderPass(参见下面的代码)。

第一个像往常一样渲染场景,后者只是将渲染目标复制到全屏四边形上。如果我禁用 ShaderPass,一切都会按预期工作:几何体被剪裁,切割平面以不同的颜色绘制:

在此处输入图像描述

但是,当通过单击右上角的“复制通道”复选框启用 ShaderPass 时,会渲染整个切割平面,而不仅仅是“帽”:

在此处输入图像描述

大概在屏幕外渲染目标和模板缓冲区之间存在一些交互。但是,到目前为止,我一直无法找到一种方法让后续渲染通道看起来与初始渲染相同。谁能告诉我我错过了什么?

编辑:虽然 WestLangley 的回答解决了我最初的问题,但不幸的是,当您使用 SSAOPass 时它不起作用,这是我在尝试简化问题的问题之前所做的。我在https://jsfiddle.net/bavL98hf/1/上发布了一个更新的小提琴,其中包括建议的修复程序,现在可以在 RenderPass 或 SSAOPass 之间切换。打开 SSAO 后,结果如下:

在此处输入图像描述

除了 EffectComposer 中的渲染目标之外,我还尝试在 SSAOPass 中使用的所有渲染目标上将 stencilBuffer 设置为 true,但遗憾的是这一次不起作用。谁能告诉我我还忽略了什么?

0 投票
1 回答
55 浏览

three.js - 渲染到平面纹理的场景中的 Three.JS 相机控件?

本质上,我想在以下示例中使用相机控件旋转平面中的框。每次我尝试添加相机控件时,我都会旋转飞机。最终我想scrollevents用控件移动飞机并旋转飞机上的场景。

0 投票
0 回答
60 浏览

canvas - 在 Threejs 中,RenderTarget 到画布 Y 轴被翻转

我将场景渲染到 RenderTarget

然后绘制到画布如下

但画布 Y 轴被翻转。

那么如何在不翻转的情况下绘制renderTarget Y轴

或者有没有一种有效的方法来翻转画布上的 Y 轴。

谢谢

0 投票
2 回答
153 浏览

c++ - 如何在 C++ 中更新 UTextureRenderTarget2D?

我被引用@J。Rehbein 的问题。 如何在 C++ 中动态更新 UTextureRenderTarget2D?

并使用公共模块(“Core”、“CoreUObject”、“Engine”、“InputCore”、“UMG”、“GameplayTasks”、“Landscape”、“RHI”、“RenderCore”)。

为什么打印断言失败日志?

如何修复断言失败的问题?

请老师们。

}