0

c# で OpenGL と TaoFramework を使用しています。Windows フォームを除く OpenGL 用のウィンドウを作成しましたが、このウィンドウを Windows フォームに統合する方法がわかりません。

  [STAThread]
        static void Main()
        {




            Glut.glutInit();
            Glut.glutInitDisplayMode(Glut.GLUT_DOUBLE | Glut.GLUT_RGB | Glut.GLUT_DEPTH);
            Glut.glutGetWindow();
            Glut.glutInitWindowSize(600, 600);
            Glut.glutInitWindowPosition(700, 100);
            Glut.glutCreateWindow("Lang Yuzer Robot Arm");

            Gl.glEnable(Gl.GL_COLOR_MATERIAL);
            Gl.glEnable(Gl.GL_LIGHTING);
            Gl.glEnable(Gl.GL_LIGHT0);
            Gl.glEnable(Gl.GL_DEPTH_TEST);
            Gl.glEnable(Gl.GL_NORMALIZE);
            Gl.glEnable(Gl.GL_CULL_FACE);

            Glut.glutDisplayFunc(Form1.myDisplay);
            Glut.glutReshapeFunc(Form1.myReshape);
            Glut.glutIdleFunc(Form1.myIdle);


            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1());

                  Glut.glutMainLoop();


    }
    }
4

2 に答える 2

1

GLUT はウィンドウ ツールキットです。WinForms は別のウィンドウ ツールキットです。GLUT が親の変更を許可しない限り (可能性は低い)、この 2 つを組み合わせる簡単な方法はありません。

最善の解決策はOpenTK.GLControl、クロスプラットフォームでよく管理されている を使用することです。ここで利用可能な NuGet バージョン: https://www.nuget.org/packages/OpenTK.GLControl/

もう 1 つの解決策はTao.SimpleGlControl、Windows 専用であり、メンテナンスされていない を使用することです。

于 2014-07-01T08:57:39.850 に答える
0

Window ハンドルをいじらずに、Tao Framework を使用する OpenTK を使用することをお勧めします。このライブラリには、OpenGL グラフィックスを Windows フォームに統合する OpenGLControl があります。

于 2014-06-30T13:53:35.400 に答える