int gl_VertexID 导致 Three.js 出错

2024-02-18

我一直在使用内置顶点索引的 gl_VertexID 时遇到问题,通过使用in, 与 Three.js 一起使用

我不知道为什么,因为文档说它适用于所有版本的 OpenGL

http://www.opengl.org/sdk/docs/manglsl/xhtml/gl_VertexID.xml http://www.opengl.org/sdk/docs/manglsl/xhtml/gl_VertexID.xml

我正在使用这个顶点着色器:

        uniform int freqData[64];
        uniform int fftSize;

        in int gl_VertexID;

        void main() {
            vec3 norm = normalize(position);

            int modFFT = mod(gl_VertexID, fftSize);

            vec3 newPosition = norm * float(freqData[modFFT]);

            gl_Position = projectionMatrix * modelViewMatrix * vec4( newPosition, 1.0 );
        }

我收到的错误是:

ERROR: 0:68: 'in' : syntax error

似乎有问题in声明,并且它不会抱怨任何其他内容(错误控制台能够检测多个编译错误)。

我非常感谢您的帮助,我正在使用昨天的 Three.js 构建。


据我所知,在 WebGL 中您无法访问内置顶点索引。

但是,您应该能够通过提供自己的自定义属性流来模拟这一点,并将其设置为与此类内置索引流等效的值。

在 Three.js 中,尚未实现整数自定义属性,因此您需要使用浮点属性。

检查本例中的“displacement”属性:

http://mrdoob.github.com/ Three.js/examples/webgl_custom_attributes.html http://mrdoob.github.com/three.js/examples/webgl_custom_attributes.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

