shader相关内容

CG编程中的语义是什么?

msdn 陈述语义是附加到着色器输入或输出的字符串,用于传达有关参数预期用途的信息 unity 声明Semantics 是 Cg 的一个特殊子句,用于定义片段/顶点着色器的默认输入值 实际语义是什么?我们为什么用它?有必要吗? 解决方案 基本上它说明了存储在某个字段中的数据类型——位置、法线、纹理坐标等等. 在固定函数管道中描述顶点格式很有用,但在可编程管道中语义是由着色 ..
发布时间:2021-07-23 20:03:54 其他开发

在带有简单着色器的 XNA 4.0 中制作白色精灵(alpha 问题)

在 Tint Sprite White 和 Sprite Effects Sample 中的示例代码,我已将着色器的 .fx 文件加载到示例项目中,并替换了其中一个 Draw() 调用中的示例效果之一以使用白化效果. 我得到的是一个与纹理本身尺寸相同的白色大方块.我显然只希望将 alpha 不是 0 的纹理区域设为白色.着色器似乎可以正常工作,因为我将默认白色更改为其他测试用例,并且正方形确 ..
发布时间:2021-07-23 20:03:47 C#/.NET

强制精灵对象始终位于 THREE.js 中的天穹对象前面

我目前有一个自定义着色器在天穹上绘制渐变,并希望在天穹前有一个太阳/月亮(从用户的角度来看).最简单的方法是为太阳和月亮设置精灵,但出现的问题是精灵卡在天穹内(精灵位于天穹前部和后部).我试图用多边形偏移来解决这个问题,但这似乎不适用于精灵对象. 所以我的问题是,如何在天穹顶部设置太阳/月亮而不必修改我的自定义天穹着色器来添加带有渐变的太阳/月亮纹理(这最终可能非常困难)? 下面是我的 ..
发布时间:2021-07-23 20:03:44 前端开发

三.js 着色器材料根本不起作用

我一直在摆弄three.js,当谈到THREE.ShaderMaterial 时,我被难住了.它从示例中直接复制/粘贴开始,如下所示:http://threejs.org/examples/#webgl_materials_normalmap 我将它复制到一个只返回材料的函数中.它不起作用(错误,我稍后会详细说明),所以我移除了所有已设置的制服并使用了完整的空白材料.只是为了看看是否仍然会显 ..
发布时间:2021-07-23 20:03:41 其他开发

如何创建一个着色器,可以在 Unity 中显示由许多小图像组成的纹理

