c++ - 用于矩阵堆栈的 openGL

标签 c++ c windows opengl

我有一个 win32 应用程序,我想在其中仅将 openGL 用于其矩阵堆栈而不用于任何渲染。也就是说,我想使用 openGL 来指定相机、视口(viewport)等,这样我就不必再做数学运算了。在创建场景时,我只想使用 gluProject 投影点并使用它。投影点被传递到另一个为我创建场景的库,所有窗口句柄都是由库本身创建的,我无权访问它。

问题是,Windows 需要一个设备上下文来进行初始化。但是,由于我没有使用 openGL 进行任何渲染,有没有一种方法可以在根本没有任何窗口句柄的情况下使用 openGL?

在没有任何显式初始化的情况下,当我使用 glGet 读回矩阵时,它返回一个垃圾。想过如何解决它吗?

最佳答案

I want to use openGL just for its matrix stack not for any rendering.

这不是 OpenGL 的目的。 OpenGL 是一种绘图/渲染 API,不是数学库。实际上,正是出于这个原因,整个矩阵数学的东西已经从最新的 OpenGL 版本(OpenGL-3 核心和更高版本)中剥离了。

做这个矩阵数学的东西也很简单,你可以用不到 1k 行的 C 代码写下来。为此滥用 OpenGL 绝对没有任何好处。

关于c++ - 用于矩阵堆栈的 openGL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7702857/

相关文章:

c++ - 如何使用 Strtok 对 Const char* 进行标记?

c++ - 将此实例变量添加到 C++11 文件的 header 会使编译器陷入困境。为什么?

C:最大数,输出错误。兰德()

java - 如何为任务计划程序执行控制台 Java 应用程序?

c++ - Windows的静态库检查器?

windows - Crontab 不能在 Windows 上的 Ubuntu 上使用 Bash

c++ - 为什么我的自定义迭代器需要基于范围的 for 循环调用运算符?

.net - 将 C++ POS 控件与 .NET POS SDK 连接时出现问题

c - 在 for 循环 C 中返回

创建一个动态字符串数组,该数组将在填满时缩放