pixel-shader相关内容

HLSL 获得圆柱效果

我需要用 Silverlight 4 编写一个应用程序,并且需要显示像包裹在圆柱体上的图像.我需要一些 HLSL 代码,因为我不会使用 Silverlight 的效果来做到这一点. 我不会对 Silverlight 的 3D 库这样做.我只需要更改像素的 HLSL 代码. 我需要我的图像看起来像 this 谢谢. 解决方案 这似乎是您想要的效果,您可能希望更改 0.2 值以增加或减少 ..
发布时间:2021-12-23 23:49:38 其他开发

我可以在像素着色器中生成一个随机数吗?

我正在尝试编写一个非常简单的着色器,为适用的对象添加随机闪光.我想这样做的方法是向像素着色器中的像素值添加随机的白色阴影 (R = G = B). 似乎 noise() 不像我希望的那样工作: float multiplier = noise(float3(Input.Position[0], Input.Position[1], time)); 它给我“错误 X4532:无法将表达式映 ..
发布时间:2021-12-21 16:07:57 其他开发

像素着色器中的Mandelbrot

我正在研究Mandelbrot集的DirectX 11版本。到目前为止,我要做的是创建一个带有纹理的四边形。我可以使用Pixel Shader着色点,但是由于某些原因,Pixel Shader中设置的Mandelbrot无法返回预期的结果。我用普通的C ++代码测试了逻辑,并且得到了相同的错误结果。知道代码有什么问题吗?我有一个使用Python的正确版本,并且我只是复制了代码,但是似乎缺少了一些东 ..
发布时间:2020-10-22 03:57:08 C/C++开发

像素着色器功能tex1D对Texture2d做了什么

如果我从我的像素着色器在已初始化为texture2d的纹理上调用tex1d,它将把数据视为一维数组,然后仅将元素放在您指定的任何位置吗? 例如,如果您有一个10 x 10的纹理(这将是一维数组,长度为100个元素),并且您调用tex1d(mySampler,0.95),它将返回95个元素吗? 解决方案 我认为您会发现以下引用(关于DirectNA 9,这是XNA的基础): 由于 ..
发布时间:2020-07-03 19:14:58 其他开发

HLSL着色器减去背景图像

