问题标签 [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 投票
2 回答
15585 浏览

c# - openTK c# 旋转立方体示例

我正在使用 C# (visual studio 2008) 开发老虎机,在我的项目中使用 OpenTK 来使用 openGL,我们已经完成了基本功能,但是我们无法获得代码来绘制可以旋转的立方体。

cude 需要旋转一段时间,但我不知道该怎么做。

我们试过这个立方体

但是我们想把它画在一个表格上

0 投票
2 回答
7618 浏览

vb.net - VB .NET 中的 OpenTK (OpenGL)

我试图学习如何在 VB .NET 环境中执行 openGL,似乎建议使用 Tao 框架或 OpenTK,而 OpenTK 具有更高的推荐,所以这就是我选择尝试使用的。

因为我是新手,所以我试着画一个简单的盒子、三角形或任何真正的东西,这样我就可以在制作更复杂的东西之前理解它们。到目前为止我一直没有成功,所以我将按顺序列出我到目前为止所做的事情,希望这里有人可以帮助我纠正它或提供一个新示例,以便我可以绘制一个简单的形状。

1) 我使用 opentk-2010-10-06.exe 安装了 OpenTK

2) 在一个新项目中,我添加了对 OpenTK.dll 和 OpenTK.Compatibility.dll 的引用

3)我添加了控件(opentk.glcontrol.dll)

4)我将实际控件添加到我的表单中。

使用一些在线示例,我添加了其余部分:

5)我在以下位置写了我的参考资料:

6)我的全局变量:

7)我写了我的事件:

Private Sub GlControl1_Resize(ByVal sender As Object, ByVal e As System.EventArgs) Handles GlControl1.Resize _STARTED = True ResizeGL() End Sub

8)最后,我试着给他们打电话:

以上结果没有显示,所以任何帮助将不胜感激。

即使您不知道完整的解决方案,任何回应都会很好。

0 投票
1 回答
1502 浏览

c# - OpenTK 模板缓冲区

我是opengl的新手,我正在努力让stencilbuffer为一个简单的案例工作;我有两种纹理,一种是位图,另一种是“蒙版”,我试图用它来隐藏位图中的某些部分。

我似乎无法让它工作,当我尝试设置模板格式以使用 GL.TexImage2D 创建我的模板纹理时,我得到一个无效的枚举,当我尝试为 fbo 将模板扩展附加到 FramebufferTexture2D 时,我绘制了我的掩码:

对于简单的 2d 案例(使用纹理掩盖纹理),我似乎找不到任何示例来证明这一点。

编辑:此处更新版本:http: //pastebin.com/iuur2UTM

0 投票
2 回答
2913 浏览

vb.net - OpenTK OpenGL 绘图文本

我正在尝试学习如何使用 OpenTK 进行 OpenGL,到目前为止我可以成功绘制多边形、圆形和三角形,但我的下一个问题是如何绘制文本?我查看了他们主页上的 C# 示例,并将其翻译为 VB .NET。

它目前只绘制一个白色矩形,所以我希望有人能在我的代码中发现错误或建议另一种绘制文本的方法。我只会列出我的绘画事件。

绘画事件:

0 投票
1 回答
1042 浏览

c# - 用于 OpenTK 和 GTK# 的 GLWidget 可靠吗?

我正在创建一个需要漂亮的 GUI 和一些 openGL 渲染的应用程序(我需要根据鼠标点击坐标绘制 3D 对象)。因为我需要它是多平台的,所以我使用单声道和 OpenTK,对于 GUI,我在想 GTK#,我偶然发现了 GLWidget http://www.opentk.com/project/glwidget,但我将它添加到我的项目中,创建了一个带有 VBox 的简单窗口,在一个分区中我添加了一个菜单栏,在另一个分区中添加了 GLWidget,现在项目无法编译,它给出了这个错误:错误:编译器似乎已经崩溃。检查构建输出板以获取详细信息。(GLGTK) 我确实添加了对 GLWidget.dll 的引用是我遗漏了什么还是这个 GLWidget 不起作用?哦,顺便说一句,我正在使用 Monodevelop,以防万一。

0 投票
1 回答
1529 浏览

c# - 如何在 monodroid 中使用 OpenAL 创建音频上下文?