所以我想要做的是从 SQL 表加载卫星图像并将它们包裹在一个球体周围以创建一个球体.我知道我已经加载了涵盖的图像,我只是不确定如何让我的着色器以正确的方向显示图像. 我去了 Unity 论坛并查看了 使用它,我的材料看起来像这样: 这是我用来加载 SQL 图像的代码: textures = new Texture2D[size];for (int x = 0; x 在 SQ ..
发布时间:2021-07-23 20:03:37 C#/.NET

动态改变Shader的属性

我在 Unity 中的游戏对象上有一个着色器,我们称之为 FooShader.在 FooShader 中有一个名为 _fooVal 的公共属性,我想实时更新. 我在同一个游戏对象上创建了一个空白的 C# 脚本.我的第一个问题是如何引用这个 FooShader 着色器?然后一旦我有一个正确的引用更改它的 _fooVal 属性? 我已经尝试使用以下方法来获取对着色器的引用,但它不起作用. ..
发布时间:2021-07-23 20:03:34 C#/.NET

ThreeJS:如何使用着色器按属性过滤顶点?

我正在使用自定义着色器,通过遵循 this github 问题. 我想扩展它以允许过滤非位置属性,例如与每个顶点关联的成本. shader 是 ThreeJS 的particle_basic 着色器的修改版. 着色器 //截图//按坐标过滤"if(myWorldPosition.x xMax) 丢弃;", ..
发布时间:2021-07-23 20:03:30 其他开发

Open GL ES 3.1 计算着色器的最小工作示例

我想使用 Open GL ES 进行通用计算. 所以到目前为止我理解的是,我需要创建一个 SSBO 并将我的数据传输到那里,将缓冲区绑定到着色器中的特殊点,运行着色器并取回数据. 到目前为止我有 3 个问题: 代码无法编译:错误:未定义对“glDispatchCompute"的引用.我已经包含了 GLES3/gl31.h,功能就在那里.open gl es 的其他函数导入正确; ..
发布时间:2021-07-23 20:03:26 移动开发

Threejs Shader - gl_FragColor with Alpha(不透明度不变)

我正在尝试编写一个简单的着色器,其中一半的场景将被显示,一半的场景将是透明的.我似乎无法弄清楚为什么透明度不起作用: 统一 sampler2D tDiffuse;不同的 vec2 vUv;无效主(){vec2 p = vUv;vec4 颜色;如果(p.x 着色器绝对运行没有错误 - 屏幕的右半部分是我的 Threejs 场景,屏幕的左半部分是红色的(它应该是透明的).我读过,也许我需要调用 ..
发布时间:2021-07-23 20:03:23 其他开发

Qt3D 默认统一和属性

我开始学习在 QML 中使用着色器,我找不到任何关于传递给着色器的默认统一和属性值的参考.在某些示例中,我们可以看到其中的几个,例如 vertexPosition 或 modelViewProjection(也作为 modelViewProjection>mvp),但是没有包含我们可以使用的所有变量的明确列表. 在 Qt 源代码中调查后,我发现了许多变量的默认名称: 统一变量(在 re ..
发布时间:2021-07-23 20:03:16 C/C++开发

需要着色器中纹理的平均值和最大值

我有一个 RenderTexture,需要计算它的平均和最大像素值.RenderTexture 是 RFloat 格式,因此只有一个组件.此外,它现在不使用 mipmap. 解决方案 经过一番搜索,似乎最好的方法是减少纹理,这意味着运行一个着色器,其输入为纹理大小,输出为纹理大小的一半输入大小.我们可以采样 4 个相邻像素并从中计算最大值并将值写入输出. sampler2D _Main ..
发布时间:2021-07-23 20:03:10 其他开发

创建遵循光源的日/夜着色器

我有一个由 DirectionalLight 照亮的球体,以模拟照在地球上的太阳.我正在尝试添加一个着色器,该着色器将在夜间在地球上未照亮的部分显示地球,并在白天显示地球上照亮的部分.我计划最终让 DirectionalLight 围绕地球旋转,更新着色器以显示当前处于阴影中的地球部分.我遇到了以下代码笔,它部分满足了我的要求:https://codepen.io/acauamontiel/pen ..
发布时间:2021-07-23 20:03:07 前端开发

THREE.js 中的着色器材质和 GL 帧缓冲区

我正在尝试在 THREE.js 的材料中使用 FBO.我有一个基于 GPU 的流体模拟,它将其最终可视化输出到一个帧缓冲区对象,我想用它来纹理网格.这是我的简单片段着色器: 不同的vec2 vUv;均匀采样器2D tDiffuse;无效主(){gl_FragColor = texture2D(tDiffuse, vUv);} 然后我尝试使用一个简单的 THREE.ShaderMaterial: ..
发布时间:2021-07-23 20:03:04 前端开发

THREE.js 从 GPUComputationRenderer 纹理读取像素

我一直在这个three.js示例的修改版本上使用GPUComputationRenderer,它修改了使用 GPU 着色器保存、读取和操作 boid 位置和速度数据的交互 boid 的速度. 我已经到了可以使用着色器将 GPU 计算数据(预测碰撞时间)放入纹理缓冲区的阶段.但现在我想读取主要 javascript 动画脚本中的一些纹理数据(以找到最早的碰撞). 这里是render函数中 ..
发布时间:2021-07-23 20:02:58 前端开发

XNA 中用于简单 2D SpriteBatch 绘图的像素着色器应该使用什么顶点着色器代码?

前言 首先,为什么 Silverlight 5 中的 SilverlightEffect(.slfx 文件)需要 顶点着色器?我正在尝试将一个简单的 2D XNA 游戏移植到 Silverlight 5 RC,并且我想使用一个基本的像素着色器.此着色器在适用于 Windows 和 Xbox 的 XNA 中运行良好,但我无法将其与 Silverlight 作为 SilverlightEffec ..
发布时间:2021-07-23 20:02:55 其他开发

Three.js 使用 WebRTC 并应用着色器

我不知道如何将着色器应用于具有视频纹理的three.js 对象. 我一直在玩 webRTC 和three.js,并成功地使用标准材质将视频纹理映射到网格上: var material = new THREE.MeshBasicMaterial({颜色:0xffffff,地图:视频纹理}); 我想更进一步,将着色器(在本例中为 sobel 着色器)应用到该纹理.我的尝试在这里:http: ..
发布时间:2021-07-23 20:02:52 其他开发

如何在 THREE.js 中正确制作法线贴图?

我只是尝试将法线贴图忍者演示应用于使用以下代码在我的场景中使用立方体 - 使用来自 dev 分支的最新 Three.js 版本: //常用材质参数var 环境 = 0x050505,漫反射 = 0x331100,镜面反射 = 0xffffff,光泽 = 10,比例 = 23;//法线贴图着色器var shader = THREE.ShaderUtils.lib[“正常"];varuniforms ..
发布时间:2021-07-23 20:02:48 前端开发

webgl:与其他程序/着色器共享纹理

我有两个着色器,它们使用不同的顶点数组和不同的统一值,但它们使用相同的纹理(精灵表/图集).它们是否可以共享相同的纹理(不会导致纹理两次发送到 gpu)? 背景:我的游戏在我的笔记本电脑上有一些严重的性能问题,它们似乎与 GPU 相关.我当前的实现使用了两个画布,一个用于我的背景,一个用于我的前景.然后他们为最终图像组成(绘制到第三个画布上).我的背景使用了 4 个纹理,而我的前景有一个大的 ..
发布时间:2021-07-23 20:02:43 其他开发