ビルボードとポイントスプライトに対応しました。
ビルボードで、オブジェクトを全部カメラ側に向かせています。
方法としては、ビュー行列の回転要素のみを、転置行列にして逆行列作成。(回転行列は転置行列が逆行列になる)
その後はつじつま合わせ。

ポイントスプライトは、画面で丸いやつです。
高速化のために加算のみしか対応しませんでした。パーティクルって通常は加算ばっかりですもんね。
サイズは、係数ABCから「1/(A+d*B+d^2*C)」(dはカメラとパーティクルとの距離)という方法で求められます。
通常は、AとBは0にして、Cは小さな値を入れておきます。これで、それっぽい大きさになります。

関連記事

  • Javaで3Dゲーム開発日記 part1Javaで3Dゲーム開発日記 part1 以前作ったこれは、とにかく3Dの表示にチャレンジということで拡張性がありませんでした。 ということで、今回は、物体を単位として色々設定できるオブジェクト、UV座標は0~1、 当たり判定、画像レンダリングを別スレッドへ、の4つを意識して再び作成。 モーションは、まだまだ敷居が高いので諦めます。(((っ・ω・)っ 「UV座標は0~1」というのは、以前は素の値(0-256と […] Posted in ゲーム制作
  • Javaで3Dゲーム開発日記 part4 パーリンノイズJavaで3Dゲーム開発日記 part4 パーリンノイズ 3Dと言ったらやっぱりテクスチャ。 パーリンノイズを作ってみた。 ノイズの間は線形補完しています。 本当はバイキュービックとか、しっかりした補完がいいと思うのですが、技術力不足で無理でした。(>_<) こんなのが出来上がるなんて、ランダムって不思議です! 自動生成を利用すれば、小さなファイルサイズでも、高解像度テクスチャを利用できます。 […] Posted in ゲーム制作
  • Javaで3Dゲーム開発日記 part5 画像補間Javaで3Dゲーム開発日記 part5 画像補間 以前の続きでテクスチャのパーリンノイズの補間法の話です。 いい加減補間について調べようといろいろとプログラムして作ってみました。 テクスチャなので、上下と左右が繋がるように補間します。 8x8px → 256x256px […] Posted in ゲーム制作
  • Javaで3Dゲーム開発日記 part6 マルチスレッド対応とマップメーカーJavaで3Dゲーム開発日記 part6 マルチスレッド対応とマップメーカー ・描写関連のみ完全に別スレッド化! 本当は、頂点の座標変換&頂点ライト計算と、ピクセル描写部分とでもスレッド化できそうだったけど、 メモリの受け渡しが大変そうなので、諦めました。 ※座標変換・光の計算を終わったデータのバッファだけで、1更新当たり2MBぐらいになりそう あと、まだ世間的にはデュアルコアが主流だと思うしうん。・アクティブレンダリング 「アクティ […] Posted in ゲーム制作
  • 最近のプログラミング状況最近のプログラミング状況 先月はかなり忙しく、これからも忙しくなりそう。(_Σ_) というか去年の年末より忙しい。 ひどいときは1週間の内に2回お泊りしたし。 本当にどうしてこうなった状態です。。。。゛(ノ><)ノ  日記の方も書くネタがたまっていっていく一方で、 書く元気とか、やる気が中々でない状況。 そこで休みを利用して、作ったけど、事情で公開出来ないものとか、 公開する […] Posted in ゲーム制作
  • Javaで3Dゲーム開発日記 part3Javaで3Dゲーム開発日記 part3 今週は地味なことを。li(A´・ω・) ・ シーンの追加 シーンに表示したいのをまとめてから、シーンをレンダラーに描写っていう感じに。 これによって、レンダリングを、スレッドとして別に走らせたり、 パーティクルや半透明オブジェクトを、最後にZソートして表示とかを自動で出来るようになります。 表示で、対応しているものとして、 「オブジェクト」と「アルファブレ […] Posted in ゲーム制作