每当我尝试在 monodroid 中创建新的音频上下文时,它都会告诉我 openal32.dll 丢失了;这自然是没有意义的,因为这是 monodroid,并且 openal 包含在 OpenTK 中。

我只能假设我做错了什么,但我之前在 Windows 下使用过 OpenTK/OpenAL,并且使用类似的代码管理得很好。

无论如何,这是有问题的代码:

这是输出:

0 投票
1 回答
914 浏览

c# - 使用 OpenTK GameWindow 时如何将事件分派回主 UI 线程?

看完这个视频后,我开始思考如何在我当前的项目中实现类似的东西。我认为让我的大部分代码实时可编辑太难了,但我认为我至少可以在玩游戏时让我的 OpenGL 着色器可编辑。

所以我设置了一个FileSystemWatcher

现在我想在文件更改时更新着色器:

问题是,一旦我编辑我的着色器文件,就会抛出异常:

调用线程中没有当前上下文

所以我做了一些挖掘,发现 OpenGL 上下文本质上是绑定到单个线程的。AFAIK,有两种解决方法:

  1. 在主 UI 线程上禁用 OpenGL 上下文,在另一个线程上启用它,做我的事情,然后重置它
  2. 将事件分派回主 UI 线程

我不确定我将如何实现 (1),因为主线程充满了 OpenGL 调用......我不知道在哪里启用和禁用它。

所以我只剩下选项(2),除了我不知道如何将文件更改事件分派回主线程。

这篇文章说:

GLControl 提供 GLControl.BeginInvoke() 方法来简化从辅助线程到主 System.Windows.Forms.Application 线程的异步方法调用。GameWindow 不提供类似的 API。

不幸的是,我使用的是GameWindow,所以我不确定如何访问该功能。

那么将我的事件分派回主 UI 线程的最简单方法是什么?使用 OpenTK 库还是另一个最好的非 Windows 库?

0 投票
1 回答
1202 浏览

c# - OpenGL 的旋转和光照问题

我正在使用 OpenTK for OpenGL 和 monodevelop 为 C# ide 进行简单的太阳系模拟。进展顺利,我有行星围绕太阳运行,照明正常。当我想倾斜行星的轴时,问题就开始了;无论我在我的方法中放置新的旋转,它都不会明显旋转。一旦它使我的球体的发光面以某种方式围绕它旋转。如果我在使行星绕其轴旋​​转的旋转之前或之后进行旋转,行星顶部会奇怪地亮起,就好像法线被破坏了一样。

这被称为:

因此,这很奇怪。这里没有什么应该引起法线问题,而且倾斜似乎在正确的位置。

0 投票
1 回答
327 浏览

xamarin.android - MonoGame Draw2D 示例在 opentk.platform.android.RepeatTimerTask 中分配大量字节 []

我刚刚为 monogame 运行了 Draw2D 示例,并使用了 Dalvik Debug Monitor 的 Allocation Tracker。我得到了大量的分配如下:

48 144 字节[] 11 opentk.platform.android.RepeatTimerTask n_run

这是在 opentk.platform.android.RepeatTimerTask 内的字节数组中分配的 144 个字节。

我找不到有关 RepeatTimerTask 的任何信息,也找不到它分配内存的原因。任何人都可以对此有所了解吗?

0 投票
2 回答
3877 浏览

c# - 如何在 Monodevelop 中使用 OpenTK GLWidget 进行渲染?

我正在尝试使用这个 GLWidget 来使用 OpenTK 和 GTK# 进行开发,这似乎是一件好事,但遗憾的是,它几乎没有文档。我试图了解如何在该小部件中呈现任何内容。到目前为止,我创建了一个 monodevelop 解决方案,添加了对 OpenTK 和 GLWidget 的引用,现在我在 Stetic 的工具窗格中看到了 GLWidget,我添加了一个带有两个插槽的 Vbox,在上面的一个中我添加了一个菜单栏,在下面的一个著名的GLWidget。我还为 OnRender 事件和 Initialized 事件创建了一个事件处理程序,但我什至无法绘制三角形。有没有人曾经使用过 GLWidget 并且可以给我一些建议?这是我的 MainWindow.cs 代码:

}

顺便说一句,更改 GLClearColor 值确实会使我的 GLWidget 更改背景颜色。