int gl_VertexID 导致 Three.js 出错 的相关文章

  • ThreeJS 中阴影的奇怪行为

    所以我有一个 ThreeJS 场景 并且添加了一些球体 多材质 我还添加了定向光 this light new THREE DirectionalLight 0xFFFFFF 1 this light position set 2 10 2
  • OpenGL 3.1 中已弃用 glLineStipple

    glLineStipple在最新的 OpenGL API 中已被弃用 它被替换成什么 如果不更换 怎样才能达到类似的效果呢 我当然不想使用兼容性配置文件 抱歉 它还没有被任何东西取代 我想到的第一个模拟它的想法是几何着色器 您向几何着色器提
  • SSBO 是更大的 UBO?

    我目前正在 OpenGL 4 3 中使用 UBO 进行渲染 以将所有常量数据存储在 GPU 上 诸如材料描述 矩阵等内容 它可以工作 但是 UBO 的小尺寸 我的实现为 64kB 迫使我多次切换缓冲区 减慢渲染速度 我正在寻找类似的方法来存
  • 如何使用 HTML 元素阻止 THREE.js 光线投射?

    我希望页面上的 HTML 元素阻止 THREE js 光线投射 我该如何执行此操作 我遇到的问题是 当用户单击打开的 DIV 元素时 光线投射会检索场景中的对象 它会检索 DIV 后面的对象 我不想在 DIV 打开时禁用光线投射 我纯粹希望
  • 如何优化 Three.js 中多个 sphereGeometry 的渲染?

    我想优化 Three js 中 sphereGeometry 的渲染 因为它成为我的程序的瓶颈 javascript程序如下所示 var sphereThree for var idSphere 0 idSphere lt numSpher
  • 如何在 GLSL 1.3 和 OpenGL 2.1 中使用位运算

    我正在尝试编写一个使用许多位操作的着色器 事实上 从 glsl 1 30 开始就支持它们 但我只使用 OpenGL 2 1 有没有办法在我的 OpenGL 版本中使用位运算 所有 SM3 兼容 OpenGL 2 1 硬件支持limited整
  • ThreeJS 动画光色

    我制作了一个定向灯 我想随着时间的推移改变颜色 我正在阅读文档 http threejs org docs index html Reference Math Color 但仍然没有启动并运行 在初始化之前我声明变量 var rmapped
  • GLSL 中统一浮点行为和常量浮点行为的不同

    我正在尝试在 GLSL 中实现模拟双精度 并且观察到一种奇怪的行为差异 导致 GLSL 中出现细微的浮点错误 考虑以下片段着色器 写入 4 浮点纹理以打印输出 layout location 0 out vec4 Output unifor
  • 如何计算正切和副法线?

    谈谈OpenGL着色语言 GLSL 中的凹凸贴图 镜面高光之类的东西 I have 顶点数组 例如 0 2 0 5 0 1 0 2 0 4 0 5 法线数组 例如 0 0 0 0 1 0 0 0 1 0 0 0 世界空间中点光源的位置 例如
  • 延迟阴影映射 GLSL

    我目前正在实施延迟渲染管道 但我仍坚持使用阴影贴图 我已经成功地将其实施到前向管道中 我所做的步骤是 获取灯光视图中的位置 转换为光视图剪辑空间 使用 0 5 0 5 获取阴影纹理坐标 检查深度 编辑 使用新结果图像更新代码 float c
  • GPU-android opengl es 3.0中的亮度直方图计算

    用于亮度直方图计算 我使用了 Brad Larson 的 GPU image ios 项目中的代码 他使用混合进行直方图计算 连接顶点和片段着色器 顶点着色器 version 300 es in vec4 position out vec3
  • GLSL memoryBarrierShared() 有用吗?

    我想知道 memoryBarrierShared 的用处 事实上 当我查找屏障功能的文档时 我读到 对于计算着色器中任何给定的静态屏障实例 单个工作组内的所有调用都必须进入该实例 然后才能允许任何调用继续超出该实例 这确保了在给定的屏障静态
  • Three.js WebGL 从着色器绘制圆形自定义填充和边框颜色

    我将 Three js 与 WebGLRenderer 一起使用 我试图找出或查看如何使用 CircleGeometry 绘制圆圈的示例 并能够从顶点或片段着色器控制其填充和边框颜色 如果不使用图像作为纹理 这是否可能 抱歉 如果这真的很简
  • 检测 WebGL 支持的正确方法?

    我正在尝试跨多个浏览器检测 WebGL 支持 并且遇到了以下情况 当前版本的 Firefox 似乎使用以下检查来报告积极支持 即使访问者的视频卡被列入黑名单和 或 WebGL 被禁用 if window WebGLRenderingCont
  • OpenGL/GLSL - 纹理过滤的实现

    我想在 GLSL 着色器中自己实现纹理过滤 min 和 magfilter 因为我想使用 image load and store 而不是采样器 而且我想以特殊方式处理未定义的像素 并且我正在寻找一篇文章或者这样讨论过滤过程 我记得如何从我
  • 如何清除 THREE.JS 场景

    我正在尝试找到清除场景中所有对象而不破坏场景本身的方法 我知道命名对象是一种方法 然后当我们想要删除该对象时 我们只需通过它的名称 获取 它即可 但是 我想找到一种快速方法来清除场景中的所有对象 无论它们的名称如何 有简单的方法吗 谢谢 你
  • 三个 JS Orbitcontrols 设置目标而不用 LookAt

    我正在尝试制作一个用于构建模型的 3D 查看器 我们已加载模型并尝试与模型进行某种交互 因此 我们使用 OrbiControls 来旋转 平移和缩放模型 我们希望在查看器中具有这样的行为 当用户单击并拖动 从而旋转 时 旋转中心位于用户单击
  • Three.js:缩放几何图形后错误的 BoundingBox

    在我的场景中 我有一个简单的立方体 var test new THREE Mesh new THREE CubeGeometry 10 10 10 new THREE MeshBasicMaterial scene add test 该立方
  • glsl 着色器 - 颜色混合,正常模式(就像在 Photoshop 中一样)

    我试图创建混合 2 种颜色的效果 实际上是图像和颜色作为图像叠加 就像在 Photoshop 颜色叠加 和 正常混合 模式中一样 我正在使用 libgdx 这就是我到目前为止所拥有的 attribute vec4 a position at
  • Three.js 各种大小的粒子

    我是 Three js 的新手 正在尝试找出添加 1000 个粒子的最佳方法 每个粒子都有不同的大小和颜色 每个粒子的纹理是通过绘制画布创建的 通过使用粒子系统 所有粒子都具有相同的颜色和大小 为每个粒子创建一个粒子系统是非常低效的 有没有

