openGLAPI之glPolygonOffset

2023-11-17

openGL系列文章目录

前言

openGLAPI之glPolygonOffset函数详解

一、glPolygonOffset官方文档

glPolygonOffset官方文档说明

Name
glPolygonOffset — set the scale and units used to calculate depth values

C Specification
void glPolygonOffset( GLfloat factor,
GLfloat units);

Parameters
factor
Specifies a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.

units
Is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.

Description
When GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or GL_POLYGON_OFFSET_POINT is enabled, each fragment’s depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The value of the offset is factor×DZ+r×units, where DZ is a measurement of the change in depth relative to the screen area of the polygon, and r is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. The offset is added before the depth test is performed and before the value is written into the depth buffer.

glPolygonOffset is useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.

Associated Gets
glIsEnabled with argument GL_POLYGON_OFFSET_FILL, GL_POLYGON_OFFSET_LINE, or GL_POLYGON_OFFSET_POINT.

glGet with argument GL_POLYGON_OFFSET_FACTOR or GL_POLYGON_OFFSET_UNITS.

Version Support
OpenGL Version
Function / Feature Name 2.0 2.1 3.0 3.1 3.2 3.3 4.0 4.1 4.2 4.3 4.4 4.5
glPolygonOffset ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
See Also
glDepthFunc, glEnable, glGet, glIsEnabled

Copyright
Copyright © 1991-2006 Silicon Graphics, Inc. Copyright © 2010-2014 Khronos Group. This document is licensed under the SGI Free Software B License. For details, see https://khronos.org/registry/OpenGL-Refpages/LICENSES/LicenseRef-FreeB.txt.

二、翻译

glPolygonOffset 函式
發行項
2021/09/15
2 位參與者

GlPolygonOffset 函式會設定 OpenGL 用來計算深度值的小數位數和單位數。

語法
C++

複製
void glPolygonOffset(
GLfloat factor,
GLfloat units
);
參數
因素

指定用來為每個多邊形建立可變深度位移的比例因數。 初始值為零。

單位

指定乘以實值指定值的值,以建立常數深度位移。 初始值為0。

傳回值
此函式不會傳回值。

錯誤碼
GlGetError函式可以取出下列錯誤碼。

錯誤碼
Name 意義
GL _ 不正確 _ 操作
呼叫 glBegin 和對應的 glEnd呼叫之間呼叫了函數。
備註
當 _ 啟用 GL 多邊形 _ 位移時,每個片段的深度值將會在從適當頂點的深度值中插補之後位移。 位移的值是 係數 * ? z + r * 單位,其中? z 是相對於多邊形螢幕區域的變更深度度量,而 r 是保證為指定的執行產生可解析位移的最小值。 在執行深度測試之前,以及將值寫入深度緩衝區之前,會加入位移。

GlPolygonOffset 函式適用于轉譯隱藏行影像、將 decals 套用至表面,以及用來呈現具有反白顯示邊緣的純色。

GlPolygonOffset 函式對在意見緩衝區中放置的深度座標沒有任何作用。 它也不會影響選取專案。

下列函式會取出與 glPolygonOffset 相關的資訊:

具有引數 GL _ 多邊形 _ 位移 _ 因數的 glGet
具有引數 GL _ 多邊形 _ 位移 _ 單位的 glGet
具有引數 GL _ 多邊形 _ 位移 _ 填滿的 glIsEnabled
具有引數 GL _ 多邊形 _ 位移 _ 線的 glIsEnabled
具有引數 GL _ 多邊形 _ 位移 _ 點的 glIsEnabled
注意

GlPolygonOffset 函式僅適用于 OpenGl 1.1 版或更高版本。

規格需求
規格需求
需求 值
最低支援的用戶端
Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器
Windows 2000 Server [僅限傳統型應用程式]
標頭
Gl
程式庫
Opengl32 .lib
DLL
Opengl32.dll
另請參閱
glDepthFunc

glDisable

glEnable

glGet

glIsEnabled

glLineWidth

glStencilOp

glTexEnv

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

