问题标签 [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.
opengl - OpenTK:对 VBO 使用不同的颜色
情况:我正在使用 C# 中的 OpenGL 和 OpenTK 库进行绘图。
.
问题:我无法选择要绘制哪一个缓冲区/顶点集。
.
设置功能:
创建顶点
生成/绑定缓冲区。
*如果这很重要, Vertex.SizeInBytes为 16。
.
渲染代码:
.
id喜欢做什么:
在设置代码中,我创建了我的顶点(顶点包括位置和颜色)。我现在创建了一组,但我想再创建一组(只是具有不同颜色值的相同代码)。我这样做了,当然可以创建它并将其绑定到辅助缓冲区(vbo_id/vbo_secondary_id)。但是我怎么画呢?
我正在寻找这样的东西:
GL.DrawArrays 似乎在不控制绘制内容的情况下获取所有内容。
除了颜色之外,顶点/数组中的所有内容都将/是相同的。我只需要用另一个“配色方案”渲染相同的对象——数千个点。
任何帮助都将不胜感激。
iphone - MonoTouch:在 OpenGL ES 2.0 中启用多重采样
有没有办法使用 MonoTouch 和 OpenGL ES 2.0 激活多重采样?我在框架中找不到苹果扩展,所以我认为它没有实现?
c# - 仅在 C# 中的特定时间触发事件
我正在用 C# 编写视频游戏,我想只在游戏循环中的特定点处理某些事件(例如键盘/鼠标事件)。例如,有没有办法编写如下内容:
如果事件发生在循环中的其他点,我想等到handleAllEvents()
处理它们。“事件”是指标准 C# 事件系统,例如:
如果问题表述不清楚,请告诉我。谢谢!
c# - OpenTK 使用二次幂位图纹理将文本写入屏幕
我有一个问题,我是需要二次幂 (POT) 纹理并且似乎无法使用 NPOT 的幸运者之一。
通常,这不会让我太烦恼,因为我只会确保我需要使用的任何纹理都是 POT。但是,我在尝试将光标 X 和 Y 位置渲染到屏幕时遇到了问题。
这就是问题所在。如果我使用“text_bmp1.Width”和“text_bmp1.Height”,我得到的只是一个白框。(要纹理化的对象)。我认为这是因为我的 POT 问题。如果我使用 POT(512,1024 等)的宽度和高度来渲染纹理,但是 A)它不是我想要显示的字符串,B)它在几次渲染后被损坏,然后最终空白, C) 渲染的纹理没有被裁剪并且被非常奇怪地拉伸。
如果我只更改 TexCoord2(,) X 和 Y 值,C) 可以修复。我想知道是否有办法将文本图像动态填充到下一个 POT 并裁剪掉多余的部分?
为了清楚起见,我正在编写一个环境,它将 HP/GL2 PCL 源代码文件中的项目显示到屏幕上,然后再将其发送到打印机以获取动态药房标签。
如果有人需要更多说明,请告诉我。谢谢你
iphone - MonoTouch OpenTK 和 UniformMatrix4
我正在尝试将 OpenTK Matrix4 传递给着色器制服,但 GL.UniformMatrix4 似乎没有合适的重载。重载接受float
orfloat[]
或ref float
。同样,我找不到将 Matrix4 实例转换为浮点数组的方法 - 我已经看到一个在 Matrix4 上使用 ToArray 方法的示例,但我正在使用的分布中似乎没有。
当然,我遗漏了一些简单的东西,因为这对于将模型/视图/投影矩阵传递给着色器非常重要。
我正在使用带有最新版本 MonoTouch 的 OpenTK 版本。
c# - OpentTK + Glu.UnProject() on various z values doesn't give overlapping points
I am using OpenTK in C# and I have been hitting a wall for the last few hours.
I'm trying to use Glu.UnProject() to create a ray through the universe where the user clicked. The ray it traces should be invisible to the user since it a line perpendicular to the plane of projection.
The problem is that the ray is only invisible when I'm using the basic camera position. If I move the camera (cameraX and cameraY), the line from DrawLine is displayed in the UI. The near and far points are not co-linear with the "eye" of the camera!
I isolated the problem code here :
Here is DrawLine. It uses hard-coded values to un-project the points at (100, 200) for the near (z = 0) and far (z = 1) planes. It then simply draws a line between these two points.
Here is a screenshot of the problem. The line on the left should not appear!
I've been investigating this for hours and I'm out of things to try. Any input would be a great help.
PS. White lines appears black because I removed light sources and everything that wasn't necessary to demonstrate the issue.
opengl-es - 3D精灵,写入正确的深度缓冲信息
我正在使用 Monotouch 和 openTK 为 iOS 编写粒子引擎。我的方法是投影每个粒子的坐标,然后在这个屏幕位置写一个正确缩放的纹理矩形。
它工作正常,但我在计算正确的深度值时遇到了麻烦,以便精灵将正确地过度绘制并被场景中的 3D 对象过度绘制。
这是我今天使用的代码:
然后我在屏幕坐标处绘制一个三角带,将上面计算的深度值作为 z 坐标。
结果几乎是正确的,但并不完全正确。我想我需要以某种方式考虑近和远的剪裁平面(在我的情况下,近是 1,远是 10000),但我不确定如何。我尝试了各种方法和算法,但没有得到准确的结果。
我很感激这方面的一些帮助。
c# - OpenTK - 如何按给定角度旋转对象
我正在使用http://viewport3d.com/trackball.htm上的教程来编写轨迹球。我计算了轴和角度,但是因为我只是 OpenTK 和 OpenGL 的初学者,所以我不知道如何将旋转应用于对象。请问有什么帮助吗?
代码由几个文件组成,这里有两个最重要的。
轨迹球.cs
和 Form1.cs
graphics - OpenTK 圆形旋转
我正在使用 openTk 进行我的第一个项目。我正在为 3D 模型旋转创建虚拟轨迹球。它工作正常,但我需要添加不会随模型旋转的圆圈。这个圆圈应该可视化轨迹球。我实现旋转的代码是:
所以我想问一下是否有某种方法可以画圆,它不会受到这种旋转的影响(将在屏幕上的同一位置)。