问题标签 [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.
directx - 像素着色器奇怪的编译错误
我在使用着色器时遇到了一些问题,而且我不断收到这个让我发疯的奇怪编译错误!
以下像素着色器代码片段:
效果很好,但只要我删除“LightStrFactor = 1.0f;” 行,即让'LightStrFactor'值作为上面计算的结果,它无法编译着色器。
LightStrFactor 是一个浮点数 LightVal & f4Light[i] 是 float4 其余的都是 float3。
我的问题是,除了为什么它不编译之外,DX 编译器是如何关心浮点值的?即使我的值不正确,它不应该是运行时的吗?着色器编译代码是这样的:
任何帮助表示感谢谢谢!!!:]
shader - 渲染期间模型的三角形计数加倍
我正在使用 Trinigy 3d 引擎,它报告模型在渲染期间的三角形数量是模型显示中的两倍(假设是 4000 而不是 2000)。如果我使用额外的轮廓着色器渲染模型,它会报告 6000 个三角形,所以这不是简单的复制。可能是什么问题呢?
shader - 使用 GLSL 实现您自己的深度缓冲区
我需要一个与普通深度缓冲区大小相同的数据结构,并且我需要能够在着色器中读取和写入它。这可能吗,这个数据结构是什么样的?
silverlight - 我将如何为 Silverlight 编写 HLSL 斜角着色器?
我知道 Silverlight 不直接支持 WPF 位图效果,但我也知道 Silverlight 3 支持 HLSL 着色器。编写斜角效果会相对简单吗,就像 WPF 中的那样,如果是这样,有人可以推荐一个好的资源来学习如何做到这一点吗?
optimization - 阴影体积着色器优化 (GLSL)
我想知道是否有办法优化这个顶点着色器。
如果顶点在阴影中,则此顶点着色器(在光方向上)将顶点投影到远平面。
此着色器的目的是创建一个包围对象本身阴影的阴影体积对象。
ipad - iPad GLSL。从片段着色器中如何获得表面 - 不是顶点 - 正常
是否可以从片段着色器中访问表面法线(与片段平面相关的法线)?或者这可以在顶点着色器中完成?
当我们进入着色器管道时,是否会丢失所有相关几何图形的知识,或者是否有一些聪明的方法可以在片段着色器的顶点中恢复该信息?
提前致谢。
干杯,
道格
推特:@dugla
flash - 具有多个输出的像素弯曲着色器?
根据像素弯曲器规范,着色器可以有一个或多个输出。像素弯曲工具包的“导出到闪存”选项往往对闪存特定的注意事项非常严格,甚至可以毫无怨言地编译这样的着色器。
然而,actionscript 的着色器相关类似乎面向单输出着色器。有没有办法在 Flash 中有多个着色器输出?
compiler-construction - 着色器编译器如何工作?
是否有人参考了有关着色器编译器/图形驱动程序编译器内部工作原理的文档和研究?
c++ - 使用顶点着色器确定线的方向
我希望能够计算线到眼睛坐标的方向,并使用顶点和片段着色器为线上的每个像素存储该值。我的想法是在每对顶点的模型视图转换之后使用 atan2(Gy/Gx) 计算方向梯度,然后将此值量化为颜色强度以传递给片段着色器。我怎样才能访问顶点对的位置来实现这一点,或者我应该使用另一种方法吗?
谢谢
c# - 如何在 XNA 中使用着色器为单个像素着色?
我的 XNA 项目中有一个标准的 800x600 窗口。我的目标是根据包含布尔值的矩形数组为每个单独的像素着色。目前我正在使用 1x1 纹理并在我的数组中绘制每个精灵。
我对 XNA 非常陌生,并且来自 GDI 背景,所以我正在做我在 GDI 中会做的事情,但它的扩展性不是很好。我在另一个问题中被告知要使用着色器,但经过大量研究,我仍然无法找到如何实现这一目标。
我的应用程序循环遍历我的矩形数组的 X 和 Y 坐标,根据每个值进行计算,然后重新分配/移动数组。最后,我需要用新值更新我的“画布”。我的数组的较小样本如下所示:
如何使用着色器为每个像素着色?
一个非常简化的计算版本是:
..每次调用更新方法时,都会执行计算,在上述循环的示例中,更新可能如下所示:
最初的:
第一的:
第二:
最终的:
更新:
应用 Render2DTarget 代码并放置我的像素后,我的像素上出现了一个不需要的边框,总是在左边。我怎样才能删除这个?
替代文字 http://www.refuctored.com/borders.png
替代文字 http://www.refuctored.com/fallingdirt.png
应用纹理的一些代码是: