「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]] | ||