随机推荐

  • 将模型传递给局部视图?

    这是我的部分 model RazorSharpBlog Models MarkdownTextAreaModel div class wmd panel div div Html TextAreaFor m gt m Name new id
  • emacs 23 python.el 自动缩进样式——可以配置吗?

    我使用 emacs 23 python el 已经一个多月了 我对默认的自动缩进设置不满意 目前 我的 Python 文件自动缩进如下 x a function with dict parameter test Here is a valu
  • 带有时间戳和日期字段的 JPA 选择查询无法检索结果

    我正在尝试使用 JPA 查询获取记录 该查询在 WHERE 子句中具有 DATE 和 TIMESTAMP 列 但不知何故 日期和时间戳列无法从数据库中检索任何内容 代码段 String sql Select F from FIN TABLE
  • json_encode 将带有 Unicode(版权)字符的字符串编码为 null?

    我在对特殊字符进行 JSON 编码时遇到问题 这些字符在我的计算机 记事本 浏览器甚至我的数据库中正常显示 但是 它们不进行 JSON 编码 示例如下 site com 之后的版权符号使 JSON 字符串回显为 copyright str
  • 所有实体的 Spring Data Redis 全局 TTL

    我需要为我拥有的每个实体设置全局 TTL 并且它应该可以在一个地方进行配置 有机会通过 RedisHash 注释来做到这一点 RedisHash value persons timeToLive 100 public class Perso
  • 在全屏 JavaFX 中更改场景

    我是 JavaFX 新手 我有我的主要场景和次要场景 当我从第一个场景更改为第二个场景时 窗口的栏变得可见 我该如何解决这个问题 这是我的代码 public class ProyectoTeoriaBD1 extends Applicati
  • 如何使用反斜杠 x \x 代码解码 ascii 字符串

    我正在尝试从巴西葡萄牙语文本中解码 德迈斯子fun xc3 xa7 xc3 xb5es 12 它应该是 德迈斯子函数 12 gt gt a decode unicode escape gt gt a encode unicode escap
  • 使用 DeviceIoControl 函数读取 MBR 时出现问题

    我在调用 DeviceIoControl 函数读取可移动设备的 MBR 时遇到错误 错误代码是5 这意味着访问被拒绝 我使用的是Windows XP SP2 include stdafx h include
  • 在 SwiftUI 中动态获取视图的 Shape

    使用 Swift 5 2 我想创建一个函数来动态更改Shape 我有一个像 import SwiftUI struct CardView View let suit Suite let rank Rank var body some Vie
  • 如何在 AWS Powershell 脚本中使用 KMS 密钥加密数据

    我正在尝试使用 AWS KMS 加密文本并创建 powershell 脚本 所以我用了New KMSDataKey加密我的 KMS 主密钥 该密钥在输出中返回plaintextDataKey and ciphertextblob 现在我正在
  • 在 Assembly 中实现流程“(1) if {...} else if {...} ... (2)”

    我在 C 中有以下流程 some stuff1 if something1 func1 func2 else if something2 func3 func4 some stuff2 我想知道如何在汇编中对其进行编码 我的意思是 不是精确
  • Windows 控制台%DATE% 数学

    我想将 Windows 批处理文件中的日期设置为从今天起 7 天前 我想按照以下格式执行此操作 set today date 10 4 date 4 2 date 7 2 有什么想法如何减去这里的 7 天时间增量吗 我前段时间在某个网站上发
  • php fputcsv 在 CSV 中使用分号分隔符

    我编写了一段代码 从数据库检索数据并使用函数 fputcsv 将它们填充到 CSV 中 我把以下内容放在上面 file fopen internal customer info csv w 然后我检索数据并将它们放入变量中 运行该函数 cu
  • 意外的 NSAutoresizingMaskLayoutConstraint 将 UIView 从笔尖添加到自动布局故事板场景

    我在 IB 中有以下内容 并且两个视图都打开了 使用自动布局 并关闭了 调整子视图大小 我只是尝试将自动布局视图的实例添加到容器视图中 以便其边缘与其容器视图的边缘相交 容器视图启用了 使用自动布局 并且高度相同 但宽度是其两倍 这是代码
  • Flutter - 在 CustomPainter 上获取触摸输入

    我有一个简单的 CustomPaint CustomPainter 来绘制一段圆 代码如下 我读到我无法使用 GestureDetector 因为它不是一个合适的小部件 那么获取输入的最佳方式是什么 我将把一堆片段放在一起 所以我需要像素精
  • 页面上的 WPF KeyDown 事件

    我有一个NavigationWindow with Page 页面 XAML
  • 如何制作符号表

    我们的任务是制作一个编译器 我们已经进行了词法和语法分析 但我们仍停留在中间代码的生成上 我们意识到我们必须实现一个符号表才能进行中间代码生成 但我们不知道如何做到这一点以及它包含什么 给出下面的代码 符号表应该包含什么 该代码是用教育语言
  • 选择器 - 在 jQuery 中选择页面上的所有表格

    假设我在嵌入式 div 的各个级别的页面上有多个表 没有 ID 或名称 我的选择器会是什么 如果可能的话 来选择所有表 无论它位于页面上的哪个位置 并根据第一行中第一个单元格的内容迭代或过滤表 你可以简单地使用 table 作为你的选择器
  • SQL Server:Oracle 中的 RowVersion 等效项

    Oracle 有类似的数据类型吗SQL服务器RowVersion http technet microsoft com en us library ms182776 aspx 当您插入或更新一行时 相应的版本列 其类型为RowVersion
  • int gl_VertexID 导致 Three.js 出错

    我一直在使用内置顶点索引的 gl VertexID 时遇到问题 通过使用in 与 Three js 一起使用 我不知道为什么 因为文档说它适用于所有版本的 OpenGL http www opengl org sdk docs mangls