openGLAPI之glPolygonOffset 的相关文章

  • lnk1104:无法打开“LIBC.lib”链接

    使用 GLee 将着色器写入我的 OpenGL 项目并编译后 我收到了错误LNK1104 cannot open file LIBC lib 我尝试按照其他人的建议添加它并忽略它 但没有解决问题 有没有其他方法可以解决我错过的这个问题 以下
  • Eclipse 标记 OpenGL 函数无法解析

    我尝试在 Eclipse C C 中使用一些 OpenGL 函数 一些 标准 函数如 GlClear 可以被 eclipse 识别 而其他函数如 glBindBuffer 和 glEnableVertexAttribArray 则不能 它们
  • 如果我用opengl绘图的话SDL Renderer就没用了吗?

    我正在学习 SDL2 但我也在使用使用 OpenGL 调用的 imgui 库 从我在网上各种博客上读到的内容来看 我无法轻松混合 SDL2 渲染器和 opengl 调用 我要么使用其中之一 要么使用另一个 我读过的大多数教程都使用渲染器 所
  • 为什么OpenGL使用float而不是double? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 无法在 WSL2 上运行 OpenGL

    我尝试在 WSL2 上运行 OpenGL 代码 但在尝试运行可执行文件时出现以下错误 GLFW error 65543 GLX Failed to create context GLXBadFBConfig Unable to create
  • OpenGL - 两个纹理的幂

    OpenGL 使用二次幂纹理 这是因为由于 MipMapping 某些 GPU 只接受 2 的幂纹理 当绘制比实际更大的纹理时 使用这些二次方纹理会导致问题 我想到了一种方法来解决这个问题 即仅在我们使纹理小于实际大小时使用 PO2 比率
  • 更改 Qt OpenGL 窗口示例以使用 OpenGL 3.3

    我正在尝试更改 Qt OpenGL 示例以使用更现代的 opengl 版本 330 似乎合适 所以我做了 在 main cpp 上设置版本和配置文件 设置着色器版本 更改着色器以使用统一 它现在构建没有任何错误 但我只看到一个空白窗口 我错
  • glDrawElements 只绘制半个四边形

    这是我的功能 void Object draw2 if mIsInitialised return Tell OpenGL about our vertex and normal data glEnableClientState GL VE
  • OpenGL:如何检查用户是否支持glGenBuffers()?

    我检查了文档 它说 OpenGL 版本必须至少为 1 5 才能制作glGenBuffers 工作 用户使用的是1 5版本但是函数调用会导致崩溃 这是文档中的错误 还是用户的驱动程序问题 我正在用这个glGenBuffers 对于VBO 我如
  • 编译 GLUI 库,VS2010 给我一个奇怪的命名空间错误

    我有一个针对我所在班级的 OpenGL 项目 它基于 GLUI 提供的 GLUI 库无法工作 这就是我尝试自己编译它的原因 因此 我从 SourceForge 下载了源代码并尝试编译 glui 库 它给了我这个 但我找不到任何相关信息 1
  • 纹理的内部格式

    看下面的OpenGL函数 void glTexImage2D GLenum target GLint level GLint internalFormat GLsizei width GLsizei height GLint border
  • 如何从横滚、俯仰和偏航获取相机向上矢量?

    我需要从滚动角 俯仰角和偏航角 以度为单位 获取相机的向上矢量 以获得正确的外观 我已经尝试了几个小时不同的事情 但没有运气 这里的任何帮助将不胜感激 横滚 俯仰和偏航定义 3 轴旋转 从这些角度 您可以构建一个 3x3 变换矩阵来表达该旋
  • 帧缓冲区/颜色缓冲区?

    有人可以指出我两者是否相同吗 我的意思是我一直在阅读有关它的信息 这里的红皮书说 颜色缓冲区本身可以由多个子缓冲区组成 系统上的帧缓冲区包含所有这些缓冲区 here http glprogramming com red chapter10
  • 如何在 GLSL 1.3 和 OpenGL 2.1 中使用位运算

    我正在尝试编写一个使用许多位操作的着色器 事实上 从 glsl 1 30 开始就支持它们 但我只使用 OpenGL 2 1 有没有办法在我的 OpenGL 版本中使用位运算 所有 SM3 兼容 OpenGL 2 1 硬件支持limited整
  • 如何使用现代 OpenGL 在透视投影中绘制对象的正交轴? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我有带有透视投影的 3D 场景 我还可以选择场景中的一个对象 我需要为选定的对象绘制轴 问题是轴不会在透视投影中保存其大小 如果物体远离眼睛
  • 如何在 SceneKit 中以编程方式将 png 纹理包裹在立方体周围

    我是 SceneKit 的新手 试图让一些基本的东西工作 但到目前为止还没有取得多大成功 由于某种原因 当我尝试将 png 纹理应用于 CNBox 时 我最终除了黑色之外什么也没有 这是我在 viewDidLoad 中的简单代码片段 let
  • 在 OpenGL 中使用不同的着色器程序?

    我必须在 OpenGL 中针对不同的对象使用两个不同的着色器程序 我发现我必须使用glUseProgram 在不同的着色器程序之间切换 但对此没有太多信息 鉴于我有两个用于不同对象的不同着色器程序 如何为每个着色器程序生成和绑定 VAO 和
  • 使用 glGetFloatv 检索 pyglet 中的模型视图矩阵

    我正在使用 pyglet 在 python 中进行 3D 可视化 并且需要检索模型视图和投影矩阵来进行一些选择 我使用以下方式定义我的窗口 from pyglet gl import from pyglet window import wi
  • Opengl 视频纹理

    我正在使用 Visual Studio 10 在 Windows 上用 C 开发 opengl 应用程序 目前我在立方体上使用静态纹理 但我想集成视频纹理 你知道我可以使用哪个库来打开和解密视频吗 查看 ffmpeg libavformat
  • GL_COLOR_ATTACHMENT 有什么作用?

    我现在正在学习帧缓冲区 但我只是不明白颜色附件的作用 我了解帧缓冲区 第二个参数的意义是什么 glFramebufferTexture2D GL FRAMEBUFFER GL COLOR ATTACHMENT0 GL TEXTURE 2D

