hlsl

    0热度

    1回答

    我已经构建了一个工作表面着色器(称为“仙境”),除非伴侣“看起来”着色器与其相交从相机的角度来看。简单的模板着色器安排。 简单易行。 我可以添加着色器设置来指定一个平面,或者甚至只是一个最小的worldspace Z值,并使用clip()来渲染像素在该平面的一侧......(换句话说,我可以使用以修剪模具允许的内容。) 我想要做的就是在表面上使用模具“通过镜子”(以显示镜子内部的几何图形),并始终

    0热度

    1回答

    我目前在我的应用程序中使用Interaction.Behaviors为了使用BackgroundEffectBehavior。我试图找出我们在XAML或C#中定期更新的最佳方法。我已经尝试过c#,而C#由于着色器的设置而变成了一个糟糕的事情。

    0热度

    1回答

    我在应用程序中使用模板缓冲区实现了鼠标拾取功能。 这里的像素着色器鼠标下的读取值: Texture2DMS<uint2> depthStencilTexture : register(t0); cbuffer ReadDepthInput : register(b2) { int2 readPosition; } // Produces vector3(x, y, stenc

    0热度

    1回答

    我的应用程序是一个学校项目,我遇到了一个令人讨厌的问题。我正在使用延迟渲染,我试图从灯光的pov中添加位置作为新的g缓冲区纹理,并将深度缓冲区纹理添加为灯光过程中的着色器资源。我以完全相同的方式处理所有的g-buffer纹理。 我的问题是,这些新的着色器资源无处可在GPU上找到! 我正在使用RenderDoc来调试我的应用程序,在那里我可以看到所有写入这些新资源的东西都很好,并且将它们作为着色器资

    0热度

    1回答

    我想实现我自己的深度模具就像在像素着色器的功能。 我有一个标准化的深度价值,我想将它转换为整数,以使用SM5 InterlockedMin()操作,像这样: uint d_uint = (uint)(dnorm * 4294967295); uint d_uint_original = 0; InterlockedMin(depthmask[c], d_uint, d_uint_origin

    0热度

    1回答

    看来POSITION/POSITION0的w将输出结构中的所有东西都分开了。从而使得像素着色器可以进行正确的透视贴图,并且不能被移除,否则像素着色器不会输出任何东西。 我没有在程序代码中看到任何配置。它是所有设备的固定默认设置吗?或者我可以自定义此设置?

    1热度

    1回答

    我写了一个用于生成较粗线条的几何着色器。但现在我有这个问题,属性[clipplanes(...)]不起作用。还有就是警告: 严重性代码说明项目文件的线路抑制状态 警告X3554未知属性clipplanes,或对于这一说法属性无效,有效属性是:maxvertexcount,MaxVertexCount,例如CRenderer \着色器\几何着色器\ GS_GenerateThickLines。 hl

    0热度

    1回答

    我被要求将一些旧的HLSL代码(Shader Model 2.0/3.0)移植到另一种语言中。 代码中有一行代码为 - int(value)或int(x)。 但它似乎不是一个“转换为整数”或“返回整数”或类似的命令。 任何人都知道int(x)在老版本的HLSL中做什么? 非常感谢! 编辑://///////// 在代码行读取: x = int(x/12) * 12; 似乎意在 “步骤” 或 “香椿

    0热度

    1回答

    我读通过HLSL代码,试图弄清楚它是如何工作的,我碰到一些代码,看起来像这样走过来: float aFloat = someVar > someConstant; 现在我想知道比较运算符在浮点赋值语句中做了什么。我知道HLSL是类C的,但我从来没有尝试过C,尽管我打算在将来给它一个镜头,所以对这个声明的任何见解也会对此有所帮助。

    1热度

    2回答

    Unity3D与ComputeShader存在问题。 我的目标:找到所面临的相机(二矢量的点> 0) 由于我的相机和我的模式是固定的所有法线,我希望得到永远的正常等量我的计算着色器的输出。但是,每次使用计算着色器时,计数都会增加,导致我面对摄像机的许多法线优于网格中的数字,并且它很快达到我有10e9个法线的点。有时这个值是负值。 我为此使用了一个附加缓冲区,而我的hlsh只测试该点,并将该值附加到