Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >OpenGL GL_COLOR_BUFFER_BIT属性位是否表示深度和模板缓冲区相关的状态?

OpenGL GL_COLOR_BUFFER_BIT属性位是否表示深度和模板缓冲区相关的状态?
EN

Stack Overflow用户
提问于 2014-07-28 23:56:08
回答 1查看 197关注 0票数 2

我正在做一些与OpenGL 1.3相关的工作,遇到了一些与OpenGL状态变量有关的不确定性,以及它们与属性堆栈的关系,以及它们对应的属性位。在OpenGL超级圣经中,声明GL_ENABLE_BIT保存了GL_DEPTH_TESTGL_STENCIL_TEST状态等变量。

然而,圣经也提到,GL_COLOR_BUFFER_BIT符号常量除了保存一些不那么具体的状态之外,还保存了“当前绘图缓冲区”。本能地,我觉得属性位应该只构成帧缓冲区(如后退/颜色缓冲区中的)-related状态,因为它的名称,但深度和模板缓冲区自然是缓冲区,你可以画(‘绘图缓冲区’)。

类似地,Khronos手册页在指定与各自位相对应的许多变量时,只简要地概述了其中一些位表示的状态(描述状态,例如“为用户定义的剪贴面启用位”)。我的第一个想法是,这是因为定义较少的状态(在文本中描述,而不是指定GLenum名称)是用户无法访问的,因此Kronos没有进一步详细说明。然而,有多个纯文本状态可能被用户读取和写入,而这些状态不是由名称指定的--例如“颜色模式和索引模式清除值”(GL_COLOR_CLEAR_VALUE)和包含在GL_COLOR_BUFFER_BIT属性位下的“颜色模式和索引模式写掩码”(GL_COLOR_WRITEMASK) --因此这似乎不太可能。

虽然这可能不会给普通用户带来任何问题,但对于一些开发人员(比如我,在本例中)来说,这可能是一个问题,因为在glPushAttribglPopAttrib方法调用期间,需要确切地了解应该将哪些状态推送/弹出到/从属性堆栈。

我的问题是:“当前绘图缓冲区”在这方面是否包含GL_DEPTH_TESTGL_STENCIL_TEST状态,我在哪里可以找到更详细的信息,详细说明哪些状态构成了各自的属性位?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-29 03:59:58

GL_DEPTH_TEST OpenGL状态变量在GL_DEPTH_BUFFER_BITGL_ENABLE_BIT传递给glPushAttrib函数时被推送到属性堆栈。同时,GL_STENCIL_TEST状态使用GL_STENCIL_BUFFER_BITGL_ENABLE_BIT符号常量保存到堆栈中。

因此,当GL_DEPTH_TESTGL_STENCIL_TEST状态变量被赋予属性堆栈时,GL_COLOR_BUFFER_BIT都不会被写入属性堆栈。此外,附加状态及其相应的属性位在第6章:OpenGL 1.3规范的状态和状态请求中详细介绍。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25010605

