fragment-shader相关内容

在 OpenGL 片段着色器中绘制三角形

我正在尝试使用 OpenGL 片段着色器绘制一个三角形. 我成功地画了一个圆,但我在处理方程/逻辑或绘制三角形的代码时遇到了问题. draw_triangle(vec2 v1, vec2 v2, vec2 v3) 这是片段着色器: #version 330 核心出 vec4 frag_color;void draw_circle(vec2 shift_val,整数半径,整数颜色){ve ..
发布时间:2021-11-24 22:28:54 C#

将SSBO绑定到片段着色器

我有一个SSBO,它存储屏幕上每个像素的vec4颜色值,并在主循环之前由计算着色器预先填充这些值. 我现在正在尝试将这些数据显示在屏幕上,我想这涉及使用片段着色器(尽管如果您知道一种更好的方法,我欢迎您提出建议) 因此,我试图将缓冲区或至少其中的数据获取到片段着色器,以便可以将每个片段的颜色设置为缓冲区中的相应值,但是找不到任何方法? 有人告诉我可以将SSBO绑定到片段着色器,但 ..
发布时间:2021-05-09 19:25:03 其他开发

为什么我们需要在OpenGL中进行纹理过滤?

将纹理映射到几何时,可以在 GL_NEAREST 和 GL_LINEAR 之间选择过滤方法. 在示例中,我们有一个纹理坐标被纹理元素包围,如下所示: u 和 v 值,它将返回相同的值.该值来自存储在内存中的查找表,该查找表通过 u 和 v 进行索引,而不是通过某种计算. 纹理“映射"是将表面上的特定位置与纹理空间中的特定位置相关联的过程.也就是说,您将表面位置“映射"到纹理中的位置. ..
发布时间:2021-05-09 19:24:56 其他开发

OpenGL 3.0帧缓冲输出到附件而无需我指定吗?

好,所以我有一个带有一堆附件的帧缓冲区.附件是“颜色",“绽放",“速度"和“深度". 我首先使用以下代码将帧缓冲区清除为自己选择的值. //清除颜色缓冲区float colorDefaultValue [4] = {0.5,0.5,0.5,1.0};glClearBufferfv(GL_COLOR,0,colorDefaultValue);//清除Bloom Bufferfloat bl ..
发布时间:2021-04-12 19:23:27 其他开发

始终面对相机的着色器纹理

我有这个基本的着色器,尽管我遇到了一些麻烦,但确实困扰我! 虽然我使用片段着色器应用纹理,但是我移动或旋转了相机,但脸上的纹理将始终面向相机(我已经添加了GIF图像作为示例). 因此,您可以在上面的图像上看到,纹理始终面对相机,如果我移近一点,它也会保持其缩放比例. 我试图达到可以四处移动的目的,并且纹理将保持其位置,旋转和缩放根据面部和顶点,而不是像现在这样根据相机. 这 ..
发布时间:2020-11-10 20:07:50 其他开发

使用Three.js法线着色器扭曲法线-r.58

我正在尝试使用Three.js r.58普通着色器制作置换贴图.我可以正确地移动它,但是即使我使用了computeTangents(),照明也似乎并没有遵循位移后的法线. 当我关闭位移时,我看到默认法线肯定很有趣.这是一个球体的顶视图,从侧面照亮(白点标记为pointLight): 这是一个演示页面: http://meetar.github.io/three.js- normal-m ..
发布时间:2020-11-10 20:06:43 其他开发

如何向WebGL着色器绘制的圆/椭圆添加统一的宽度轮廓(使用边缘/距离抗锯齿绘制)

我正在使用单个Quad和片段着色器在WebGL中绘制圆/椭圆,以便以独立于分辨率的方式绘制它们(边缘距离抗锯齿) 这是我当前的片段着色器: '#extension GL_OES_standard_derivatives : enable', 'precision mediump float;', 'varying vec2 coord;', 'vec4 circleColor = ve ..
发布时间:2020-11-10 20:06:36 前端开发

glsify-错误“您可能需要适当的加载程序来处理此文件类型"?

好吧我在 https://tympanus .net/codrops/2019/01/17/interactive-particles-with-three-js/只是想让他的自定义着色器正常工作.我引入了.frag和.vert文件(包含在链接中),并复制了他的设置.当我运行时出现错误 模块解析失败:意外的令牌(3:10)您可能需要一个 适当的加载程序来处理此文件类型. 这里: ..
发布时间:2020-11-10 20:06:29 前端开发

Three.js:对象相交和着色器材质

我有一个场景,其中的对象使用Lambert材质相交,例如 jsFiddle . 现在,我需要/想要将该平面的材质切换为Shader材质,并且该平面变成背景物体,例如此处. 问题是,我可以在对象中使用不同的材质并且仍然保留相交效果吗?这是Three.js的限制,还是着色器的工作方式?还是我在渲染器/材质中缺少参数? 目前还不能选择将所有工作都转移到材质球材质上,以利用材质球. ..
发布时间:2020-11-10 20:06:27 其他开发

Three.js-Vertex Shader UV变量仅返回0,0

我用OBJLoader加载了一个对象.我想使用带有纹理的着色器材质.我将纹理传递给材质的统一参数. 我将UV变量从顶点着色器传递到片段着色器. 但是当我使用uv坐标来映射我的纹理时,我总是得到0,0或至少这是它的样子.整个对象都带有纹理的左下角像素. 这是我的着色器: ..
发布时间:2020-11-10 20:06:24 其他开发

在片段着色器中绘制线段

我正在努力理解以下代码,其想法是在片段着色器中绘制一个简单的段.我试图分解它,但还是不知道???线. 有一个不错的解释,太好了.我在SO或Google上找不到任何东西. float lineSegment(vec2 p, vec2 a, vec2 b) { float thickness = 1.0/100.0; vec2 pa = p - a; vec2 ba = ..
发布时间:2020-11-10 20:06:21 其他开发

色度键片段着色器找不到颜色

我正在尝试编写一个片段着色器,以用作特定颜色的色键过滤器(例如,使所有具有特定绿色的像素透明). 我正在编写的着色器用于通过PIXI.js的WebGL. JSFiddle: https://jsfiddle.net/IbeVanmeenen/hexec6eg/14/ 到目前为止,我已经基于我发现的着色器为着色器编写了这段代码 varying vec2 vTextureCoord; ..
发布时间:2020-11-10 20:06:09 前端开发

通过比较其他图像的强度来更改图像的强度-OpenTK

我有两个图像.我必须找到强度大于0.8的第一张图像的点.同时,我必须在同一点上找到第二张图像的强度,并需要使用阈值/滑块值(范围从0到1)来调整同一点上第二张图像上的光.我做了如下.点上的黑色或深色区域的强度大于0.8. 我正在尝试使用HSV的z值. 但是,我应该能够调整image2上的光线,而不是黑色区域.我怎样才能做到这一点? public void CreateShaders() { ..
发布时间:2020-11-10 20:06:04 C#/.NET

WebGL发光效果

我开始学习着色器,并在ShaderToy.com上玩.对于我要制作的项目,我需要在WebGL(不是Bloom)上创建一个任意的辉光过滤器.我想计算出Alpha,然后将其用于绘制彩色发光效果或用于诸如火等的某些动画纹理. 到目前为止,我想到了一些想法: 在每个像素附近某个区域的平均Alpha值-显然很慢 在一个循环中绕每个像素绕圈,然后在另一个循环中越过距离,以根据形状与该像素的接近程 ..
发布时间:2020-11-10 20:05:59 其他开发