问题标签 [shader]

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 投票
3 回答
2161 浏览

directx - 像素着色器奇怪的编译错误

我在使用着色器时遇到了一些问题,而且我不断收到这个让我发疯的奇怪编译错误!

以下像素着色器代码片段:

效果很好,但只要我删除“LightStrFactor = 1.0f;” 行,即让'LightStrFactor'值作为上面计算的结果,它无法编译着色器。

LightStrFactor 是一个浮点数 LightVal & f4Light[i] 是 float4 其余的都是 float3。

我的问题是,除了为什么它不编译之外,DX 编译器是如何关心浮点值的?即使我的值不正确,它不应该是运行时的吗?着色器编译代码是这样的:

任何帮助表示感谢谢谢!!!:]

0 投票
3 回答
134 浏览

shader - 渲染期间模型的三角形计数加倍

我正在使用 Trinigy 3d 引擎,它报告模型在渲染期间的三角形数量是模型显示中的两倍(假设是 4000 而不是 2000)。如果我使用额外的轮廓着色器渲染模型,它会报告 6000 个三角形,所以这不是简单的复制。可能是什么问题呢?

0 投票
1 回答
814 浏览

shader - 使用 GLSL 实现您自己的深度缓冲区

我需要一个与普通深度缓冲区大小相同的数据结构,并且我需要能够在着色器中读取和写入它。这可能吗,这个数据结构是什么样的?

0 投票
2 回答
1004 浏览

silverlight - 我将如何为 Silverlight 编写 HLSL 斜角着色器?

我知道 Silverlight 不直接支持 WPF 位图效果,但我也知道 Silverlight 3 支持 HLSL 着色器。编写斜角效果会相对简单吗,就像 WPF 中的那样,如果是这样,有人可以推荐一个好的资源来学习如何做到这一点吗?

0 投票
1 回答
2084 浏览

optimization - 阴影体积着色器优化 (GLSL)

我想知道是否有办法优化这个顶点着色器。
如果顶点在阴影中,则此顶点着色器(在光方向上)将顶点投影到远平面。
此着色器的目的是创建一个包围对象本身阴影的阴影体积对象。

0 投票
3 回答
2470 浏览

ipad - iPad GLSL。从片段着色器中如何获得表面 - 不是顶点 - 正常

是否可以从片段着色器中访问表面法线(与片段平面相关的法线)?或者这可以在顶点着色器中完成?

当我们进入着色器管道时,是否会丢失所有相关几何图形的知识,或者是否有一些聪明的方法可以在片段着色器的顶点中恢复该信息?

提前致谢。

干杯,
道格
推特:@dugla

0 投票
1 回答
782 浏览

flash - 具有多个输出的像素弯曲着色器?

根据像素弯曲器规范,着色器可以有一个或多个输出。像素弯曲工具包的“导出到闪存”选项往往对闪存特定的注意事项非常严格,甚至可以毫无怨言地编译这样的着色器。

然而,actionscript 的着色器相关类似乎面向单输出着色器。有没有办法在 Flash 中有多个着色器输出?

0 投票
1 回答
635 浏览

compiler-construction - 着色器编译器如何工作?

是否有人参考了有关着色器编译器/图形驱动程序编译器内部工作原理的文档和研究?

0 投票
1 回答
506 浏览

c++ - 使用顶点着色器确定线的方向

我希望能够计算线到眼睛坐标的方向,并使用顶点和片段着色器为线上的每个像素存储该值。我的想法是在每对顶点的模型视图转换之后使用 atan2(Gy/Gx) 计算方向梯度,然后将此值量化为颜色强度以传递给片段着色器。我怎样才能访问顶点对的位置来实现这一点,或者我应该使用另一种方法吗?
谢谢

0 投票
4 回答
2691 浏览

c# - 如何在 XNA 中使用着色器为单个像素着色?

我的 XNA 项目中有一个标准的 800x600 窗口。我的目标是根据包含布尔值的矩形数组为每个单独的像素着色。目前我正在使用 1x1 纹理并在我的数组中绘制每个精灵。

我对 XNA 非常陌生,并且来自 GDI 背景,所以我正在做我在 GDI 中会做的事情,但它的扩展性不是很好。我在另一个问题中被告知要使用着色器,但经过大量研究,我仍然无法找到如何实现这一目标。

我的应用程序循环遍历我的矩形数组的 X 和 Y 坐标,根据每个值进行计算,然后重新分配/移动数组。最后,我需要用新值更新我的“画布”。我的数组的较小样本如下所示:

如何使用着色器为每个像素着色?

一个非常简化的计算版本是:

..每次调用更新方法时,都会执行计算,在上述循环的示例中,更新可能如下所示:

最初的:

第一的:

第二:

最终的:

更新:

应用 Render2DTarget 代码并放置我的像素后,我的像素上出现了一个不需要的边框,总是在左边。我怎样才能删除这个?

替代文字 http://www.refuctored.com/borders.png

替代文字 http://www.refuctored.com/fallingdirt.png

应用纹理的一些代码是: