Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Opengl 我可以在同一个项目中使用opentk和xna并在同一个窗口中显示数据吗?OpenTk支持Xna吗?_Opengl_Xna 4.0_Opentk - Fatal编程技术网

Opengl 我可以在同一个项目中使用opentk和xna并在同一个窗口中显示数据吗?OpenTk支持Xna吗?

Opengl 我可以在同一个项目中使用opentk和xna并在同一个窗口中显示数据吗?OpenTk支持Xna吗?,opengl,xna-4.0,opentk,Opengl,Xna 4.0,Opentk,我想在OpenTk项目的同一窗口中使用xna绘制一些东西 但我是Xna的首发,所以我不知道这是否可能 如果可能的话,我想用这种方法画Xna: private void glControl1_Paint(object sender, PaintEventArgs e) { if (!glcontrol1_isloaded) return; glControl1.MakeCurrent(); GL.MatrixMode(MatrixMode.M

我想在OpenTk项目的同一窗口中使用xna绘制一些东西 但我是Xna的首发,所以我不知道这是否可能

如果可能的话,我想用这种方法画Xna:

private void glControl1_Paint(object sender, PaintEventArgs e)
    {
        if (!glcontrol1_isloaded) return;
        glControl1.MakeCurrent();
        GL.MatrixMode(MatrixMode.Modelview);
        GL.Clear(ClearBufferMask.ColorBufferBit | ClearBufferMask.DepthBufferBit);
        GL.LoadIdentity();
        Scientifical_Calculations.Camara.Update(moviendo);

        IntPtr sf = Glu.NewQuadric();

        GL.Translate(0, 0, 0);
        GL.Color3(Color.White);
        GL.Enable(EnableCap.Texture2D);
        Gl.glBindTexture(Gl.GL_TEXTURE_2D, suntext);
        Glu.QuadricTexture(sf, true);
        Glu.Sphere(sf, 10, 35, 35);
        GL.Disable(EnableCap.Texture2D);
        Stars.Draw();

        glControl1.SwapBuffers();


    }

我真的不知道以前是否有人尝试过,但我希望如此,XNA使用的是Direct3d,而OpenTK是OpenGL。在一般情况下,无法使用OpenGL在Direct3d窗口中绘制。[1]

您可以做的是从XNA切换到。它是XNA的开源实现,同时支持Direct3d和OpenGL。如果您使用OpenGL版本,您将能够使用XNA和OpenTK在同一窗口中绘图

[1] 允许您在OpenGL和Direct3d之间共享纹理和渲染缓冲区,因此可以在某些系统上实现这一点。我建议你不要这样做,除非你真的知道自己在做什么