openGL之API学习(七十)windows的opengl扩展wgl

2023-11-07

WGL扩展说白了是Windows操作系统和OpenGL做交互的一系列扩展,glut也好,其他框架也好,都是对这些接口进行了封装。之前的文章也提到了,Windows在对OpenGL的原生支持非常不友好,甚至差点就夭折了,在wingdi.h这个头文件中是有一堆接口用于创建OpenGL Render Context的,但是使用这些API创建的版本非常低,好像也就1.1~1.4的样子,而且还是软件实现,总之是非常不友好,所以就有ICD架构这个东西,类似于一个对于OpenGL32.dll的插件,ICD这个东西在你的显卡驱动里,比如N卡的nvoglv32.dll,A卡的atioglxx.dll是吧,反正ICD是个很神奇的东西,没有它在Windows上想用完整的OpenGL就不可能了。

  • The core OpenGL functions must include the header file <GL\gl.h>.
  • The OpenGL Utility library must include the header file <GL\glu.h>.
  • The OpenGL Programming Guide auxiliary library must include the header file <GL\glaux.h>.
  • The WGL functions must include the header file windows.h.
  • The Windows functions that support Microsoft's implementation of OpenGL in Windows must include the header file Windows.h.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

openGL之API学习(七十)windows的opengl扩展wgl 的相关文章

  • 纹理映射 C++ OpenGL

    我已经阅读了相关内容 包括 Nehe 和此处的解决方案 但我找不到具体的答案 我正在尝试加载一张名为stars jpg 的照片 我想通过使用 uv 坐标映射它来使其成为场景的背景 方法是 glBegin GL QUADS glTexCoor
  • 帧缓冲区/颜色缓冲区?

    有人可以指出我两者是否相同吗 我的意思是我一直在阅读有关它的信息 这里的红皮书说 颜色缓冲区本身可以由多个子缓冲区组成 系统上的帧缓冲区包含所有这些缓冲区 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 和 CUDA 制作一个简单的用于云和烟雾模拟的粒子系统 如何使粒子系统中的粒子表现得像真正的云或烟雾在低湍流风中的表现 我现在遇到的一些问题是 颗粒聚集成一个大球 粒子扩散到无限远 粒子突然弹射离开 我已经完成
  • 在 OpenGL 中使用不同的着色器程序?

    我必须在 OpenGL 中针对不同的对象使用两个不同的着色器程序 我发现我必须使用glUseProgram 在不同的着色器程序之间切换 但对此没有太多信息 鉴于我有两个用于不同对象的不同着色器程序 如何为每个着色器程序生成和绑定 VAO 和
  • GLSL 中统一浮点行为和常量浮点行为的不同

    我正在尝试在 GLSL 中实现模拟双精度 并且观察到一种奇怪的行为差异 导致 GLSL 中出现细微的浮点错误 考虑以下片段着色器 写入 4 浮点纹理以打印输出 layout location 0 out vec4 Output unifor
  • 渲染具有透明度的纹理时,OpenGL 不需要的像素

    我已经为这个问题苦苦挣扎了一段时间了 当我使用 OpenGL 渲染 2D 纹理 在无透明度和部分透明度之间的过渡上具有透明度值 时 我得到了一些烦人的灰色像素 我认为这是像素值插值的产物 关于如何改进这一点有什么想法吗 I m attach
  • glm 中矩阵值的顺序不正确?

    我开始使用GLM http glm g truc net通过 OpenGL 3 和 GLSL 进行数学运算的库 我需要正交投影来绘制 2D 图形 所以我编写了这个简单的代码 glm mat4 projection 1 0 projectio
  • 实例着色器矩阵的设置

    我想绘制实例立方体 我可以打电话GL DrawArraysInstanced PrimitiveType Triangles 0 36 2 成功地 我的问题是所有立方体都绘制在相同的位置和相同的旋转 我如何为每个立方体单独更改它 要创建不同
  • 如何在opengl中使用四元数绕屏幕中心旋转?

    我正在尝试实现轨迹球 轨迹球旋转 但我的中心有问题 回转 无论如何 我希望中心成为屏幕的中心 让我解释一下到目前为止我所做的事情 我创建了一个四元数 旋转轴 向量起点x向量结束 角度 向量起点 向量结束 从该四元数中 我创建了一个旋转矩阵
  • matplotlib:渲染到缓冲区/访问像素数据

    我想使用 matplotlib 生成的图作为 OpenGL 中的纹理 到目前为止 我遇到的 matplotlib 的 OpenGL 后端要么不成熟 要么已经停止使用 所以我想避免使用它们 我当前的方法是将图形保存到临时 png 文件中 并从
  • 渲染到一个颜色通道而不影响其他通道

    使用 OpenGL 任何版本 如何通过一次仅影响一个颜色通道来渲染到帧缓冲区对象 例如 我的帧缓冲区对象具有 GL BGRA 布局 现在我想执行一些渲染命令 这些命令应该只改变红色通道 因此 如果片段用颜色 204 0 0 0 渲染并且像素
  • Qt 5.5 QOpenGLWidget 链接错误未链接任何 openGL 调用

    我尝试使用 Qt 5 5 1 构建一个简单的 OpenGL 应用程序 一切都很好 直到我尝试使用 glClearColor 等 openGL 本机函数调用 该小部件实际上编译并产生黑屏 但在我尝试使用任何 openGL 本机函数后 它甚至不
  • 使用 gl_FragColor 与 vec4 颜色?

    似乎有很多不明确的地方gl FragColor被弃用 例如 它缺失在GLSL 4 40 规范 https www khronos org registry OpenGL specs gl GLSLangSpec 4 40 pdf 但它包含在
  • 进行亚像素平移时,2D 纹理会扭曲

    我想知道一个理论推理为什么这是可能的 几何体的平移与纹理映射有何关系 我只能在进行子像素平移时注意到这种效果 如果通过整个像素平移 纹理看起来很好 我正在使用正交投影 GL CLAMP TO EDGE GL NEAREST 片段着色器是hi
  • 使用 OpenGL 渲染 QImage

    与我相关的其他问题 https stackoverflow com questions 20126354 render qimage from sooffscreenrenderer in qglwidget 我认为更核心的问题是 如何渲染
  • SDL 程序中颜色关闭

    我目前正在开发一个非常简单的游戏 使用纯 C 方法和 SDL 及其官方额外库 如 SDL image 和 OpenGL 现在 虽然我遇到了一些障碍 但我不知道为什么要这样做 绘制时颜色全部关闭 我目前在 Mac 上运行该程序 但如果我没记错
  • 开启TK onRenderFrame和onUpdateFrame的区别?

    我目前正在使用 OpenTK 框架和 OpenGL 用 C 编写 Jump n Run 游戏 Open TK 提供预设功能 例如GameWindow Run or GameWindow onUpdateFrame onRenderFrame
  • 使用 WGL 创建现代 OpenGL 上下文?

    我正在尝试使用 Windows 函数创建 OpenGL 上下文 现代版本 基本上代码就是 创建窗口类 注册班级 创建一个窗口 choose PIXELFORMATDESCRIPTOR并设置它 创建旧版 OpenGL 上下文 使上下文成为当前
  • 光照不适用于 gluSphere

    这是一个简单的问题 我有点羞于寻求帮助 我正在对 gluSphere 进行简单调用来渲染球体 但是 即使我很确定我正确添加了法线和照明 它也无法正确照亮 但是 如果我添加纹理 模型会正常点亮 但它似乎总是平滑的 并且我无法将其更改为平面 这

