/ * 注: *プロジェクトのプロパティを変更します(右クリックし、[プロパティ- >アプリケーション- >ターゲットフレームワーク- > NET Frameworkの4)、 *それ以外の場合は"SharpGL"名前空間の参照エラー---- "OpenGLControl"を発生 * * / 1 、----ケース三角形、四角形(頂点) 名前空間sharpGLTest01 { パブリック 部分 クラスをForm1:をForm1 { 公共のForm1() { のInitializeComponent(); } / * OpenGLInitialized(OpenGLを初期化する)イベントハンドラ *このイベントの主な目的は、ユーザーが必要なロジックをインストール提供することです。 * * * / // 初期化する プライベート 無効 openGLControl1_OpenGLInitialized(オブジェクト送信者のEventArgs E) { // OpenGLのGL = openGLControl1.OpenGL; / *コントロールへの参照を取得OpenGLControl * / // gl.ClearColor(0,0,0,0); / * glClearColor方法シーンの背景色を設定します* / } / * OpenGLDrawイベントハンドラは、 *これは、OpenGLレンダリングイベントである: * * * / // 描画 専用 空隙 openGLControl1_OpenGLDraw(オブジェクトSENDER、PaintEventArgsのE)を { SharpGL.OpenGL GLは = この.openGLControl1.OpenGLを; //は、デプスバッファをクリア gl.Clear(OpenGL.GL_COLOR_BUFFER_BIT |OpenGL.GL_DEPTH_BUFFER_BIT); // 現在の指定されたマトリックスをリセットは単位行列、現在のユーザ座標系の原点を画面の中心に移動される gl.LoadIdentityは(); // 位置(に軸座標変換-1.5,0、-6 ) gl.Translate( - 1.5F、0F、 - 6F); gl.Begin(OpenGL.GL_TRIANGLES); { // 頂点 gl.Vertex(は0.0f、1.0F、は0.0f ); // 左エンドポイント gl.Vertex( - 1.0F、 - 1.0F、は0.0f ); // 右端 gl.Vertex(1.0F、 -1.0F、は0.0f ); } gl.End(); // 現在の座標右3つの単位によって、上記のように、これは比較的(-1.5,0、-6)測位た gl.Translate(3F、0F 、1F); gl.Begin(OpenGL.GL_QUADS); { gl.Vertex( - 1.0F、1.0F、は0.0f ); gl.Vertex(1.0F、1.0F、は0.0f ); gl.Vertex(1.0F、 - 1.0F、は0.0f ); gl.Vertex( - 1.0F、 - 1.0F、は0.0f ); } gl.End(); gl.Flush(); // リフレッシュを強制 } / * OpenGLDrawイベントハンドラ *これはOpenGLの描画イベント: * * * / // 調整 専用 のボイド openGLControl1_Resize(オブジェクト送信者、 EのEventArgs)を { // OpenGLのGL = openGLControl1.OpenGL; /// /電流マトリックスパターン、及びその後射影行列に行列演算を適用 // gl.MatrixMode(OpenGL.GL_PROJECTION); /// /指定された電流をリセットマトリックスは、画面の中心に移動される単位行列、現在のユーザ座標系の原点である // gl.LoadIdentity(); /// /は透視投影変換を作成します // gl.Perspective(30.0f、(ダブル)幅/(ダブル)高,. 5、100.0); /// /視点変換 // (gl.LookAtを-5 ,. 5、-5、0、0、0、 0、1、0); // /電流マトリックスモデルビュー行列 // gl.MatrixMode(OpenGL.GL_MODELVIEW); } } }
参考記事:HTTPS://www.cnblogs.com/hackpig/p/5770458.html
注意:SharpGL学習記事では著者のブログに言及していました