这是几何着色器的摘录。 我想了解的是如何将 g_edge_distance 的值传递给片段着色器。 ...
这是几何着色器的摘录。 我想了解的是如何将 g_edge_distance 的值传递给片段着色器。 ...
假设我想渲染许多不同的模型,每个模型都有一个我想应用于它们顶点的不同变换矩阵。 据我所知,天真的方法是在顶点着色器中指定一个矩阵统一,其值在渲染期间为每个网格更新。 对我来说很明显,这是一个坏主意,因为要付出很多统一更新和绘制调用的代价。 那么,在现代 OpenGL 中实现这一目标的最有效方法是什么 ...
是否可以检测格式何时在 HLSL 或 GLSL 中具有单个通道? 或者同样好,是否可以从这样的纹理中提取灰度颜色而不知道它是单通道还是 4 通道? 从 DXGI_FORMAT_R8_*/GL_R8 或 DXGI_FORMAT_BC4_UNORM 等纹理格式采样时,我得到纯红色 RGBA 值 (g,0 ...
https://www.khronos.org/opengl/wiki/Vertex_Shader说“顶点着色器将对 stream 中的每个顶点大致执行一次。” 如果我们正在渲染一个立方体,顶点可以指整个形状的 8 个顶点(意思是一个)。 或者,它可以指 6 个正方形的 24 个顶点,每个顶点有 ...
我的相交着色器总是从我拥有的 SSBO 中读取零。 我尝试使用debugPrintEXT ,但它不会从相交着色器中打印出来。 但是,当我尝试通过光线有效载荷将 output 任何值作为命中颜色时,我得到的始终是黑色。 最初,我认为我复制数据的方式有问题,但没有,它和示例代码一样好,它可以工作(来自 ...
换操作系统后,无法再使用SFML几何着色器,总是报如下错误: 奇怪的是,用于检查系统是否完全支持着色器的isAvailable() function 返回true ,让我认为我的系统确实不支持几何着色器。 虽然我知道我的系统支持这种着色器。 为了证明这一点,可以键入命令glxinfo并搜索某种几何 ...
我正在尝试在 OpenGL 3.3 中创建一个复古精灵类型的环境。 更具体地说,使用调色板。 从我发现和使用的资源来看,一切都应该是好的。 但事实并非如此。 我的精灵一直忽略索引像素,只使用它在调色板中找到的第一种颜色。 资料来源: 调色板纹理 相关问题的回答源代码:如果你想运行它,你可以通过此 ...
我正在尝试创建一个使用预定义调色板的纹理(想想 NES)。 但是,无论我尝试什么,它似乎都不像我想要的那样 go 。 我使用的来源是这些: 调色板纹理 回答相关问题这是我目前正在使用的(WIP)代码://UV and Vertex are already set-up and can confi ...
我有很多预生成的图像(相同大小),它们由曲线和直线以及彩色填充组成。 问题是: 这些线条不流畅, 直线很细。 问题: a) 使用着色器,如何使给定纹理中的所有曲线和直线更平滑? b) 如何使细直线粗 2、3 或 4 倍? 很抱歉没有提供我自己的解决方案,我对着色器很陌生,还不能解决这个问题。 ...
我正在将一个应用程序从 Windows 移植到 Ubuntu 20.04,我的计算着色器都不会写入纹理。 我在下面的程序中重现了这个问题。 我将纹理初始化为零,在着色器运行后纹理仍然填充有零。 ...
对于 Xcode,以下代码需要转换为 Metal: ...
我正在尝试创建一个 GLSL 漫反射着色器,但我遇到了一个问题,有些面看起来变得透明并且背面显示在前面,这真的很混乱,我想知道如何解决这个问题。 我想问题出在法线的方向上,但我不确定。 这是 my.frag 着色器代码: 如果问题出在法线,这里是生成网格的代码: 请注意,法线方向是第二个参数。 顶 ...
我尝试在 openGL 中制作一个立方体,并在每一侧渲染一个默认纹理。 几天来我一直在搞乱它,但我无法让它工作。 我真的不知道问题出在哪里,因为我确信我的顶点和纹理坐标是正确的。 我究竟做错了什么? 这些是我的顶点、uv 和索引: 这是我的渲染方法: 顶点着色器: 和片段着色器: 立方体的图像: 我 ...
我正在尝试从ShaderToy破解这个 Plasma 着色器,以便它与Spark AR一起工作......我非常接近,但是有一个奇怪的问题,着色器被压缩到角落里。 有没有着色大师可以给我一些指导? 这是它现在在 Spark 中的样子: 输入是屏幕尺寸、屏幕触摸坐标、时间和可能是罪魁祸首的direc ...
我需要一些帮助来尝试使用视图矩阵移动我的圆圈。 我可以 position 圆但不能移动它。 我怎样才能做到这一点? 现在边界矩形移动但不是圆。 我试图将圆圈置于矩形的中心,但这不起作用。 任何帮助表示赞赏! 这是我一段时间以来一直在努力解决的问题。 这也适用于使用 SDF 等渲染的其他形状。 ...
我正在尝试创建两个独立的发光灯,但是当让第二个灯共享时,灯会在两个灯之间延伸 在此处输入图像描述 ...
我正在尝试使用着色器绘制带有纹理的矩形,遵循本教程,这是我的代码: 主.cpp : 顶点.txt: : 但它只绘制清晰的颜色,没有矩形。 有趣的是,没有转换它工作得很好——如果gl_Position = transform * vec4(aPos, 1.0f); 行更改为gl_Position = ...
我最近一直在学习 learnopengl 教程,并且在学习纹理教程。 我正在经历它并且一切正常,直到在片段着色器中调用 mix() function 。 出于某种原因,我可以使用 texture() 分别显示这两个纹理,并且只需更改我用于它的采样器(所以我知道它们都可以工作),但不能让它们混合(我得 ...
我正在尝试将着色器加载到 amd 视频卡中。 创建所有缓冲区后,我尝试创建一个新的计算管道。 当我开始调试它打印消息时,我发现“完成创建计算管道”从未被打印出来。 当我用 `cargo run --release` 运行它时,它会打印:“Creating pipeline with shader”, ...
我通过以下方式在 GLSL 着色器中定义了一个缓冲区描述符:layout(set = 1, binding = 0) buffer ShadowMapData { ShadowMapItem items[]; } uShadowMapDataRegister[]; 有没有办法从这个描述符的索引全 ...