Processingにおいて3次元の描画モード(P3D)の時にimage()で画像を描くと、3次元空間中に画像が板状に配置された状態になる。これはこれで便利なのだが、ARのように3DCGと2Dの背景画像を合成するようなプログラムを作ろうとした時に、CGが背景画像に埋もれたり、隠れたりという状態が発生して若干めんどうなことになる。どうしたらいいかについて説明する。 解決策1:hint()を使ってzバッファを制御 通常はこの方法を使う。zバッファはオブジェクトの奥行き方向の重なりを正しく表現するための描画処理を担うバッファ。hint()はレンダラの動作条件を設定する関数で、パラメータとしてDISABLE_DEPTH_TESTを指定するとzバッファを無効化、ENABLE_DEPTH_TESTを指定するとzバッファを有効化する。 PImage bgimg; // 背景画像 void setup()