OpenGL初期化の流れ

opengl-init.png

基本

OpenGLはたくさんの異なるプラットフォーム上で利用できるのが特徴。
たくさんの異なるウィンドウシステムで動作する。
OpenGLは、幾何形状や画像や2次元や3次元のレンダリングは行うけど、
ウィンドウを管理したり、入力イベントを処理したりはしない。
そういうところは他のライブラリ(ex,glfw,glut,WinAPI,MFCがやってくれるのだ。

選択されたデバイスコンテキストピクセルフォーマット
デバイスに描画するためのOpenGLのレンダリングコンテキストを作成する。

コードの例

glutInit(&argc,argv);
    glfwInit();
    glfwOpenWindow( 0,0, 0,0,0,0,0,0, GLFW_WINDOW );
    glfwSetWindowTitle("Miffy OpenGL");
    glewInit();
 @Override
    public void onCreate(Bundle savedInstanceState) {
 
        super.onCreate(savedInstanceState);
 
        // Create a GLSurfaceView instance and set it
        // as the ContentView for this Activity.
        mGLView = new MiffySurfaceView(this);
        setContentView(mGLView);
    }
 setEGLContextClientVersion(2);
         // set the mRenderer member
        mRenderer = new MiffyRenderer();
        setRenderer(mRenderer);
        miffylistener = new ScaleGestureDetector.SimpleOnScaleGestureListener();
        miffygestureDetector=new MiffyScaleGestureDetector(context,miffylistener);
        // Render the view only when there is a change
        setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);

サポートサイト Wikidot.com