【问题标题】:Line drawing with GLSL shader, how to do it in fragment shader?使用 GLSL 着色器绘制线条,如何在片段着色器中进行绘制?
【发布时间】:2012-10-30 17:46:50
【问题描述】:

我读过一些论文,上面说他们可以使用 GLSL 着色器检测轮廓、边缘、脊并在其上画一条线。但是在实现中,他们说他们“访问”了相邻的像素并做了一些事情。这怎么可能?

这是有问题的论文 http://www.google.co.th/url?sa=t&rct=j&q=&esrc=s&source=web&cd=3&ved=0CDEQFjAC&url=http%3A%2F%2Fcg.postech.ac.kr%2Fresearch%2Fline_drawings_via_abstracted_shading%2Fline-drawing-s07.pdf&ei=I5GeUO-pMcKzrAf8_4DICw&usg=AFQjCNE7D9nMVKWvYwvNUaHo5S1ZfrG10A&sig2=CmnD6hbD6-0EYkvv-Bj3LQ

在第 3 节,渲染线。他们最初说的是 GLSL 着色器,但后来他们突然谈到对像素组进行采样。

我正在研究渲染后没有图像处理的非真实感渲染。因此,如果在 GLSL 着色器中完成,GPU 的使用可能是最佳的。

【问题讨论】:

    标签: opengl glsl shader npr


    【解决方案1】:

    如果不阅读论文,我认为它们可能意味着从纹理中收集读取,而不是分散写入到帧缓冲区,这在着色器中一直是可能的。从 OpenGL-4 开始,甚至可以从着色器进行分散写入,称为图像写入,但速度相当慢。无论如何,对于线路检测,您只需要收集读取,所以这不是问题。

    【讨论】:

      猜你喜欢
      • 2018-07-15
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 2015-08-30
      • 2017-05-16
      • 2021-07-19
      • 2019-11-27
      • 2014-09-06
      相关资源
      最近更新 更多