在 C# 中使用 OpenGL? [关闭]

2023-12-08

有免费的 C# OpenGL 支持库吗?如果是,我应该使用哪一个?在哪里可以找到示例项目?

C# 是否提供 OpenGL 类?


OpenTK是对 Tai API 的改进,因为它使用惯用的 C# 风格,具有重载、强类型枚举、异常和标准 .NET 类型:

GL.Begin(BeginMode.Points);
GL.Color3(Color.Yellow);
GL.Vertex3(Vector3.Up);

与仅仅镜像 C API 的ao相反:

Gl.glBegin(Gl.GL_POINTS);   // double "gl" prefix
Gl.glColor3ub(255, 255, 0); // have to pass RGB values as separate args
Gl.glVertex3f(0, 1, 0);     // explicit "f" qualifier

这使得移植更加困难,但使用起来非常好。

作为奖励,它提供字体渲染、纹理加载、输入处理、音频、数学......

2016 年 1 月 18 日更新:今天 OpenTK 维护者已经退出该项目,使其未来充满不确定性。论坛里充满了垃圾邮件。维护者建议转向 MonoGame 或 SDL2#。

2020 年 6 月 30 日更新:OpenTK 已经有一段时间有了新的维护者,并且有一个活跃的不和谐社区。所以之前使用另一个库的建议不一定是正确的。

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

在 C# 中使用 OpenGL? [关闭] 的相关文章

  • 编译时运算符

    有人可以列出 C 中可用的所有编译时运算符吗 C 中有两个运算符 无论操作数如何 它们的结果始终可以在编译时确定 它们是sizeof 1 and 2 当然 其他运算符的许多特殊用途可以在编译时解决 例如标准中列出的那些整数常量表达式 1 与
  • EF Core Group By 翻译支持条件总和

    听说 EF Core 2 1 将支持翻译小组 我感到非常兴奋 我下载了预览版并开始测试它 但发现我在很多地方仍然没有得到翻译分组 在下面的代码片段中 对 TotalFlagCases 的查询将阻止翻译分组工作 无论如何 我可以重写这个以便我
  • 没有强命名的代码签名是否会让您的应用程序容易被滥用?

    尝试了解authenticode代码签名和强命名 我是否正确地认为 如果我对引用一些 dll 非强命名 的 exe 进行代码签名 恶意用户就可以替换我的 DLL 并以看似由我签名但正在运行的方式分发应用程序他们的代码 假设这是真的 那么您似
  • 通过 CMIS (dotCMIS) 连接到 SP2010:异常未经授权

    我正在使用 dotCMIS 并且想要简单连接到我的 SP2010 服务器 我尝试用 C 来做到这一点 如下所示http chemistry apache org dotnet getting started with dotcmis htm
  • “构建”构建我的项目,“构建解决方案”则不构建

    我刚刚开始使用VS2010 我有一个较大的解决方案 已从 VS2008 成功迁移 我已将一个名为 Test 的控制台应用程序项目添加到解决方案中 选择构建 gt 构建解决方案不编译新项目 选择构建 gt 构建测试确实构建了项目 在失败的情况
  • 为什么 C# Array.BinarySearch 这么快?

    我已经实施了一个很简单用于在整数数组中查找整数的 C 中的 binarySearch 实现 二分查找 static int binarySearch int arr int i int low 0 high arr Length 1 mid
  • 按成员序列化

    我已经实现了template
  • 秒表有最长运行时间吗?

    多久可以Stopwatch在 NET 中运行 如果达到该限制 它会回绕到负数还是从 0 重新开始 Stopwatch Elapsed返回一个TimeSpan From MSDN https learn microsoft com en us
  • 用于检查类是否具有运算符/成员的 C++ 类型特征[重复]

    这个问题在这里已经有答案了 可能的重复 是否可以编写一个 C 模板来检查函数是否存在 https stackoverflow com questions 257288 is it possible to write a c template
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • 带动态元素的 WPF 启动屏幕。如何?

    我是 WPF 新手 我需要一些帮助 我有一个加载缓慢的 WPF 应用程序 因此我显示启动屏幕作为权宜之计 但是 我希望能够在每次运行时更改屏幕 并在文本区域中显示不同的引言 这是一个生产力应用程序 所以我将使用非愚蠢但激励性的引言 当然 如
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 使用 Bearer Token 访问 IdentityServer4 上受保护的 API

    我试图寻找此问题的解决方案 但尚未找到正确的搜索文本 我的问题是 如何配置我的 IdentityServer 以便它也可以接受 授权带有 BearerTokens 的 Api 请求 我已经配置并运行了 IdentityServer4 我还在
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 转发声明和包含

    在使用库时 无论是我自己的还是外部的 都有很多带有前向声明的类 根据情况 相同的类也包含在内 当我使用某个类时 我需要知道该类使用的某些对象是前向声明的还是 include d 原因是我想知道是否应该包含两个标题还是只包含一个标题 现在我知
  • 如何在整个 ASP .NET MVC 应用程序中需要授权

    我创建的应用程序中 除了启用登录的操作之外的每个操作都应该超出未登录用户的限制 我应该添加 Authorize 每个班级标题前的注释 像这儿 namespace WebApplication2 Controllers Authorize p
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 链接器错误:已定义

    我尝试在 Microsoft Visual Studio 2012 中编译我的 Visual C 项目 使用 MFC 但出现以下错误 error LNK2005 void cdecl operator new unsigned int 2
  • 如何使用 C# / .Net 将文件列表从 AWS S3 下载到我的设备?

    我希望下载存储在 S3 中的多个图像 但目前如果我只能下载一个就足够了 我有对象路径的信息 当我运行以下代码时 出现此错误 遇到错误 消息 读取对象时 访问被拒绝 我首先做一个亚马逊S3客户端基于我的密钥和访问配置的对象连接到服务器 然后创
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK

随机推荐

  • 如何更改 gWidgets RGtk2 中鼠标光标的形状?

    在gWidgets中的ggraphics绘图区域中 将鼠标光标更改为 GDK TCROSS 但我想要与gwindow GDK LEFT PTR 相同的鼠标光标 library gWidgets library gWidgetsRGtk2 l
  • 球拍中的树形折叠

    我是 Racket 的初学者 我有这样的问题 定义一个结构 node 其中包含以下字段 value left middle right 该结构表示树结构中的节点 这些字段包含存储在节点 左子树中的值 分别为中子树和右子树 如果一个子树 不存
  • EntityFramework Core 自动迁移

    有没有代码可以实现自动迁移Entity Framework core code first在 asp net core 项目中 我只是在 MVC4 5 中添加 Database SetInitializer new MigrateDatab
  • Python 向量化嵌套 for 循环

    我希望能够帮助您找到和理解一种 Pythonic 方法来优化嵌套 for 循环中的以下数组操作 def func a b radius Return 0 if a gt b otherwise return 1 if distance eu
  • 在 Laravel Post 中授权资源控制器不起作用?

    我创建了一个 ProductPolicy 其中有
  • PHP:将表单中的值插入 MySQL

    我创建了一个users表中mysql从终端 我正在尝试创建简单的任务 从表单插入值 这是我的dbConfig file 这是我的Index php
  • Android Telegram 应用程序 --> java.lang.UnsatisfiedLinkError: 未找到 void 的实现

    不幸的是 几周前 Stackoverflow 上删除了一个类似的问题 我必须提出一个新问题 我正在尝试通过源 为Android构建一个自己的Telegram应用程序https github com DrKLO Telegram 我无法让它工
  • 如何使用选项字典关闭 Swift 中的 Core Data Write-Ahead 日志记录?

    如何使用 Apple 新编程语言 Swift 关闭 Core Data 中的 SQLite 预写日志记录 WAL 在 ObjC 中 我曾经在选项字典中传入键值对 journal mode DELETE storeCoordinator ad
  • 稀疏签出后过滤 git 提交历史记录

    git repo 下有几十个文件夹 但我只与其中之一合作 所以 我不想知道其他文件夹下的项目发生了什么 我从远程签出了一个启用了稀疏签出的分支 现在我本地只有一个文件夹 但使用 gitk 时我仍然可以看到完整的提交历史记录 我在交互式变基期
  • 如何处理.NET Winforms中的堆叠控件?

    我有一个表单 它将多个面板控件堆叠在一起 每个控件都根据表单上的其他选定选项显示 隐藏 在表单设计器中管理起来确实很痛苦 因为面板的行为不像完整的 TabControl 但是 您似乎无法在没有选项卡的情况下使用 TabControl 处理这
  • 使用 PDFBox 拆分大型 Pdf 文件会得到大型结果文件

    我正在使用 pdfbox 处理一些大型 pdf 文件 高达 100MB 大约 2000 页 有些页面包含二维码 我想将这些文件分割成更小的文件 页面从一个二维码到下一个二维码 我得到了这个 但结果文件大小与源文件相同 我的意思是 如果我将一
  • 具有从 C# 到非托管驱动程序的嵌入式指针的编组结构

    我正在尝试使用 P Invoked DeviceIoControl 调用将 C NET Compact Framework 3 5 与 Windows CE 6 R2 流驱动程序连接起来 对于 IOCTL 代码之一 驱动程序需要一个 Dev
  • 当准备 segue 数组不包含数据时(使用 swift)

    根据按下的按钮 我想将单词列表附加到在开始时声明的变量 pickedList 当我准备继续时 它会覆盖已添加的内容 并且仅使用开始时添加的空数组 我可以在准备继续位中添加项目并将这些项目转移过来 但这不是我想要的 我对编程非常陌生 并且进行
  • JavaFx - 更新 GUI

    我想要的只是在程序运行时更新标签 我正在读取一些文件 我希望它显示正在读取的文件的名称 但是 它仅使用以下代码显示最后一个文件 基本上 GUI 在整个过程完成之前不会响应 static Text m status update new Te
  • 在 Windows 10 中启用 cURL

    我已经在笔记本电脑上设置了本地服务器 Windows 10 家庭单语言 64 位版本 1803 我已经下载并手动安装apache24 php7 MySQL php我的管理员 and 文字新闻通过遵循这个tutorial 我正在尝试启用 cU
  • 从mysql数据库提取数据时如何在mpdf中换行

    我正在使用 MPDF 从 mysql 数据库中存储的数据生成 pdf 文件 虽然我可以按预期提取和显示其他数据 但我无法显示多行文本 因为它们都在单行中 有人可以帮我解决这个问题吗 例如 我来自文本区域的数据在数据库中显示为 一 Two T
  • 加载和释放NSImage时内存持续增加

    我遇到一个问题 我的应用程序在连续加载图像文件时会大量消耗内存到 崩溃点 例如 考虑以下代码 该代码重复加载和释放 15MB JPEG 文件 用于测试目的的大文件大小 NSURL inputUrl NSURL URLWithString f
  • 在 JavaScript 中运行 PHP 代码?这个可以用吗?

    我不确定 PHP 行是否可以在 JavaScript 函数内运行 例如 我没有尝试过运行这个 但我不认为你可以像这样运行 PHP 有人可以帮忙吗 我可以在 javascript 函数中运行 PHP 脚本 而不通过 Ajax 调用外部 PHP
  • Angular 文件上传进度百分比[重复]

    这个问题在这里已经有答案了 在我用 Angular 4 开发的应用程序中 用户可以将多部分文件上传到服务器 文件很大 我需要向用户显示文件上传过程的当前进度及其百分比 我该怎么做 提前致谢 这适用于 Angular 9 和 10 note
  • 在 C# 中使用 OpenGL? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 有免费的 C OpenGL 支持库吗 如果是 我应该使用哪一个 在哪里可以找到示例项目 C 是否提供 OpenGL 类 OpenTK是对 Tai A