复制
相关文章
GitHub 如何从特定的版本中创建分支
在 Git 的操作中,我们可能需要从特定的版本中创建分支。 首先需要的第一步是活的当前项目的提交历史列表。 然后在特定的版本后,选择 <> 标记,进入这个版本的提交历史。 在左上角上,选择提交历史。 在弹出的对话框中输入分支名称。 在你输入名称后,将会提示你创建分支。 这个的意思是从当前的提交版本中创建一个分支。 然后可以从上面的提交中创建一个分支。 在创建完成后,可以从分支列表中查看创建的分支列表。 https://www.ossez.com/t/github/13414
HoneyMoose
2021/04/02
6.9K0
GitHub 如何从特定的版本中创建分支
tar压缩时排除特定文件和文件夹
一日一技是一个每天更新的栏目,力图做到让你每天用2分钟的时间掌握一个开发技巧。 ---- tar压缩文件的时候排除特定文件和文件夹: tar --exclude='./folder' --exclude='./upload/folder2' -zcvf /backup/filename.tgz . 注意末尾有一个点。
青南
2018/10/18
1.7K0
如何使用CP / SCP / RSYNC在Linux中排除特定目录?
对于任何系统管理员或一般Linux操作系统用户而言,在服务器之间执行文件复制操作都是一项常见任务。在将文件从一个系统复制到另一个系统时,由于某些特定原因,我们可能需要排除某些文件和目录被复制。即使在同一系统上将数据从一个位置传输到另一位置时,这也可能适用。
用户6543014
2020/05/04
15.7K0
meteor 简介
“Meteor gives you a radically simpler way to build realtime mobile and web apps, entirely in JavaScript from one code base.”
IMWeb前端团队
2019/12/04
9220
meteor 简介
meteor 简介
本文作者:IMWeb helondeng 原文出处:IMWeb社区 未经同意,禁止转载 What “Meteor gives you a radically simpler way to b
IMWeb前端团队
2018/01/08
1.4K0
meteor 简介
Meteor Tupperware — 更精简的Meteor Docker镜像
meteor-tupperware是一款更为精简的、适用于生产环境的Meteor Docker镜像。我们只需要两分钟就能快速部署应用! 假设你已经安装了Docker并且运行它: 创建 Dockerfile 和 .dockerignore (从 README 复制粘贴即可) 运行 docker build -t yourapp . 你也可以配置它同ImageMagick或PhantomJS协作,如果你的应用依赖它们的话。 相比于之前提到的meteord,它们有如下区别: meteor-tupperware
时见疏星
2018/06/01
5010
如何Meteor中轻松使用Webpack
原文来自Meteor Forum,更多讨论点击「阅读原文」进行查看! Meteor是一套惊人的工具来高效地创建伟大的Web应用。我非常喜爱它。这也是我半年前创建了一个能让Webpack集成进Meteor的扩展包。我觉得如果我们能有一个实时热重载,ES6模块,资源打包和代码分离,这会让Meteor更加酷,并且我们做到了! 但有件事我并不是很高兴,那就是配置Webpack太难了。你需要学习一系列新的概念才能写webpack.config.js。我不喜欢那些文件,因为不管你做的东西多么简单,配置它们都相当麻烦。
时见疏星
2018/06/01
1.1K0
Netty中的引导类Bootstrap
Bootstrap是用来组织Netty的各个结构(pipeline,handler,eventloop),并使他们运行起来的类结构。分成两块,一个是客户端引导类Bootstrap,只用1个channel来处理所有的网络交互,另一个是服务端的ServerBootstrap,它提供一个父channel来接受客户端的请求,然后父channel创建多个子channel来用于的通信
爬蜥
2019/07/09
9570
Git 如何从特定的提交中创建一个新的分支
通过在提交历史中单击右键,然后选择分支,你就可在当前指定的提交历史中来创建一个新的分支了。
HoneyMoose
2022/06/04
6.8K0
Git 如何从特定的提交中创建一个新的分支
WordPress 技巧:如何从 WordPress 页面菜单中移除特定页面
从 wp_list_pages() 中生成的页面菜单中移除特定的页面是非常简单的,只需要把下面代码加入到主题的 functions.php 文件中:
Denis
2023/04/15
2K0
Redis进阶-如何从海量的 key 中找出特定的key列表 & Scan详解
假设你需要从 Redis 实例成千上万的 key 中找出特定前缀的 key 列表来手动处理数据,可能是修改它的值,也可能是删除 key。那该如何从海量的 key 中找出满足特定前缀的 key 列表来?
小小工匠
2021/08/17
4.7K0
浏览器实验中的故障排除
https://webrtchacks.com/troubleshooting-unwitting-browser-experiments-al-brooks/
LiveVideoStack
2021/09/01
2.7K0
WordPress 技巧:从搜索结果中排除页面
默认情况下,WordPress 搜索结果显示发布的文章和页面,如果想把页面从 WordPress 搜索结果中排除,可以在当前主题的 functions.php 文件中添加如下的函数:
Denis
2023/04/13
4820
Blazor 中的路由和路由模板
过去的 ASP.NET Web 窗体和现代 Web 明显区别在于 Web 服务器入口是否存在路由组件。在 Web 窗体中,绝大多数 Web 终结点都是物理文件资源,直接通过其页面路径调用。
AI.NET 极客圈
2019/08/16
8.5K0
Egg 中的路由
在上面的路由中只插入了一个中间件,业务复杂时,还可以插入多个中间件,前提是要把用到的中间件全部引入。
越陌度阡
2020/11/26
1.7K0
Egg 中的路由
meteor框架学习
meteor js的全栈开发框架,官方的解释: Meteor makes it an order of magnitude simpler, and a lot more fun. You can b
用户1141560
2017/12/26
1.3K0
meteor框架学习
npm 中如何下载特定的组件版本
IMWeb前端团队
2018/01/08
4.3K0
npm 中如何下载特定的组件版本
ICCII中如何保持特定module的port
在进行后端设计时,为了使得最终的结果更加优化,也就是面积,功耗,性能更好,工具在优化时可能会把module的port改变。但是这样可能会带来一些问题。问题之一就是前端在进行仿真的时候,由于某些module port找不到了,很难找到需要监测的信号。
白山头
2020/09/15
2.7K0
点击加载更多

相似问题

成员从特定路由中排除混入

13

从Vue.js中的某些路由中排除引导样式

22

Symfony -从安全路径中排除特定路由

21

Meteor中的路由

31

路由regex要求:排除特定的单词

34
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文