前回、画面に三角形を表示しましたが 背景を透明にする方法を教えてもらったので 改造してみます。
↓前回の三角形。
またダウンロードからやるので 今回の作業だけで 三角形を表示して、背景を透明にします。
まず、ダウンロードして実行。
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
コンソールの画面の上に重なって三角形が回ります。
カッコいいですね。