glsl 相关问题

OpenGL着色语言(GLSL)是OpenGL中着色器的标准编程语言。该语言有许多版本,每个版本对应一个OpenGL版本。 OpenGL ES 2.0及更高版本具有单独的GLSL版本。

OpenGL / GLSL - 使用缓冲区对象来获得统一的数组值

我的(片段)着色器有一个包含 12 个结构的统一数组: 结构体光源 { vec3 位置; vec4 颜色; 浮动距离; }; 均匀光源 lightSources[12]; 在我的程序中我...

回答 1 投票 0

如何将 texelFetch 与 GL_TEXTURE_2D 一起使用?

我尝试过: #版本130 统一采样器2D texID; 在 vec2 texcoord 中; 输出 vec4 输出颜色; 无效主(无效){ vec2 tcoord=texcoord.xy*768.0; ivec2 tst=ivec2(tcoord.x,tcoord.y); 输出颜色=纹素...

回答 2 投票 0

如何创建 vec2 数组并推送到它?

我正在尝试在片段着色器中创建一个空的 vec2 数组。 另外,获取长度并将 vec2 推入数组的语法是什么?

回答 2 投票 0

OpenGL Shader 程序中矩阵乘法的问题

我目前正在使用 ModernGL 学习 OpenGL。我可以使用下面的顶点渲染红色立方体,没有任何问题并将它们分配给着色器程序: 渲染的红色立方体 这是我以前使用过的代码

回答 1 投票 0

带有阴影的 GLSL 框在其角附近有“十字”效果

以下GLSL代码: void mainImage(out vec4 fragColor, in vec2 fragCoord) { vec2 uv = fragCoord / iResolution.xy; vec2 窗口大小 = iResolution.xy; 浮动边框= 50.0; 向量2

回答 1 投票 0

正常总是指向同一个方向

我有一个顶部开口的圆柱体,其材料在 Three.JS 场景中是双面的。 我想要实现的是圆柱体正面的一种颜色,以及内部的另一种颜色

回答 1 投票 0

将 float 的字节解释为 glsl 中的 int?

我必须浮动my_float;在我的着色器中。 我需要将其字节解释为 int。 我相信他们在 glsl 中有一个名为 floatBitsToInt 的函数,但显然我的 glsl 版本没有...

回答 1 投票 0

textureSize 返回 vec2 但编译器告诉我它不是 vec2

我从这篇文章中得到了这个 biqubic 着色器,但由于 vec2 错误识别问题,它无法在我的 glsl 代码中运行,我找不到答案 编译 FRAGMENT_SHADER 时出错:错误:0:44:'=':不能

回答 1 投票 0

GLSL:使用带有sampler2DMS的非多重采样纹理是错误吗

我有一个应用程序可以在有或没有多重采样的情况下运行。我正在从着色器中先前渲染的多重采样纹理中获取样本。是否需要编译不同版本的

回答 2 投票 0

GLSL 制服即使存在并使用也不会激活

我正在尝试将我的游戏引擎从Linux移植到Windows,但是用于文本渲染的着色器无法工作。请注意,在 Linux 上一切正常。 着色器编译但程序说...

回答 1 投票 0

在VS中写入SSBO并从FS中读取

使用Vulkan库 我有一个在顶点着色器中计算的 vec3[] 位置(由 TBN 矩阵转换的数百个全向光位置),我希望将其传递给片段着色器进行读取。 我...

回答 1 投票 0

如何在GLSL中使用按位运算符

所以我的问题有点奇怪,我希望我能得到一些帮助。 在我正在移植的游戏中,它使用布尔数组来确定图块是否被照亮。 在原始源代码中,...

回答 1 投票 0

如何检查片段是否位于纹理的边缘

我目前正在尝试用glsl(使用SFML)编写一个简单的轮廓着色器。我是着色器编程的新手,所以如果问题很明显,请原谅我。 无论如何,着色器可以很好地检测边缘

回答 1 投票 0

为什么我的glfw窗口不是。显示什么?

我一直在与GLFW合作,但最近遇到了一个奇怪的问题, 我有以下代码,旨在在 glfw 窗口内绘制彩色立方体。但屏幕就是一片空白,不……

回答 1 投票 0

水波法线计算略有偏差

我在这篇文章中实现了“正弦近似之和”: https://developer.nvidia.com/gpugems/gpugems/part-i-natural-effects/chapter-1- effective-water-simulation-physical-models 我的

回答 1 投票 0

加法赋值会导致GLSL中的依赖链吗?

我经常看到这样的示例 GLSL 代码: vec4总和=texture2D(纹理,uv)* 4.0; sum +=texture2D(纹理, uv - halfpixel.xy * 偏移量); sum +=texture2D(纹理, uv + halfpixel.xy *

回答 1 投票 0

获取访问体素的多个线程的唯一缓冲区索引

我正在尝试实现“用于实时全局照明的基于八叉树的稀疏体素化”的一部分。 基本上只是体素化,我已经完成了。 还有“体素片段 l...

回答 1 投票 0

如何使用 WebGL2 将大型对象数组发送到片段着色器?

对于大学作业,我使用具有 2D 上下文的 Canvas 用 JavaScript 编写了一个光线追踪器。为了使其更快,我将其从 2D 上下文转换为 WebGL2 上下文。 在原来的c...

回答 1 投票 0

WebGL 2.0 无符号整数输入变量

我一直在尝试将 Uint32Array 缓冲区指向 uint 输入变量。 我在网上找到的所有信息都表明这应该是可能的,但无论我做什么,我都会遇到相同的错误: [.WebGL-

回答 1 投票 0

GLSL 的 smoothstep 函数问题,其中 Edge0 大于 Edge1

我正在shaders网站上的书上学习GLSL语言。在第 5 页,我看到以下代码。 #ifdef GL_ES 精密中型浮子; #万一 统一 vec2 u_分辨率; 统一 vec2 u_mouse; 制服

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.