问题标签 [opentk]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
982 浏览

c# - 如何使用 Tao 框架(或 OpenTK)执行挑选

任何人都可以帮助我使用 Tao 框架(或 OpenTK)实现挑选吗?

0 投票
2 回答
417 浏览

c# - Carbon ReceiveNextEvent 和辅助线程

想象一个跨平台库,它必须创建自己的窗口,而不依赖于 WinForms/GTK#/WPF/MonoMac/etc(如果有人感兴趣,这是OpenTK )。

这是交易:Windows 和支持 X11 的 Unices 支持(或可以使用)多个事件循环,每个线程上一个。这意味着(a)您可以为每个线程创建一个窗口并让它们独立工作,并且(b)您可以在一个线程上运行 WinForms(或 GTK#、WPF、...)窗口并在另一个线程上打开 OpenTK 窗口,不受干扰。

现在,据我所知——公认的有限——知识,Carbon 不支持这一点。操作系统事件仅传递到“主”事件循环,所有辅助线程都在烟雾上运行(即 ReceiveNextEvent 始终返回 eventLoopTimedOutErr 并且没有找到任何事件)。OpenTK 本身可以处理这个限制,没问题,但是这对尝试将 OpenTK 与不同的工具包(例如 MonoMac)混合以呈现配置窗口的应用程序提出了一个有趣的问题。

两种选择:

  • 放弃这个疯狂的想法,并不允许将 OpenTK 与不同的工具包混合(不好)。
  • 选择一把战斧并砍下碳投降(好)。

这是你进来的:你能想出任何方法来完成这项工作吗?想象以下场景:

  1. 线程#1(主线程)运行我们自己选择的一些初始化代码并产生第二个线程(我们可以自由修改它)。
  2. 线程#1 (main) 打开一个本地窗口并运行一个 RAEL 循环 (RunApplicationEventLoop)。它超出了我们的直接控制范围,尽管如有必要,我们仍然可以安装计时器来运行我们的代码。
  3. 线程 #2(辅助)打开一个 OpenTK 窗口,该窗口立即挂起(事件仅传递给线程 #1,而 ReceiveNextEvent 什么也得不到)。

是否可以从线程#1 过滤事件并根据需要将它们传递给线程#2?CF可以在这里提供帮助吗?Mac OS X 的高手,请帮助!

(编程语言无关紧要,使用任何你熟悉的东西。我更喜欢基于 Carbon 的解决方案,但 Cocoa 可以正常工作。)

0 投票
1 回答
1076 浏览

c# - 相对相机旋转?

我目前已将此更新代码设置为旋转和移动我的相机。

当我移动我的相机时,它模拟了围绕世界原点(0,0,0)而不是其当前位置旋转的效果。

我的模型视图矩阵是这样加载的:

0 投票
2 回答
4860 浏览

opengl - 如何在 OpenTK(.Glu.Cylinder) 中绘制圆柱体?

如何在 OpenTK 中使用 OpenGL 绘制圆柱体?

0 投票
1 回答
3027 浏览

forms - 从窗口中删除最小化/最大化按钮,OpenTK

我需要禁用/删除窗口形式的最小化和最大化按钮。我不知道如何从我的 OpenTK.GameWindow 访问表单,感谢任何帮助。

0 投票
1 回答
356 浏览

macos - 使用 AGL 枚举所有像素格式 - 如何?(Mac OS X)

我想为 OpenGL 创建一个所有可用像素格式的列表。在 Windows 上,我可以通过在循环中调用 DescribePixelFormat 来执行此操作,增加像素格式 ID,直到它返回 false。

不幸的是,aglDescribePixelFormat 似乎不能这样工作。它的 AGLPixelFormat 参数是一个指向不透明结构的指针——我不能在循环中调用它。

苹果的文档也没有提供任何提示,谷歌也没有。有任何 AGL 专家愿意分享他们的知识吗?

编辑:我见过提到 aglListPixelFmts() 函数,但这没有在 agl.h 中列出,我在 Apple 的文档中也找不到任何提及。是什么赋予了?

0 投票
3 回答
1272 浏览

c# - GL 项目无法正常工作

我正在使用尝试像 Glu.Project() 一样工作的代码,因为 OpenTK 不支持 Glu。

s 是一个主要作为模型存在于 s.Position 的 3D 空间中的类。但是我从中获得的价值远远超出了窗口边界。

断点的 ModelView 矩阵:

断点的投影矩阵:

我做错了什么还是我做错了什么?我错过了什么吗?

0 投票
6 回答
5384 浏览

c# - 使用 DynamicMethod 的运行时代码注入?

考虑以下简单代码:

我想做的是将一些调试代码注入 Foo 委托,这将是等效的:

扭曲是我必须能够在运行时执行此操作,因此编译时和后处理方法是不可能的。

我最初的方法使用 Delegate.Combine() 将 prologue 和 epilogue 方法添加到 Foo 委托。唉,这行不通,因为它会处理返回值。

我目前的想法是使用 System.Reflection.Emit 和 DynamicMethod 作为潜在的解决方案。据我所知,我需要获取 FooImplementation 的 MethodInfo,获取它的 MethodBody,将其转换为 DynamicMethod 并将我的 try-finally 块注入其中。

不幸的是,我完全不知道如何做到这一点。有人愿意伸出援手吗?还是您有另一个(最好更简单)的想法?

编辑:这里的用例是调试 OpenGL 绑定 (http://www.opentk.com)。我们必须注入 2226 个参数差异很大的方法,因此需要一个通用的方法。

0 投票
1 回答
1525 浏览

c# - Mono dll.config 搜索路径

想象一个库,它需要一个 dll.config 文件来使用 Mono 进行跨平台 p/invokes。是否可以:

  1. 将 dll.config 作为资源嵌入并在运行时以某种方式将其传递给 Mono?
  2. 将此 dll.config 放入磁盘上的其他可写位置?(即与实际的 dll 文件不在同一个文件夹中)

任何一种方法都可以简化我的用户的部署。有任何想法吗?

0 投票
1 回答
1913 浏览

opengl - OpenGL错误下溢变成溢出?

我正在开发一个仅使用 OpenGL 的项目(它应该成为一个特定的游戏),现在经过几周的开发,我偶然发现了使用GL.GetError(). 因为我不喜欢它只说明出了什么问题而不是哪里出了问题,所以我想修复发生的错误。

所以会发生这样的事情:当启动应用程序时,只有几帧(三到四帧)带有StackUnderflow,它会切换到StackOverflow并保持这种状态。

我检查了我的矩阵Push——Pop一致性,没有发现任何未闭合的矩阵。有趣的是,据我所见,照明不起作用(各种物体的所有面都具有相同的亮度)。

还有其他可能的原因吗?

(如果您想查看源代码,请访问:http: //galwarcom.svn.sourceforge.net/viewvc/galwarcom/trunk/galwarcom/