「MonoGameでピクセルシェーダーを使ってテクスチャを貼る」の版間の差分

imported>Administrator
ページの作成:「「MonoGameでプログラマブルシェーダーを使う」の実践編として以下をやってみる。 * バーテックスシェーダーでジオメ...」
 
imported>Administrator
編集の要約なし
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
「[[MonoGameでプログラマブルシェーダーを使う]]」の実践編として以下をやってみる。
「[[MonoGameでプログラマブルシェーダーを使う]]」の実践編として以下をやってみる。[[Mac]]でやっているのがミソ。
 
* [[MacOS]]上の[[Visual Studio for Mac]]と[[MonoGame]]を使い
* [[バーテックスシェーダー]]で[[ジオメトリ変換]]してみる
* [[バーテックスシェーダー]]で[[ジオメトリ変換]]してみる
* [[ピクセルシェーダー]]で[[テクスチャマッピング]]してみる。
* [[ピクセルシェーダー]]で[[テクスチャマッピング]]してみる。
93行目: 95行目:
== HLSLをコンパイルする ==
== HLSLをコンパイルする ==
[[macOS]]上の[[Visual Studio for Mac]]では[[HLSL]]をコンパイルするには準備の際にいれた「[[InfinitespaceStudios.Pipeline]]」を用いる。
[[macOS]]上の[[Visual Studio for Mac]]では[[HLSL]]をコンパイルするには準備の際にいれた「[[InfinitespaceStudios.Pipeline]]」を用いる。
この際にProjectツリーの「Content」を開き「Platform」の設定が間違っていないことを確認すること。[[iOS]]や[[Android]]向けなのに「[[Windows]]」のままコンパイルすると[[OpenGL]]ではなく[[DirectX]]向けのモノができあがり残念なことになる。なお、[[iOS]]と[[Android]]を間違えてもどっちもOpenGL系なので動く。


== コンテンツファイルを準備 ==
== コンテンツファイルを準備 ==
190行目: 194行目:
         }
         }
     }
     }
</syntaxhighlight>こんな感じ。[[Mac]]でも[[HLSL]]が使えるとか感動的だね。
</syntaxhighlight>
 
== 動かしてみる ==
こんな感じ。[[Mac]]でも[[HLSL]]で書いた[[シェーダー]]が使えてる。なお、[[シェーダーモデル]]3.0までだがSM3.0まであればそこそこなことはできる。。
[[ファイル:MonoGameでピクセルシェーダーを使ってテクスチャを貼ってみる.png|なし|サムネイル|640x640ピクセル]]
[[ファイル:MonoGameでピクセルシェーダーを使ってテクスチャを貼ってみる.png|なし|サムネイル|640x640ピクセル]]
動画
<movie>https://youtu.be/1LfsaS9wG_o</movie>


== 関連項目 ==
== 関連項目 ==
* [[MonoGameでプログラマブルシェーダーを使う]]
* [[MonoGameでプログラマブルシェーダーを使う]]
* [[MonoGameでハードウェアインスタンシングしてみる]]
* [[MonoGameの3Dモデルを管理描画するクラスを作る]]
* [[MonoGameの3Dモデルを管理描画するクラスを作る]]
* [[MonoGameでSkiaSharpを使う]]
* [[MonoGameでSkiaSharpを使う]]
204行目: 215行目:
* [[スリープソート]]
* [[スリープソート]]


[[category: MonoGame]]
[[category: HLSL]]
[[category: HLSL]]