随机推荐

  • FISCO BCOS 三、多群组部署以及新节点加入群组

    本章主要以星形组网和并行多组组网拓扑为例 指导您了解如下内容 了解如何使用build chain sh创建多群组区块链安装包 了解build chain sh创建的多群组区块链安装包目录组织形式 学习如何启动该区块链节点 并通过日志查看各群
  • 正确加载 Javascript 和 CSS 到 WordPress

    原文 http technerdia com 1789 include jquery css html 正确加载 jQuery Javascript 和 CSS 到你的WordPress网站也许是一件比较痛苦的事情 本文将讲解如何使用Wor
  • 使用python处理selenium中的获取元素属性

    获取我的订单元素class属性值 get class name driver find element by link text 我的订单 get attribute class 判断class属性值是否为active self asser
  • 深度学习半自动化视频标注工具——VATIC使用教程

    Vatic简介 Vatic是一个带有目标跟踪的半自动化视频标注工具 适合目标检测任务的标注工作 输入一段视频 支持自动抽取成粒度合适的标注任务并在流程上支持接入亚马逊的众包平台Mechanical Turk 当然也可以自己在本地标注 最大的
  • 使用markdown写大论文

    目的 用自己中意的 Markdown 编辑器来写论文初稿 使用 Zotero 来管理大量参考文献 然后论文转换成 Office Word 文档让老师们查看 当 Markdown 内容并转换成 Word 格式后 所有引用都需要被 Zotero
  • 【BraTS】Brain Tumor Segmentation 脑部肿瘤分割3--构建数据流

    往期回顾 BraTS Brain Tumor Segmentation 脑部肿瘤分割1 数据篇 BraTS Brain Tumor Segmentation 脑部肿瘤分割2 UNet的复现 在上一篇网络复现中提到 输入图像变成 4 155
  • OSG学习:纹理映射(四)——三维纹理映射

    以下内容来自 1 OpenSceneGraph三维渲染引擎编程指南 肖鹏 刘更代 徐明亮 清华大学出版社 2 OpenSceneGraph三维渲染引擎设计与实践 王锐 钱学雷 清华大学出版社 3 自己的总结 下载完整工程OSG 12 Tex
  • 基于区块链的分布式存储系统开发论文研究

    基于区块链的分布式存储系统开发论文研究 一 论文一 基于区块链的应用系统开发方法研究 蔡维德 论文引用 1 蔡维德 郁莲 王荣 刘娜 邓恩艳 基于区块链的应用系统开发方法研究 J 软件学报 2017 28 06 1474 1487 1 区块
  • 数据结构之二叉查找树(Binary Search Tree)和红黑树(Red Black Tree)

    感兴趣的话大家可以关注一下公众号 猿人刘先生 欢迎大家一起学习 一起进步 一起来交流吧 二叉查找树 Binary Search Tree 二叉查找树又可以称之为 二叉搜索树 二叉排序树 它或者是一棵空树 或者是具有下列性质的二叉树 若它的左
  • jsoup的Elements类

    随时随地阅读更多技术实战干货 获取项目源码 学习资料 请关注源代码社区公众号 ydmsq666 一 简介 该类是位于select包下 直接继承自Object 所有实现的接口有Cloneable Iterable
  • Qt限制文本框输入的方法

    在做界面编程的时候 对文本框的处理往往是个很头疼的事情 一是焦点进入文本框时 从人性化考虑 应选择文本框中文本 方便输入 二是 限制文本框的输入 只允许输入有效的文本 如果不这样做的话 那么就需要在程序中滤去非法输入 在这里介绍一种解决上述
  • Tip of the Week #65: Putting Things in their Place

    Tip of the Week 65 Putting Things in their Place Originally posted as totw 65 on 2013 12 12 By Hyrum Wright hyrum hyrumw
  • 关系数据模型(一)

    声明 最近在准备考试 故整理数据库笔记 关系数据模型 关系 域 笛卡尔积 关系 域D1 D2 Dn上的关系r是笛卡尔积D1x D2 xDn的任意子集 n个域上的关系称为n 元关系 元 又称目或度 关系的性质 1 关系是笛卡尔积的子集 即元组
  • Q-Learning与Deep Q-network

    1 价值迭代 价值迭代方法假设事先知道环境中的所有状态 可以对其进行迭代 并可以存储与他们关联的近似价值 对于状态价值步骤如下 对于动作价值步骤如下 存在的问题 获得优质状态转移动态的估计所需的样本数量 状态空间需要足够小 将问题限制在离散
  • 920. 最优乘车(BFS 流式输入)

    H城是一个旅游胜地 每年都有成千上万的人前来观光 为方便游客 巴士公司在各个旅游景点及宾馆 饭店等地都设置了巴士站并开通了一些单程巴士线路 每条单程巴士线路从某个巴士站出发 依次途经若干个巴士站 最终到达终点巴士站 一名旅客最近到H城旅游
  • 移远EC20模组MQTT连接阿里云平台

    一 实现原理 在开始操作前说一下MQTT的实现的原理 MQTT协议 Message Queuing Telemetry Transport 消息队列遥测传输 是IBM开发的一个即时通讯协议 是为大量计算能力有限 且工作在低带宽 不可靠的网络
  • 使用 gvm 来快速安装或者升级 golang 版本

    gvm 是 golang 的版本管理工具 有点类似于 python 的 pyenv 一 安装 gvm bash lt lt curl s S L https raw githubusercontent com moovweb gvm mas
  • 自然对数e的来历

    e是自然对数的底数 是一个无限不循环小数 其值是2 71828 是这样定义的 当n gt 时 1 1 n n的极限 注 x y表示x的y次方 随着n的增大 底数越来越接近1 而指数趋向无穷大 那结果到底是趋向于1还是无穷大呢 其实 是趋向于
  • win10与Linux虚拟机进行文件共享

    由于工作需要使用到linux虚拟机 为了实现win10与Linux虚拟机进行文件共享 分享教程如下 1 在windows系统中设置文件共享 设置过程参考我之前的文章 局域网内共享文件夹 2 虚拟机设置共享文件夹 1 设置 gt 共享文件夹
  • openGLAPI之glPolygonOffset

    openGL系列文章目录 文章目录 openGL系列文章目录 前言 一 glPolygonOffset官方文档 二 翻译 前言 openGLAPI之glPolygonOffset函数详解 一 glPolygonOffset官方文档 glPo