- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道 的固定管道(未附加着色器)内的属性位置英伟达 OpenGL 驱动程序:
glVertex = 0
glColor = 3
glNormal = ?
glTexCoord = ?
glMultiTexCoord 0..7 = ?
glSecondaryColor = ?
glFog = ?
最佳答案
在 NVIDIA 驱动程序之外,这不起作用(可靠)。兼容的驱动程序只会将 glVertexPointer (...)
别名为属性插槽 0 。许多年前,NV 在他们无限的智慧中设计了一个标准的非标准方案,他们将所有固定函数指针别名到某些属性位置,但我不知道新的 NV 驱动程序是否支持这一点(老实说,我从来没有足够在意尝试,这是一种不好的做法)。您可能仍然可以找到 NV 的别名映射文档,但利用他们的非标准行为并没有使任何人受益。
虽然其他驱动程序也可能将固定函数指针别名为通用顶点属性位置,但没有关于它们的映射的文档。与 NV 不同,我不相信映射不会在驱动程序版本、硬件或平台之间发生变化。事实上,即使使用 NV 驱动程序,您也不应该利用这一点 - 它旨在促进旧版支持,而不是作为用于新软件的功能。
底线是,改用通用顶点属性或使用兼容性配置文件和仍然支持预先声明的变量的 GLSL 版本,这些变量是专门为获取固定功能顶点数据而设计的(例如 gl_Color
、 gl_Normal
、 gl_MultiTexCoord0...7
,... )。但不要混合搭配您所描述的两种方式。
还需要一些时间来查看 glGetPointerv (...)
。如果您想在 GLSL 之外获取有关固定函数指针的信息,这是正确的方法。不要依赖顶点属性别名,因为属性位置的概念本质上是一个可编程的管线特征。它甚至在 2.0 之前的未扩展 OpenGL 中都不存在(它是随 ARB Vertex Program assembly language 引入的,并通过 GLSL 提升为核心)。
更新:
虽然我仍然强烈建议不要使用此信息,但我能够准确找到您想要的信息:
Release Notes for NVIDIA OpenGL Shading Language Support - 2006 年 11 月 9 日 - 第 7-8 页
Vertex Attribute Aliasing
GLSL attempts to eliminate aliasing of vertex attributes but this is integral to NVIDIA’s hardware approach and necessary for maintaining compatibility with existing OpenGL applications that NVIDIA customers rely on.
NVIDIA’s GLSL implementation therefore does not allow built-in vertex attributes to collide with a generic vertex attributes that is assigned to a particular vertex attribute index with glBindAttribLocation. For example, you should not use gl_Normal (a built-in vertex attribute) and also use glBindAttribLocation to bind a generic vertex attribute named “whatever” to vertex attribute index 2 because gl_Normal aliases to index 2.
如果您想知道,这也在 ARB Vertex Program extension specification 的表 X.1 中进行了概述。我特别提到 NV 的唯一原因是因为他们选择在 GLSL 中重用别名,而其他供应商的兼容实现将只尊重 GLSL 中的第一个别名(glVertexPointer (...)
到 0 )。
关于opengl - OpenGL 4.0++ 核心配置文件中固定功能管道的属性位置是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20573235/
我需要安装一个 VPN 配置文件,以后可以在没有用户干预的情况下进行更改。直接的方法是安装 VPN 配置文件,然后安装 MDM 配置文件,以便以后可以更改配置。 但是,我的要求仅与 VPN 配置有关,
配置文件 全局配置文件hibernate.cfg.xml hibernate.cfg.xml --> com.mysql.cj
我想知道有没有一种方法可以设置配置,我可以有两个数据库条目,当环境是本地时和在服务器上时都可以工作。 我很久以前就通过代码进行切换时遇到了一个解决方案。现在无法找到它。你们是怎么做到的? 最佳答案 我
通常我总能在 Stack Overflow 上找到我要找的东西。但是这次我真的难住了。 我已经阅读了针对遇到类似问题的人的其他 Stack Overflow 回复;但无济于事。 (我认为其中一部分原因
我是 Hadoop 新手。我正在尝试设置单节点集群。 我注意到在我读过的文档中(甚至在 Apache 的配置站点上)它总是引用 conf/目录中的配置文件。但是,当我下载 2.X.X 版时,我只能在
好吧,我之前发布了如何读取其他程序的其他配置文件(这里是链接 Previous Post 。我设法做到了。但是现在还有另一个问题。场景是这样的,我有两个程序。程序 A 从配置文件中读取其配置,程序 B
【全局(系统)配置文件】 复制代码 代码如下: /etc/crontab Linux 主要的配置文件都在 etc 目录下。 复制代码
Apache HBase配置文件 本节是本章内容的开篇,我们首先来认识Apache HBase中有哪些需要的配置文件! Apache HBase使用与Apache Hadoop相同的配置系统。所有
我想了解如何为我们的实验构建配置文件 让我们以 AllenNLP 文档中的这个例子为例 training and prediction 特别是这个片段 我们从哪里得到“token_embedders”
我正在研究 MAVEN 配置文件,我有一个关于使用变量设置属性的问题。目前,我正在使用以下配置: Action type D restriction actionTy
我知道以前可能有人问过这个问题,但我似乎无法为我找到正确的答案。 我有一个名为 的 Windows 服务foobar.exe .我有一个名为 的应用程序配置文件foobar.exe.confi
我使用 FitNesse 作为功能测试框架。当 FitNesse 运行需要配置的代码时,我遇到了麻烦。 如果我需要从配置文件中获取连接字符串,我可以通过将它添加到 FitServer.exe.conf
我对我的 Jenkins 输出感到有些困惑。 关于 Jenkins 的工作:(在底部缩短了 pom.xml) mvn deploy -Pprofile1 我所有的插件将运行 4 次: 父/pom.xm
我偶尔会遇到一个问题,即为设备配置开发版本的应用程序。错误消息通常是“找不到此可执行文件的有效配置文件”。 我已遵循所有 Apple 说明:我拥有有效的开发证书,开发人员配置文件包含相关设备的设备 I
我正在尝试在 F# 控制台应用程序中使用 NLog,我已设法使用 App.config 中的配置部分使其工作,但无法使用独立的 NLog.config 文件使其工作。我的 NLog.config 文件
有没有办法像在 rubocop 中一样使用配置文件禁用 puppet-lint 中的检查?配置文件应该是txt文件、json文件还是其他格式? 最佳答案 是的,该文件名为 .puppet-lint.r
我有多个网站,它们都具有相同的代码,但应用程序设置不同。我想将我的应用程序设置放在位于虚拟目录中的单独配置文件中。这将允许我在所有站点之间共享所有代码的单个副本,每个站点具有不同的虚拟目录。 不幸的是
我在 Ubuntu 上使用 ghci 6.8.2。 ghci 是否使用配置文件来进行一些初始设置?例如::设置提示符“ghci>”。 最佳答案 您是否尝试过将 :set Prompt "ghci> "
我继承了一个运行 JBoss 7.x 服务器、java 后端等单个实例的项目。我对 JBoss 完全陌生,我对文件结构的配置感到好奇),我必须拥有什么以及在哪里。 documentation其结构与我
我有一个关于 Android 的问题。我只需要在开始时运行其中一项 Activity 一次。因此,通常最好的解决方案是创建包含标志 isFirstRun 的文件并在应用程序启动后检查该值。 但在我的应
我是一名优秀的程序员,十分优秀!