我正在尝试为Silverlight使用HLSL像素着色器,以从视频图像中减去背景图像.有人会提出比我正在使用的算法更复杂的算法,因为我的算法不能正确执行吗? float Tolerance : register(C1); SamplerState ImageSampler : register(S0); SamplerState BackgroundSampler : register( ..
发布时间:2020-07-03 19:13:55 其他开发

在我的Pixel Shader(UWP,Win2D)中支持多种颜色输入

我一直在开发一个可以提供颜色替换功能的应用程序,并且@Jet Chopper在解决方案上提供了很多帮助.他向我提供了以下代码,该代码基本上使用ControlSpectrum控件来控制源颜色和目标颜色.想法是您指定一个“源颜色",然后将其替换为“目标颜色".这是当前的工作代码: 这是我的原始帖子,其中包含带有GIF的原始解决方案. 原始帖子 XAML: ..
发布时间:2020-07-03 19:13:53 其他开发

通过HLSL中的像素着色器传递颜色

我有一个像素着色器,应该简单地将输入颜色通过,但是我得到的是恒定的结果.我认为我的语法可能是问题.这是着色器: struct PixelShaderInput { float3 color : COLOR; }; struct PixelShaderOutput { float4 color : SV_TARGET0; }; PixelShaderOutput main( ..
发布时间:2020-07-03 19:12:47 其他开发

如何在Cg片段着色器中修改/替换像素位置?

是否可以使用Cg修改片段(像素)着色器中的像素坐标?我确定第二代/第三代着色器中将提供这种功能,但我不知道确切的配置文件或如何进行配置. 解决方案 否,这不可能. 您只能在片段着色器中修改的坐标是Z,进入Z缓冲区.甚至还会影响性能,因为它会破坏某些优化(例如Hierarchical Z). 在执行片段着色器之前(在 Rasterizer 中)设置了X和Y位置.典型的光栅化程序实 ..
发布时间:2020-07-03 19:12:45 其他开发

如何在XNA 4.0中取消设置纹理数据

我需要向我的像素着色器传达一些不断变化的数据.我有一个texture2d通过纹理参数传递给我的像素着色器.在调用着色器之前,我需要更新纹理中的数据. emittingPositions.SetData(emittingPositionsBuffer); //Set the data on the texture animationEffect.Paramete ..
发布时间:2020-07-03 19:11:42 其他开发

如何在Silverlight中将图像包裹在圆柱体周围

我正在尝试在Silverlight中将图像包裹在圆柱周围.我在Google上看了很多东西,但是什么也没找到.据我所知,可以使用像素着色器完成此操作,但不知道如何操作. 有可能吗? 谢谢. 解决方案 这不是完整的圆柱体,但是您会得到一个入门的想法/示例: (代码在GLSL中,而不在HLSL中,但是我认为转换起来并不难) uniform sampler2D tex; void ..

是否有DirectX准则用于在绘制调用之间绑定和解除绑定资源?

所有DirectX书籍和教程都强烈建议将绘图调用之间的资源分配减至最少 –但我找不到任何能使细节更多的指南.回顾网络上的许多示例代码,我得出的结论是,程序员在此主题上的编码原理完全不同.有些甚至设置和取消设置 VS/PS VS/PS ResourceViews RasterizerStage DepthStencilState PrimitiveTopology ... 每次抽奖之 ..
发布时间:2020-07-03 19:11:28 其他开发

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

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

DirectX 11 Pixel Shader什么是SV_POSITION?

我正在学习DirectX 11的HLSL,我想知道SV_POSITION是什么,它是Vertex Shader的输出,还是Pixel Shader的输入. 1:是屏幕上每个像素或对象的x,y,z? 2:为什么会有4个32位浮点数? 3:顶点输出是否需要此系统变量? 谢谢! 解决方案 顶点着色器阶段只有一个必需的输出:顶点的位置.然后,固定功能栅格化器使用此值来计算要 ..
发布时间:2020-07-03 19:11:20 其他开发

HLSL获得圆柱效果

我需要用Silverlight 4编写一个应用程序,并且需要显示如包裹在圆柱体上的图像.我需要一些HLSL代码,因为我不会使用Silverlight效果来做到这一点. 我不会用Silverlight的3D库来做到这一点.我只需要HLSL代码即可更改像素. 我需要让我的图片看起来像此 解决方案 这似乎是您想要的效果,您可能希望更改0.2的值以增加或减少效果,或者在着色器中使其可调,但这是一个 ..
发布时间:2020-07-03 19:11:10 其他开发

像素着色器中可以实现哪种模糊?

高斯,框,径向,方向,运动模糊,缩放模糊等 我读到高斯模糊可以通过可以在像素着色器中实现的传递进行分解,但是找不到任何样本. 假定像素着色器无法实现任何与自身无关的效果,对吗? 解决方案 只要您能够将信息传递给着色器,就可以实现所有功能. 在这种情况下,技巧是执行多遍渲染.最终的着色器将使用一定数量的采样器,这些采样器是非模糊源,用于计算模糊值. 例如,可以使用多个 ..
发布时间:2020-07-03 19:11:07 其他开发

有条件的和未使用的采样器/纹理会为SM2/3像素着色器增加多少性能?

我们在HLSL中有一个像素着色器,该着色器在某些地方用于稍有不同的事物,因此具有多个条件块,这意味着在某些情况下可以省略复杂的功能.同样,这意味着我们将纹理作为采样器参数传递,而这些参数可能并不总是使用. 我不知道这两件事会增加多少性能,但是特别是因为我们在集成的图形芯片上支持SM2.0,因此效率低下是一个问题.那么,传递纹理而不使用它是否意味着任何额外的开销?并使用if只是添加了两条指令, ..
发布时间:2020-07-03 19:11:05 其他开发

我可以在像素着色器中生成随机数吗?

我正在尝试编写一个非常简单的着色器,以向适用对象添加随机闪光.我要执行此操作的方法是在像素着色器内的像素值中添加随机的白色阴影(R = G = B). 似乎noise()不能像我希望的那样工作: float multiplier = noise(float3(Input.Position[0], Input.Position[1], time)); 相对于对noise()的调用,它 ..
发布时间:2020-07-03 19:10:03 其他开发

在像素着色器中计算世界空间坐标

我有一个像素着色器,我想根据我的世界空间坐标来计算每个像素的位置.我该怎么做?我需要什么? 我有一个ps_input结构,该结构的float4位置为:SV_POSITION.我假设这很重要,但是存储在里面的值似乎有点可笑. 我似乎无法弄清楚它们之间的关系.例如,如果一个像素是2d,那么为什么它具有w分量或z分量呢? 我正在使用DirectX,并且像素着色器位于HLSL中. C++ ..
发布时间:2020-05-29 02:04:33 其他开发