Raspberry Pi で OpenGL ES2 ? (2)

前回、画面に三角形を表示しましたが 背景を透明にする方法を教えてもらったので 改造してみます。

↓前回の三角形。

WRITE_0625_01

またダウンロードからやるので 今回の作業だけで 三角形を表示して、背景を透明にします。

まず、ダウンロードして実行。

pi@raspberrypi ~ $ cd /tmp/
pi@raspberrypi /tmp $ wget http://www.mztn.org/rpi/triangle03.tar.gz
pi@raspberrypi /tmp $ tar xzf triangle03.tar.gz
pi@raspberrypi /tmp $ cd triangle03/
pi@raspberrypi /tmp/triangle03 $ ./triangle

これだけで、画面に三角形が回ります。

ソースファイルを変更します。

pi@raspberrypi /tmp/triangle03 $ vi triangle.c

まず、アルファ値を可変にするために次の箇所を変更します。

// 139 行目をコメントアウトします
VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0};
      ↓
//VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0};

// 152〜153 行目の &alpha を 0 に変更します
dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display,
   0, &dst_rect, 0, &src_rect, DISPMANX_PROTECTION_NONE, &alpha, 0, 0);
      ↓
dispman_element = vc_dispmanx_element_add(dispman_update, dispman_display,
   0, &dst_rect, 0, &src_rect, DISPMANX_PROTECTION_NONE, 0,      0, 0);

背景の設定箇所を変更します。

// 508 行目の関数 glClearColor の第 4 引数を 0.0f に変更します。
glClearColor(0.4f, 0.2f, 0.0f, 1.0f);
      ↓
glClearColor(0.4f, 0.2f, 0.0f, 0.0f);

第 4 引数がアルファ値で 0 にするほど透明になります。

変更したソースをコンパイルします。 コンパイル用のコマンドも同梱されているので 次のようにコマンドを実行するだけです。

pi@raspberrypi /tmp/triangle03 $ ./build

プログラムを実行します。

pi@raspberrypi /tmp/triangle03 $ ./triangle

コンソールの画面の上に重なって三角形が回ります。

WRITE_0628_01

カッコいいですね。

Google サイト内検索

Amazonアソシエイト