问题标签 [post-processing]

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 投票
0 回答
1046 浏览

javascript - 如何仅在图像上应用 Sobel 滤波器或 Frei-Chen 滤波器?

我用一个需要可视化图像层的示例来测试 Three.js,如下所示:

在此处输入图像描述

当我使用“THREE.EdgeShader”或“THREE.EdgeShader2”时,我获得了图像的过滤器下一张图像显示了获得的结果:

在此处输入图像描述

我的问题出现是因为场景也被修改了。所以,我只需要对图像应用过滤器。此外,我要求在应用滤镜后,所有导致黑色的像素都是透明的。你可以帮帮我吗 ?

代码是:

0 投票
2 回答
1719 浏览

opengl - 后处理和生成的纹理

我试图了解后处理是如何工作的。

据我了解,我需要这样做:

该系统的问题是:如何在生成的四边形上应用多种效果?

在我看来,我认为在生成的纹理上应用“效果”(着色器)然后绘制四边形可能是最好的解决方案,但我不知道这是否可能。

我可以直接在纹理上应用着色器吗?

PS:这是我目前所做的,我目前可以在纹理中绘制所有场景:

  • PostEffect 类(要应用的效果)

  • EffectManager(创建输出纹理并有一个方法“add(PostEffect*)”

0 投票
1 回答
331 浏览

opengl-es - 移动 GPU 上的扩展浮点精度

我正在尝试使用 opengl-es 2.0 计算 gpu 上图像的梯度矢量场。我为它找到了一个 cpu 实现,我用它来与我的 gpu 实现进行比较。这里的挑战是 cpu 实现依赖于 java 类型的 float(32 位),而我的 gpu 实现使用的是 lowp float(8 位)。我知道我可以使用 mediump 或 highp 来获得更好的结果,但我仍然想继续使用 lowp float 以确保我的代码能够在最差的硬件上运行。

计算梯度向量场的前几个步骤非常简单:

  1. 计算归一化灰度(红+绿+蓝)/3.0
  2. 计算边缘图(右像素-左像素)/2.0 和(上像素-下像素)/2.0
  3. 计算拉普拉斯算子(稍微复杂一点,但现在不需要详细说明)

目前,无需做任何花哨的事情,我就可以准确地模仿第 1 步,以使 cpu 实现的图像结果与 gpu 的图像结果相同。

不幸的是,我已经停留在第 2 步,因为我的边缘图计算在 gpu 上不够准确。

所以我尝试实现一个扩展的精度浮点,灵感来自http://andrewthall.org/papers/df64_qf128.pdf

我对opengl-es还很陌生,所以我什至不确定我在这里做的是否正确,但下面是我打算编写的操作,以解决我目前正在遭受的这种精度损失。

显然,我一定是在这里做错了什么,或者错过了一些非常基本的概念,因为无论我使用简单操作还是扩展浮点操作,我都会得到相同的结果......

0 投票
1 回答
601 浏览

c++ - OpenGL创建后纹理上的形状抗锯齿

我有一个透明的 OpenGL 纹理,上面有一些由 OpenGL 绘制的简单形状:圆形、多边形、线条。它们是在没有抗锯齿、多重采样等的情况下绘制的。因此,它们有锯齿状的边界。

我无权访问纹理创建过程,因此无法启用多重采样。有没有办法在绘制完成后使这些平滑?

0 投票
2 回答
6637 浏览

java - Tomcat 7.0:创建名为 'org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor 的 bean 时出错

启动我的 Tomcat 7.0 时出现错误:

哪里有很多这样的错误。该项目基于maven,spring。

你有什么想法为什么会发生这种情况?该项目没有任何红色错误并且构建成功。

以下是我使用 maven 处理依赖项的方式:

并且错误堆栈跟踪是:

这是导致错误的bean定义:

如果我注释掉这些 bean,应用程序将开始工作,但我将来可能需要它们:

0 投票
1 回答
812 浏览

opengl - OpenGL:后处理+多重采样=?

我对 OpenGL 相当陌生,并试图弄清楚如何在我的场景渲染中添加后处理阶段。到目前为止,我相信我知道的是我创建了一个 FBO,将场景渲染到该场景,然后我可以使用我的后处理着色器将 FBO 的纹理作为输入渲染到后台缓冲区。

但是,这超出了我的知识范围,是在引入多重采样时。必须对 FBO 进行多重采样。这留下了两种可能性:1. 后处理着色器对子样本进行 1:1 操作以生成最终的多重采样屏幕输出,或者 2. 着色器必须解析多个样本并为每个屏幕像素输出一个屏幕片段。这些怎么做?

0 投票
1 回答
767 浏览

javascript - 后处理三个JS

我对三个js后处理有问题。我选择了glitchpass效果。所以我导入了所有的库等,但效果不起作用。什么也没发生,但控制台中没有错误。

和动画循环:

我不知道为什么代码不起作用。所以我将相同的代码直接放入一个html文件(test.html)

这是相同的代码,但这是工作(没有继承和这个)。

你有什么想法吗?

谢谢

0 投票
1 回答
171 浏览

java - 如何从遮挡贴图制作一维阴影贴图?我的变白了

我已经在我的游戏的 GPU 后期处理效果方面工作了一段时间,但我遇到了一个似乎无法解决的问题,试图实现自上而下的定向光。

我已经从场景中生成了一个遮挡贴图,并且我正在尝试使用这个着色器创建一个高度贴图,该着色器的灵感来自于 libgdx 的像素完美阴影教程:

输入纹理就像一个正弦波,纹理的最小值为 0,最大值为 100%。(我还不能发布图片,我需要更多的声誉)但是纹理在正弦波上是不透明的(如果在 FBO 渲染后没有翻转)并且在有空气的地方是透明的。

java渲染代码是这个:

但是使用这个着色器,它会生成一个完全白色的 1D 阴影贴图,就好像 Occlusion 贴图上什么都没有。我试过翻转遮挡贴图,查看了着色器的错误日志,理论上没问题。

我做错了什么?是否有另一种方法可以生成 1D 阴影贴图?

0 投票
4 回答
1370 浏览

c# - 以编程方式在方法主体结束之前插入代码行

我想做的是以编程方式插入一行代码(C#,意思是打开一个现有文件并写入它)(见下文):

我有MyClass.cs

这样做的最佳方法是什么?如何找到方法“HelloWorld”,然后找到“匹配的”右括号 ( } )?

许多人可能想知道为什么我想要这个(因为它看起来有点愚蠢)。我想要这个,因为我在为 Windows 应用商店应用程序构建时正在为 Unity 编写 PostProcess 脚本。并且在每次新构建之后都需要手动添加一些东西(我想自动添加它以尽量减少可能出错/被遗忘的东西的数量)。

编辑

显然我不够清楚。上面的代码只是一个例子的意思,它不会和上面的代码例子完全一样。可能有也可能没有开关盒。可能有额外{的 和}字符(尽管总会有一个匹配的开始和结束括号)。没有“占位符”,这意味着没有“ <--------INSERT CODE HERE --------> ”我可以找到并替换。如果事情这么简单,我就不会寻求帮助了!抱歉,如果我不清楚,但老实说,我认为我提供了足够的信息。

0 投票
1 回答
532 浏览

opengl - OpenGL 帧缓冲后处理

我正在尝试使用帧缓冲区和屏幕外渲染将简单的晕影效果应用于我的场景。我能够让 FBO 和效果正常工作,但由于某种原因,我的场景根本没有出现。当场景加载时,我可以在一瞬间看到对象,然后它就变成“空白”(查看附件 gif)。我的理解是场景被正确地渲染到 FBO 中(否则它根本不可见,即使很短的时间也不可见),但由于某种原因它被某些东西抹去了。

源文件:gist.github.com/morcmarc/31a02dbbd9aad2955f47

http://postimg.org/image/wvhuestr3/

为了比较,这是直接渲染到内置帧缓冲区上的样子。只是为了显示场景似乎正在正确渲染。

http://postimg.org/image/jegkle3z9/