问题标签 [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 投票
2 回答
433 浏览

c# - 为什么调用 Texture2D.GetData 时出现“太大或太小”错误?

我需要快速保存图像,我使用的是 Texture2D.GetData 和 SetData,因为简单地保存和加载图像太慢了。图像为 1024x1024。

我收到 ArgumentException 错误:

“传入的数据大小对于这个资源来说太大或太小。”

所以我不能保存 1024x1024 的图像?有没有更好的方法来做到这一点?为什么这不起作用?

0 投票
1 回答
812 浏览

visual-c++ - 如何使用 Direct2D 从窗口中获取像素

我的问题是在窗口中获取像素。我找不到办法做到这一点。我使用标准的 Windows 函数和 Direct2D(不是 DirectDraw)。我正在使用新窗口的标准初始化:

然后我创建一个D2D1factory对象并在窗口中绘制位图:

我需要计算点击次数(我正在尝试制作简单的游戏)。所以这就是为什么我需要访问窗口中的所有像素。

我正在考虑使用其他算法,但它们更难制作,我想从更简单的开始。

我知道这个GetPixel()功能,但我不明白我应该使用什么HDC

0 投票
1 回答
51 浏览

c# - 定制的 inputTextBox 闪烁

我在使用 XNA 4.0 创建输入框时遇到了困难。

我已经可以在 inputTextbox 中绘制和输入文本,但是当我输入时出现两个问题。

  1. 当我按住一个键时,我想它会写很多次那个字符,但事实并非如此。我不知道为什么它没有。
  2. 按键时屏幕闪烁,我该如何解决?我已经尝试过翻转后缓冲区或类似的东西太糟糕了,这不是解决方案

这是属于文本框的代码:

0 投票
3 回答
61 浏览

c# - xna 4.0 c# 旋转图像集合

我和我的团队现在正在 xna 开发一款游戏。然而我们遇到了一个问题。这是一个开放空间模拟游戏,玩家可以在其中一个房间一个房间地建造自己的船只(俯视图)。每个房间都有一个 texture2d,但是由于游戏是自上而下的,我们需要能够“转动船”。

我们在旋转组成飞船的 texture2ds 集合时遇到了问题。在我们的旧代码中,我们试图围绕一个中心原点旋转所有房间作为桥梁的位置。由于我们遇到了这个问题,我们在网上查看并决定尝试使用 RenderTargets(将整艘船绘制到 RT 上,然后我们可以在绘制时旋转 RT 图像)。我们的问题是 RT 绘制了一个大的紫色背景,并且由于我们的船并不总是完美地填充在矩形中,所以总会有一个紫色的背景从某个地方突出来。

问题是:在 xna 中围绕单个原点旋转一组 texture2ds 的最佳方法是什么,就好像它们是单个图像一样?

0 投票
1 回答
790 浏览

c# - 使用渲染目标时摆脱黑色背景

我想要做的是使用 spritesheet 来创建混合地形,将其保存为纹理,然后将其传递到着色器以获得额外的效果。但是,我遇到了渲染目标的一些问题:

显然,这会创建一个黑色背景,上面有我的纹理。但是,当我实际将该纹理绘制到我的主场景上时,我不想要背景,只想要纹理(如果我不使用 clear,我会得到默认的紫色)。我该如何解决?

0 投票
1 回答
1226 浏览

c# - XNA 4.0.4 在 rendertarget 中使用 Z-buffer

我尝试在 rendertarget2d 中绘制我的 3d 世界。如果我使用默认的渲染目标,世界看起来很完美......但如果我渲染到渲染目标2d,z 缓冲区将不起作用,并且背景中的对象将被绘制在其他人面前。

rendertarget2d 是正确的类吗?我做错了什么?

我可以更改渲染目标中的一些设置吗?还是我必须编写一个 Z 缓冲区着色器?感谢您的帮助!

0 投票
1 回答
367 浏览

visual-studio-2010 - CreateBitmapFromWicBitmap 访问冲突

这是我的问题:我正在做一个测试项目,它初始化 Direct2D 以绘制一些东西。

现在,我需要创建 BMP 背景,所以我在 MSDN 网站上查看了一些加载 bmp 以将其与 Direct2D 一起使用的教程。经过一些编码和调试后,我遇到了唯一无法完全理解的问题,好吧,我被困在这里了。问题很简单:我在这一行得到了访问违规: pRenderTarget->CreateBitmapFromWicBitmap( pConverter, NULL, ppBitmap); 我修复了我能找到的所有问题并测试了每个 HRESULT。

这是 background.cpp 的完整代码:`

`

这是父类“Render.cpp”(我如何管理类继承与问题之间没有联系 - 我试图创建只包含一个类的新项目,包括渲染和背景)

`

`

0 投票
1 回答
2393 浏览

c# - SharpDX 调试:“Device.CreateWithSwapChain()”与“new SwapChain()”?

如果我像这样创建我的设备和我的 SwapChain:

我得到了预期的调试文本:在此处输入图像描述

现在,如果我像这样创建我的设备和我的 SwapChain:

我没有得到预期的调试文本:
在此处输入图像描述

除了没有得到预期的调试文本外,我的输出中还有很多新消息:

最后一条消息在每帧重复的地方......

为什么会这样?两种创建方法有什么区别?如何正确使用第二种创建方法?

PS:我想使用第二种创建方法,因为我需要设备确定抗锯齿设置...

PPS:如果需要,这里是创建 RenderTargetView 的代码:

0 投票
1 回答
1365 浏览

three.js - Three.js 使用 renderTarget 的图像数据更新 DataTextures

我正在开发一个运动检测程序,Three.js其中使用当前帧和前一帧之间的差异。现在,在减法之前,当前帧和前一帧都使用Three.EffectComposereach 进行模糊处理。

主要问题是:我不想再次模糊前一帧,而是想在减法过程中使用之前模糊的“当前”帧作为纹理。

我设法做的最接近的事情是使用下面的函数来更新Three.DataTexture. 它在 -function 中使用,在render()渲染 Blurring composer 之后,但在渲染减法之前。它们都被渲染到屏幕上Three.CopyShader

“图像”在哪里renderer.domElement。这种方法感觉效率很低,我需要将 Blur-pass 渲染到屏幕上,这导致结果闪烁。

编辑 1 当前代码如下所示,它模糊了当前和以前的图像,然后计算差异。-animate()函数是兴趣点。

  • 如何prevBlur.image.data使用 的当前图像数据更新BlurSave.rendertarget

  • 有没有其他方法可以使用来自前一个时间步的图像数据Sampler2D的值来更新着色器的制服?WebGLRenderTarget

0 投票
1 回答
2712 浏览

directx-11 - 一次渲染到完整的 3D 渲染目标

使用 DirectX 11,我创建了一个可以绑定为渲染目标的 3D 体积纹理:

我现在想更新整个渲染目标并用像素着色器中生成的程序数据填充它,类似于使用“全屏通道”更新 2D 渲染目标。生成数据所需的一切都是相关像素的 UVW 坐标。

对于 2D,可以构建一个简单的渲染全屏三角形的顶点着色器:

我很难思考如何将这一原则用于 3D。这在 DirectX 11 中是否可行,或者我是否必须按照此处所述渲染到体积纹理的各个切片?