delphi - 使用显卡(DirectX、OpenGL)代替 GDI 或 GR32 函数

标签 delphi opengl directx directdraw

目前我在项目中使用 GR32 函数,其中有很多混合、图像操作,例如饱和度、对比度、模糊等。还有自定义图像操作。

基本上我想用显卡指令替换GR32(或GDI,没有区别),以便使用显卡代替CPU进行处理。

我不需要OpenGL单元,我不想进行任何3D操作,我只想使用显卡计算而不是CPU指令。

我的问题是>

  1. 使用 GPU 的最佳方式是什么?
  2. 是否有为此目的编写的库?

最佳答案

使用 OpenGL 或 Direct3D。这些是用于与 GPU 通信的 API。

此外,OpenGL 和 Direct3D 都不能在 3D 场景上运行。他们所做的只是将点、线或三角形绘制到像素帧缓冲区,应用可编程着色器和固定功能混合操作。换句话说,他们完全按照您的意愿行事。

OpenGL 和 Direct3D 唯一的“3D”之处在于,点、线或三角形的坐标具有超过 2 维的维度,但最终这些坐标被投影到 2D 窗口坐标中。然后,点、线和三角形在窗口坐标空间中被光栅化为平面、二维形状。

关于delphi - 使用显卡(DirectX、OpenGL)代替 GDI 或 GR32 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30040803/

相关文章:

c++ - 从后台线程调用时 glewInit 失败

debugging - 带有 glObjectLabel 的 OpenGL 调试扩展

c++ - DirectX:如果绑定(bind)索引缓冲区而不绑定(bind)顶点缓冲区会发生什么?

delphi - 动态列出项目中的所有表单

delphi - 如何忽略/禁用用于调试 Delphi 6 DLL 的主机 EXE 中的 INT 01 和 INT 03 指令?

c++ - GLSL 类型不一致

c++ - direct3d 初始化失败/c++

c++ - DX12初始化失败VS2019

c# - 如何将字符串从 C# 传递给 delphi dll 函数?

delphi - 如何搜索 Delphi 文档?