如何将 mat4 数组作为统一传递

2024-02-23

我必须将 mat4 数组作为统一传递给我的顶点着色器,如下所示:

在顶点着色器中:

uniform mat4 u_jointMatrix[2];

在我的 C++ 程序中,我这样做了:

glm::mat4 jointM[2];
//I filled jointM with 32 values (16 x 2)
int jointMatrixLoc = glGetUniformLocation(programT, "u_jointMatrix");
glUniformMatrix4fv(jointMatrixLoc, 1, GL_FALSE, glm::value_ptr(jointM[2]));

我写这个是因为glUniformMatrix4fv(jointMatrixLoc, 1, GL_FALSE, glm::value_ptr(jointM));不起作用。

我认为我的做法是不正确的。有人可以证实吗?


jointM[2]对具有 2 个元素的数组中的第 3 个元素进行寻址。您必须指定指向第一个元素的指针:

glUniformMatrix4fv(jointMatrixLoc, 1, GL_FALSE, glm::value_ptr(jointM[2]));

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

如何将 mat4 数组作为统一传递 的相关文章

  • 即使我没有#include ,为什么仍然可以使用 std::max 和 std::min ?

    include
  • 自定义可视化 Web 部件属性 sharepoint

    我在 Visual Studio 2012 中创建可视 Web 部件属性时遇到问题 我被提及http msdn microsoft com en us library ee231551 aspx http msdn microsoft co
  • 类型转换 sockaddr 结构

    我正在尝试学习网络编程 并在这个过程中学习C 我对结构感到困惑sockaddr这是一个通用地址 并且sockaddr in 我的书里是这么说的 因此 我们可以填写 sockaddr in 的字段 然后强制转换 a 指向 它指向 指向 soc
  • 如何查找boost运行时版本

    我正在编写一个使用 boost 的 C 库 在这个库中 我想包含有关用于编译我的库的二进制版本的 boost 版本的信息 我可以使用宏BOOST VERSION这很好 我还想确定哪个是 boost 的运行时版本 以便我可以与用于编译我的库的
  • 如何使用movntdqa避免缓存污染?

    我正在尝试编写一个 memcpy 函数 该函数不会将源内存加载到 CPU 缓存中 目的是避免缓存污染 下面的 memcpy 函数可以工作 但会像标准 memcpy 一样污染缓存 我正在使用带有 Visual C 2008 Express 的
  • Reflection.Emit 中的短格式操作码错误

    我正在制作一种与以下非常相似的小语言hlsl但仅支持像素着色器 该语言使用reflection emit构建实现相同功能的 NET 程序集 我目前正在测试分支指令的实现if在我的一个单元测试中 一个大的if与内if elses 失败并显示以
  • 无法使用 ASP.NET Core 从 JWT 令牌获取声明

    我正在尝试使用 ASP NET Core 实现 JWT 持有者身份验证的非常简单的实现 我从控制器返回的响应有点像这样 var identity new ClaimsIdentity identity AddClaim new Claim
  • 为什么在 Linux 上字符串文字的内存地址与其他字符串文字的内存地址如此不同?

    我注意到字符串文字在内存中的地址与其他常量和变量 Linux 操作系统 非常不同 它们有许多前导零 未打印 Example const char h Hi int i 1 printf p n void h printf p n void
  • 无法更新 .mdf 数据库,因为该数据库是只读的(Windows 应用程序)

    我使用 C 创建了一个数据库 Windows 应用程序 我的应用程序在 Windows XP 上成功运行 但在 Vista 或 Windows 7 系统上无法正确执行 我的应用程序显示类似以下内容的消息 无法更新 mdf 数据库 因为该数据
  • WIX 自动生成 GUID *?

    假设我生成产品 ID 为 的 WIX XML 文件 另外 对于每个组件 GUID 我都使用
  • 是否可以用 C# 为 Android 编写应用程序?

    我们都知道Android运行Dalvik VM程序 通常开发人员用 Java 编写程序并将其编译为 Dalvik 字节码 我想知道是否有可能创建一个可以接受 C 代码并将其编译为 Dalvik 字节码的编译器 嗯 这是一种选择 或者您可以在
  • popen2()在c中如何工作?

    我尝试使用管道 叉子和 dup 在我的程序中执行 md5sume 命令 我发现总和代码运行成功 但我无法理解某些代码行 这是我的代码 int infp outfp char buf 128 if popen2 md5sum infp out
  • 平衡两轮机器人而不使其向前/向后漂移

    我正在尝试设计一个控制器来平衡 2 轮机器人 约 13 公斤 并使其能够抵抗外力 例如 如果有人踢它 它不应该掉落 也不应该无限期地向前 向后漂移 我对大多数控制技术 LQR 滑模控制 PID 等 都很有经验 但我在网上看到大多数人使用 L
  • 未定义条件编译符号

    我无法让 Visual Studio 按照我的预期运行 我创建了 2 个配置文件 一个定义了符号 FOO 另一个定义了符号 BAR 我有这个代码 static class MyClass if FOO public static strin
  • Boost async_write问题

    我将展示一些代码 void wh const boost system error code ec std size t bytes transferred std cout lt lt test int main int argc cha
  • 标准头文件中的 C 编译器错误 - 未定义的 C++ 定义

    我正在尝试编译 C 程序 但收到许多错误 这些错误是在标准 C 头文件 inttypes h stdio h stat h 等 中遇到的 错误的来源是以下未定义的常量 BEGIN DECLS END DECLS BEGIN NAMESPAC
  • 选择要重写哪个基类的方法

    鉴于以下情况 class Observer public virtual void Observe Parameter p 0 template
  • gcc 中的“假设”子句

    gcc 最新版本 4 8 4 9 是否有类似于以下的 假设 子句 assume 内置icc支持吗 例如 assume n 8 0 从 gcc 4 8 2 开始 gcc 中没有 assume 的等效项 我不知道为什么 这会非常有用 马夫索建议
  • 什么是多重重继承?

    我将以下称为 多重重新继承 直接继承一个类一次 并通过继承其一个或多个后代来间接继承一次或多次 通过继承一个类的两个或多个后代来间接继承一个类两次或多次 我想知道它是否存在以及如何明确访问嵌入的子对象 1 Professional C 2n
  • 如果未返回,则在一段时间后终止线程

    我有一个线程从网络或串行端口获取一些数据 如果 5 秒内没有收到数据 则线程必须终止 或返回 false 换句话说 如果线程运行时间超过 5 秒 则必须停止 我用 C 编写 但任何 NET 语言都可以 有两种方法 1 封装超时 从网络或串行

