2023-01-01から1年間の記事一覧
今回はComputeShaderで大量のオブジェクトの座標を計算して、それをGPUインスタンシングを使って描画します。 オブジェクトの移動アルゴリズムはBoidアルゴリズムを使用していますが、今回こちらの解説は行いません。 youtu.be Step1 : ComputeShaderに必要…
ディザリングとは 一定間隔で穴を空けることで、不透明だけど半透明に見せることができます。 通常の半透明で発生する不具合や、処理負荷の問題が発生しないのが利点です。 youtu.be 穴を開けるパターン 現在描画するピクセルがを開けるか判定する方法の一つ…
ComputeShaderとは GPUで実行するプログラムです 画像処理、ポストエフェクト、物理シミュレーション、アニメーション、水面シミュレーション 、パーティクル演算などCPUよりもGPUの並列計算を使用したい時に使われます。 カーネル カーネルとは、GPUで実行…
カラーグレーディング(Color Grading) とは 画面の色合いを調整するポストエフェクトです。 LUTとは ルックアップテーブル(Look Up Table)の略称で、入力されたRGBを指定した別のRGBに変換するための情報が格納されてたテクスチャです。 カラーグレーディン…
半透明とブレンドモード 半透明を描画するときに背景の色とブレンドさせるにはブレンドモードという機能を使用します。 ブレンドモードは以下のように記述します。 Blend SrcFactor DstFactor SrcFactorとDstFactorはそのまま記述するのではなく、決められた…
接空間とは ポリゴンの表面を基準とした座標空間です。 ローカル空間の法線を全て面に対して垂直にした時、ポリゴンの向きによって法線の値が変わりますが、接空間ではポリゴンの向きに影響されません。 うにばな(ノーマル(法線)基本 と ノーマルマップ合…
タイルベースレンダリングとは? スマートフォンやタブレットで採用されているレンダリング手法で、GPU画面を複数のタイルに分割して、描画します。メモリの容量を節約し、描画速度を上げてくれます。 PowerVR - embedded graphics processors powering icon…