我正在开发一个跨平台的图形应用程序,它使用OpenTK.在Windows上,我可以引用OpenTK和OpenTK.GLControl dll来像这样初始化呈现上下文,特别是请求特定的现代OpenGL图形上下文(在本例中是OpenGL 3.3):
int major = 3;
int minor = 3;
var control = new OpenTK.GLControl(GraphicsMode.Default, major, minor, GraphicsContextFlags.Default);
Xamarin网站上有一些示例(和),它们演示了如何使用OpenTK实现Mac,如下所示:
我正在尝试使用来自GenFramebuffers的OpenTK函数。在本机OpenGL中,此函数需要生成许多帧缓冲区名称,并需要一个指向将存储名称的int的指针。但是OpenTK变量需要一些名称来生成和一个 out Int32参数。
下面是OpenTK函数的源代码:
public static void GenFramebuffers(Int32 n, out Int32 framebuffers)
{
unsafe
{
fixed (Int32* framebuffers_ptr = &framebuffers)
所以我想从我的SSH终端开始一个游戏。
它非常有用,当我直接从我的linux执行时,它就能工作了。但是当我使用SSH客户端远程连接时,它就崩溃了。好像和我的显示驱动程序有关。
Unhandled Exception:
System.TypeInitializationException: An exception was thrown by the type initializer for OpenTK.DisplayDevice ---> System.IO.DirectoryNotFoundException: Directory '/dev/dri' not fou
我刚开始学习OpenTK,在使用的时候偶然发现了一个问题。
这是我尝试过的:
using System;
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Windowing.Desktop;
using OpenTK.Windowing.GraphicsLibraryFramework;
namespace Testing
{
public class GraphicsWindow : GameWindow
{
public GraphicsWindow(int width, int height, strin
我试图在我的一个程序中使用OpenTK。
我尝试了GLControl Simple,在OpenTK samples下面。但这不起作用,我也没有足够的经验来找到解决办法。有人能帮我吗?
这是我得到的错误:
错误消息声明:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
OpenTK.Graphics.GraphicsConte
我试图熟悉用OpenTK在C#中编写程序。我不知道怎么设置和移动照相机。目前,我已经导入了以下库:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
using OpenTK.Platform.Windows;
using System.Runtime.InteropServices;
using Imaging = System.Drawi
下面的代码将不使用.Net 6和OpenTK 4.7.5呈现四元码,但(几乎)相同的代码可用于.Net 4.8和OpenTK 3.3.3。
(三角形会呈现得很好,但我宁愿使用四角体,因为它们对我的用例来说更容易处理。)
.Net 6与OpenTK 4.7.5
using OpenTK.Windowing.Common;
using OpenTK.Windowing.Desktop;
using OpenTK.Graphics.ES30;
using OpenTK.Mathematics;
using Game game = new(new GameWindowSettings(), Nati
我是OpenTK的新手,我发现我可以像这样使用“核心配置文件”
using OpenTK.Graphics.OpenGL4;
问题是我的应用程序从OpenGL 4.0.0上下文开始
var s = GL.GetString(StringName.Version);
Console.WriteLine(s);
如何强制OpenTK在OpenGL 4.4中启动?
当我试图返回一个浮点数数组时,我得到了以下错误:
不能隐式地将“float[]”类型转换为“浮点”
我在C#中使用OpenTK制作了一个2d游戏引擎,我正在处理顶点类,但是我经常出错,而且我被困住了。
我试过这样做:
return data[vertices.Length * Size];
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenTK;
namespace RacerE
我正在使用C#和mono开发一个多平台应用程序。对于OpenGL绑定,我使用OpenTK。我在Input:上看了他们的“入门”教程,发现了这个:
使用Mouse.GetState()检索所有已连接鼠标的聚合状态。使用Mouse.GetState(int)检索指定鼠标的状态。检查是否按下了按钮:
using OpenTK.Input;
var mouse = Mouse.GetState();
if (mouse[MouseButton.Left])
{
// Left mouse button is pressed
}
我使用了这个代码片
我想得到一个屏幕截图从当前的场景在OpenTK与好的分辨率。我正在使用GL.ReadPixels为scene.If获取照片,我将照片保存到磁盘;我发现它的分辨率/质量较低。
下面的C#代码用于获取场景的照片:
位图bmp = null;
if (GraphicsContext.CurrentContext != null)
{
glControl_window.Invalidate();
int w = glControl_window.ClientSize.Width;
int h = glControl_window.Clie
我将我的项目从XNA 4切换到MonoGame 2.5.1。港口有点没问题,但我遇到了一个我无法解决的问题。为了让您感兴趣,代码在XNA上工作:
当我用basicEffect绘制一个sprite批处理时,我在调用End()方法时得到一个ArgumentNullException。这是简化的抽签调用
// polyEffTest is defined somewhere else, not in the draw function
polyEffTest = new PolygonBasicEffect(gd);
// the simplified draw call
sbTest.Beg
我正在做屏幕外渲染使用SkiaSharp在.NET 5(更好的交叉平台),和GPU加速是必要的。注意: C++版本的Skia也是可以接受的,如果它能工作。
开发是在Windows上进行的。我不使用SkiaSharp.View,因为程序是命令行工具。我刚创造了一个隐藏的窗口。该窗口是使用OpenTk创建的,因为我在GitHub上看到了马修的示例,并且我将窗口的上下文设置为默认上下文。然后,我创建了一个框架缓冲区和呈现缓冲区,如这个所描述的。最后,我尝试创建曲面,但只从SKSurface.Create获得一个null。
// GL below is all OpenTK.Graphics.ES30
我正在尝试与.NET核心,OpenTK和VS19的游戏。每当我去做一个窗口时,我都会得到两个错误。 Argument 1: cannot convert from 'int' to 'OpenTK.Windowing.Desktop.GameWindowSettings' 和 Argument 2: cannot convert from 'int' to 'OpenTK.Windowing.Desktop.NativeWindowSettings' 我试着使用了很多教程视频,每一个都得到了相同的错误。我用谷歌搜索了一下,没有得
也许问题很简单,但我使用的是OpenTK和WinForms,问题是我在工具箱中找不到GLcontrol,所以我在Form1.Designer.cs中手动添加了它,这是代码#区域Windows窗体设计器生成的代码
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void Initializ
对于所有CSV源,我将提取器设置为:
USING Extractors.Csv(silent:true,skipFirstNRows:1);
- silent is set to true to ignore bad rows
- skipFirstNRows is set to 1 to skip the header row
但奇怪的是,我仍然会犯这样的错误:
HEX: "223122" Invalid character when converting input record.
Position: line 2, column index: 7, column na
当构造函数是显式的,它不用于隐式转换。在给定的代码段中,构造函数被标记为explicit。那么,如果foo obj1(10.25);正在工作,而在foo obj2=10.25;中,它却不起作用,那为什么呢?
#include <iostream>
class foo
{
int x;
public:
explicit foo( int x ):x(x)
{}
};
int main()
{
foo obj(10.25); // Not an error. Why ?
foo obj2 = 10.25; // Error
g
嗨,我正在学习如何在windows窗体中使用.obj加载OpenTK文件。我已经看到了很多例子,但我确实看到几乎每个人都使用List<Tri>和Point[]。代码示例显示这些突出显示,就像IDE知道这些是什么;例如
List<Tri> tris = new List<Tri>();
但我的只返回“类型或名称空间名称'Tri‘无法找到”是有一个包含,我需要添加或一个使用,我是丢失了。目前的情况如下:
using System;
using System.Collections.Generic;
using System.Linq;
using S
目前,我正试图使用OpenGL超级圣经和进入GLSL。我想要的环境是OpenTK。
我尝试将"“入门级教程从learnopengl.com转换为OpenTK,它的目的是使用非常简单的着色器绘制三角形,而不使用任何透视图/世界/模型转换。
我的结果只是颜色缓冲器,否则一个空窗口,我只是不知道我在哪里犯了一个错误,所以任何帮助,更重要的是,了解他们将是非常感激的。
我的OpenTK代码:
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
using OpenTK;
using
我是个初学者,我正在编写一个程序,把十进制转换成二进制数字。据我所见,将数字存储到数组中的过程似乎进展顺利,但之后我无法让它们打印。(请注意,使用此方法时,数字首先是在转换时向后写的,因此您必须在某一时刻再次将其反转。)
#include <stdio.h>
int main () {
int num;
int quo;
int count;
int count2;
char aux;
int pow2 = 1;
int minus = 1;
printf("Inform the positive
我想在c#中从纹理id (与FBO相关联)到opengl (opentk)中的位图对象读取纹理像素。
但它抛出一个例外,上面写着:
System.AccessViolationException occurred
HResult=0x80004003
Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
Source=OpenTK
守则:
public Bitmap GetTexture(int Attachmen
我要疯狂地尝试使用OpenGL窗口画一些文本,使用OpenTK!我遵循了一些教程,但我无法使它工作,当我启用纹理的文本绘制,然后我只有一个白色的窗口,我画的测试四边形就消失了。如果有人有时间检查代码,它如下所示。我也可以发送我的测试程序,以检查它更快。谢谢您在这方面的任何帮助。
using System;
using System.Drawing;
using System.Drawing.Imaging;
using System.Windows.Forms;
using OpenTK.Graphics.OpenGL;
using System.Diagnostics;
namesp
我在研究一个游戏引擎。现在假设我们有一个游戏类:
using System;
using OpenTK;
using OpenTK.Graphics.OpenGL;
using System.Drawing;
using static OpenTK.Graphics.OpenGL.GL;
namespace Test2
{
class Game : GameWindow
{
public Game(int width, int height)
:b
我想在我的程序中使用计算着色器。我使用C#和OpenTK来使用着色器。我的问题:我所有的电脑都有0个workGroupCount和0个workGroupSize。我使用下面的OpenTK代码获得这些值:
int workGroupCount = GL.GetInteger((GetPName)All.MaxComputeWorkGroupCount);
int workGroupSize = GL.GetInteger((GetPName)All.MaxComputeWorkGroupSize);
int workGroupInvocations = GL.GetInteger((GetPNa
我在C#中使用OpenTK玩游戏,它没有提供投影和非投影函数,它们在世界坐标和屏幕坐标之间进行转换。是的,是的,但是它们被弃用了,我不能让它们工作。我试着在的基础上自己实现它们(参见左侧菜单,gluProject和gluUnProject,以及FF中的视图,而不是Chrome)。看到那些公式了吗,我在试着匹配它们。我的函数根本不起作用,Project返回的点都在我屏幕的中心附近,而且非常接近,即使我在到处移动我的world点。
注意,OpenTK的数学库不包括用于将矩阵乘以向量的函数,所以我只对结果向量中的每个条目进行了矩阵行和向量点乘(这是正确的,不是吗?)
public stati
我试着在这里跟踪这个 (备份),但是我已经被扔了一百次代码,但是我仍然不断地得到黑立方体。
以下是我的洞项目的下载链接
这是它看起来的样子
这是我的主要剧本,这里面的错误吗?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using OpenTK;
//using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
using System.IO;
using OpenTK.
我正在使用OpenTK创建一个C# OpenGL应用程序。
我试图不使用GameWindow类打开上下文-下面是我的类管理一个窗口+上下文:
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL4;
using OpenTK.Platform;
using OpenTK.Input;
class Window
{
private INativeWindow window_;
private IGraphicsContext context_;
private bool isExiting_
我正在尝试使用open.TK在C#中获得我的鼠标位置,在我的其他类中,它在Mouse.GetState()中工作得很好;但在这个类中,它被破坏了,并询问我是否尽管使用了相同的方法,但仍缺少程序集引用。你知道为什么它不工作吗?
有问题的部分:
using System;
using OpenTK;
using OpenTK.Graphics.OpenGL;
using OpenTK.Input;
public SceneManager()
{
//Mouse.ButtonDown += Mouse_ButtonDown;
var mouse = Mou
我非常清楚,我可以在OpenTK中加载纹理。但是,当我试图仅使用点渲染图片时,当ClientSize.Width完全等于正在呈现的图片的宽度时,它会显示出非常奇怪的线条。如下所示:
如果我调整窗口线的大小(放大)变得有点正常,并且它们出现的原因是实际的(它们覆盖了无法呈现的区域):
不管我打开的图片是什么,似乎都会发生这种情况。有人能解释一下为什么第一张照片里有线条吗?
using System;
using System.Drawing;
using OpenTK;
using OpenTK.Graphics;
using OpenTK.Graphics.OpenGL;
我有存储过程,当直接从management执行时,它似乎工作得很好,但是当涉及到o vb.net代码时,我总是得到0。有人能看看这个然后告诉我这里少了什么吗。我读过文档,似乎它应该能像预期的那样工作,但是它并不是这样的。
存储过程:
ALTER PROCEDURE [dbo].[IsPhraseConnectedAlready]
@PhraseId INT,
@KatSubkatId INT,
@WordId INT,
@SubsubkatId INT = NULL
AS
BEGIN
SET
我试图在c#中使用RLNET库制作一个小的2d游戏。RLNET库将OpenTK作为依赖项,因此我使用Visual中的NuGet包管理器将RLNET和OpenTK的最新版本添加到我的项目中。我跟在后面的教程中解释了如何使用这些库。但是,当我开始运行代码时,我在运行时遇到了一个MissingMethodException。
我所遵循的教程如下:
解决方案资源管理器在“引用”下拉列表下显示了项目中包含的两个库。我还把它们包括在我的代码中:
using System;
using System.Collections.Generic;
using System.Linq;
using System.T