随机推荐

  • 数据库表字段设置为自增时,使用实体类插入或者更新数据时报错解决(hibernate框架)

    问题 数据库表字段存在自增列 使用实体类新增或者更新数据时 会报错 hibernate框架 报错如下 2021 05 06 15 12 04 WARN org hibernate engine jdbc spi SqlExceptionHe
  • 尺取法 — 详解 + 例题模板(全)

    尺取法 顾名思义 像尺子一样取一段 借用挑战书上面的话说 尺取法通常是对数组保存一对下标 即所选取的区间的左右端点 然后根据实际情况不断地推进区间左右端点以得出答案 尺取法比直接暴力枚举区间效率高很多 尤其是数据量大的时候 所以说尺取法是一
  • 【图像处理】PIL与OpenCV的读取、显示、保存图片/ numpy与Image的转换

    文章目录 PIL 读取 显示 保存图片 OpenCV 读取 显示 保存图片 采用 matplotlib 显示以 OpenCV 读取的图片 numpy 和 Image 的相互转换 Image 转换成 numpy numpy 转换成 Image
  • 【LVGL 学习】样式(style)属性学习

    属性 尺寸和位置 要理解尺寸和位置是如何起作用的 首先要理解 LVGL 的盒子模型 官方文档给出了一张图 可以很好地描述一个控件的框架结构 在设置尺寸的时候 长和宽指的是包括边框 border 厚度的长宽 也就是不包括轮廓 outline
  • 【LeetCode-中等题】39. 组合总和

    文章目录 题目 方法一 递归 回溯 题目 这题的nums数组里面不存在重复元素 所以也就无需做去重操作 但同一个元素可以被无限次取 说明每次递归中的for循环的开始位置就是自己 nums数组里面存在重复元素 去重版本 方法一 递归 回溯 参
  • 全面介绍插入排序

    何谓 插入排序 其概念如是说 每次将一个待排序的记录 按其关键字大小插入到前面已经排序好的序列中 直到全部记录插入完成为止 概念的东西总是有些抽象 也可称其为基本思想 上述插入排序的概念同样也可说是插入排序的基本思想 抽象的东西理解起来总是
  • 【翻译】 如何应对内核警告?

    LWN net需要你 没有订阅者 LWN就根本不存在 请考虑注册订阅 帮助LWN继续出版 作者 Jonathan Corbet 2021年11月18日 内核在内部提供了许多宏 允许代码在出错时产生警告 然而 它并没有提供很多关于警告发出时应
  • postgresql高可用及postgis安装

    postgresql高可用及postgis安装 postgresql 高可用 进程 流式复制 流复制原理 流复制实现 master 节点配置 slave 节点配置 查看同步状态 在主库查看状态 postgis docker安装postgis
  • 找到opencv_world320d.dll,无法继续执行代码。重新安装程序可能会解决此问题。

    win 10 visual studio 2015 opencv3 2 0 VC 运行一个调用opencv库进行图像滤波的程序 出现如下错误 找到opencv world320d dll 无法继续执行代码 重新安装程序可能会解决此问题 解决
  • JAVA调用js函数

    Nashorn介绍 是由Oracle用Java编程语言开发的JavaScript引擎 它基于Da Vinci Machine JSR 292 并随Java 8一起发布 它的前身是 基于Mozilla Foundation发布的Rhino开源
  • Docker的安装(以CentOS 7为例)

    文章目录 二 Docker的安装 以CentOS 7为例 二 Docker的安装 以CentOS 7为例 首先 我们需要联网 并下载我们的工具 yum 命令如下 yum install y yum utils device mapper p
  • ML-机器学习实践

    目录 超参数选择 Gride Search Random Search 相关库 几种参数估计的区别与联系 MLE MAP 贝叶斯TODO 余弦相似度 cos距离 与欧式距离的区别和联系 1 区别 2 联系 归一化 标准化 混淆矩阵 模型度量
  • postgresql-11主从复制(流复制)部署

    主从介绍 PostgreSQL流复制默认是异步的 如果主服务器崩溃 则某些已被提交的事务可能还没有被复制到后备服务器 这会导致数据丢失 数据的丢失量与故障转移时的复制延迟成比例 同步复制能够保证一个事务的所有修改都能被传送到一台或者多台同步
  • javascript全局异常监听

    不管我们用javascript做什么开发 总会出现项目运行异常 甚至crash 这个时候 我们希望不只是javascript会打印一行日志 而是可以出现一个弹窗或者其他的一些让我们开发者更能直接获取到的信息 对于这个需求 javascrip
  • jupyter vscode连接到 kernel: Python 3.7.3: 正在激活 Python 环境未响应问题 解决

    更新VScode jupyter插件 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页 如果你想学习如何使用Markdown编辑器 可以仔细阅读这篇文章 了解一下Markdown的基本语法知识 卸载pyzmq和jupyter
  • svn下载及使用

    下载 链接 https pan baidu com s 1RV6vAujA1anHhXJuKbItUQ pwd flzx 提取码 flzx 这是svn安装包以及中文安装包 放在百度网盘了 有需要可以下载 注意 svn中文语言包安装的版本需要
  • 【ag-grid-vue】基本使用

    ag grid是一款功能和性能强大外观漂亮的表格插件 ag grid几乎能满足你对数据表格所有需求 固定列 拖动列大小和位置 多表头 自定义排序等等各种常用又必不可少功能 关于收费的问题 绝大部分应用用免费的社区版就够了 ag grid c
  • this.$msgbox创建弹窗,提示文字绑定事件-element ui + vue项目

    setDiloag const h this createElement var that this 注意 this msgbox title 提示 message h p null h span null 申请已提交成功 您可以在 on
  • 机器学习第八课--决策树

    举个例子 明天如果下雨我就不出门了 在这里我们用了一个决策条件 是否下雨 然后基于这个条件会有不同的结果 出门和不出门 这就是一个经典的决策树 决策树的核心组成部分 节点 边 最后的结论就是第一个决策树要优于第二个决策树 因为它的准确率更高
  • openGL之API学习(七十)windows的opengl扩展wgl

    WGL扩展说白了是Windows操作系统和OpenGL做交互的一系列扩展 glut也好 其他框架也好 都是对这些接口进行了封装 之前的文章也提到了 Windows在对OpenGL的原生支持非常不友好 甚至差点就夭折了 在wingdi h这个