随机推荐

  • 如何加快 PostgreSQL 中的插入性能

    我正在测试 Postgres 插入性能 我有一个表 其中一列的数据类型为数字 上面也有一个索引 我使用以下查询填充了数据库 insert into aNumber id values 564 43536 34560 我使用上面的查询很快插入
  • UIWebView:为什么使用不存在的主机名时请求不会超时?

    我的情况是这样的 我有一个UIWebView它向用户提供主机名的 URL 发出 POST 请求 当主机名不存在时 我需要超时 以便我可以提醒用户他们应该检查他们的设置 怎么了 我提出这样的请求 NSString theURL NSStrin
  • Sublime 3 中的包控制不起作用?

    注意 我首先在论坛上搜索了 sublime 以便发布问题 因为我不确定这个问题是否适合这个特定的论坛 并想将其与其他帖子进行比较 如果它不应该在这里 请告诉我 我很乐意在此处关闭它并在任何其他 stackoverflow 论坛中打开它 谢谢
  • IIS 10.0 详细错误 - [httpDelete] [httpPut] 的 404.0

    我正在尝试在 ASP NET MVC 中创建一个 api 不幸的是 我有两个 HTTP 请求的问题 DELETE 和 PUT ActionName Index HttpGet public String Index return get A
  • 预接收挂钩被拒绝:提交消息中未发现 JIRA 问题?

    我已经提交并尝试将更改推送到存储库 但它给了我这个错误 remote refs heads feature OMT 1270 Missing French Translations cd54ab15bc8d5764ab12cf6fc202f
  • 如何从 Java 文本文件中读取逗号分隔值?

    我得到了这个文本文件 其中包含地图上不同点的纬度和经度值 如何将字符串拆分为纬度和经度 使用空格或制表符等其他分隔符执行此类操作的一般方法是什么 样本文件 28 515046280572285 77 38258838653564 28 51
  • 将不相关的集合映射到一个集合

    我有一个类 其中包含两个不同的不相关类型的集合 public class Entity ICollection
  • 在 Exchange Web 服务 (EWS) 中处理事件时识别项目类型

    我正在使用带有 EWS API 的流式通知 在事件处理程序中 我发现某个项目已被修改 但我尝试将修改后的项目绑定到电子邮件消息失败 错误信息具体是 服务 约会 返回的项目类型不兼容 与请求的项目类型 EmailMessage 似乎在尝试绑定
  • CSS 翻转卡 Internet Explorer 问题

    我正在尝试让 CSS 翻转卡在 Internet Explorer 11 中工作 我已阅读其他问题 解决方案是在翻转卡功能中添加 ms 前缀 我已经这样做了 但在 IE 11 中 翻转的卡片由于某种原因不显示背面 http jsbin co
  • 如何使用 PDFMake 和 vfs_fonts 在 Node.js 上创建 PDF?

    看起来像这样question https github com bpampuch pdfmake issues 642已经asked https stackoverflow com questions 41314411 create a l
  • 粘性前台服务无法重新启动,并出现“进程损坏”错误

    我有一个已启动的前台服务 我已注意从以下位置返回 START STICKY onStartCommand 我观察到前台服务不会无限期地运行 而是会被称为RestartProcessManager 本质上 维护一个进程 LRU 并且如果配置为
  • 由 __exit__ 中的 __enter__ 返回

    例如 我有这样的代码 with MyClass as x print I have only 0 format x with MyClass as y print I have 0 and 1 format x y print Again
  • SqlExceptionHelper:具有聚集列存储索引的表不支持游标

    我正在尝试从使用聚集列存储索引的 DWH SQL Server 表导入数据kudu通过flume 然而 经过我的习惯flumesource 从数据库检索一定数量的行 出现此异常 SqlExceptionHelper 具有聚集列存储索引的表不
  • 缩放 div 以适合窗口但保持宽高比

    如何缩放 div 以适合浏览器视图端口 但保留 div 的纵横比 我如何使用 CSS 和 或 JQuery 来做到这一点 您不需要为此使用 JavaScript 您可以使用纯CSS padding top 百分比是相对于包含块来解释的wid
  • 投射代理 - 获取 ClassCastException

    当我将动态代理类转换为我想要的对象时 我感到有些奇怪 在运行时 在某些条件下 我收到 ClassCastException 为了更好地解释这一点 这里是我想要使用的类 接口的定义 任何 应该 不相关的扩展接口都用括号括起来 public i
  • 在C中初始化char数组

    我不确定按以下方式初始化后 char 数组中会包含什么 char buf 5 0 这相当于 char buf 5 0 0 0 0 0 是的 是一样的 如果数量较少初始化器比数组中的元素大 那么剩余的元素将被初始化 就像具有静态存储持续时间的
  • 如何在sql server 2008中使用双while循环

    我正在开发一个约会日历应用程序 这里还是新手 我需要这方面的帮助 我需要在列中进行双循环 calendarID Slot Appointment Date slot 列的值将重复为 1 2 3 4 5 6 7 8 到 28 而 calend
  • 分开名字、中间名和姓氏 (Python)

    我有一个包含数百名成员的列表 我想按名字 中间名和姓氏分隔这些成员 但其中一些成员具有前缀 用 P 表示 所有可能的组合 First Middle Last P First Middle Last First P Middle Last P
  • React Native 0.44——堆栈导航器示例

    我正在尝试创建 React Native 应用程序的 Android 版本 但在使用 Android 导航器时遇到问题 下载示例代码 https ufile io lr8x5 首先创建一个文件 例如应用导航 js import StackN
  • 如何将 mat4 数组作为统一传递

    我必须将 mat4 数组作为统一传递给我的顶点着色器 如下所示 在顶点着色器中 uniform mat4 u jointMatrix 2 在我的 C 程序中 我这样做了 glm mat4 jointM 2 I filled jointM w