いうのは単に、ありそうな例というだけです。loadFromFile関数なんだけど、ときどき、よくわかんない理由で失敗してしまいます。そんなときは、まず、エラーメッセージをチェックせよ。コンソールに出力されてます。そんなときは、カレントディレクトリを確認だ。相対パスの出発点になるフォルダのことです。そのプロジェクトのフォルダになってるかも。プロジェクトの設定でカンタンに変更できるはず。loadFromFileに関する注意書きと同じ文面です(原文が)。シェーダーは文字列で直接記述することもできます。シェーダーをソースコードの中に埋め込んでおきたいときには、この読み込み方法を使うとよいです。ストリームから読み込むこともできます。他のリソースクラスと同じ要領ですね。読み込みに失敗するときは、標準出力(コンソール)に出ているエラーメッセージを見てください。詳しいレポートが表示されてるはずです。シェーダーを使う使うのは簡単です。関数の引数に渡すだけです。);シェーダーに変数を渡す他のプログラム言語と同じように、シェーダーもパラメータを持つことができます。パラメータの内容次第で、描画のたびに違う結果になる、というわけです。パラメータはシェーダーの内部で、グローバルな変数として宣言します。いわゆる「ユニフォーム変数」です。関数がたくさん用意されてるので、使い分けてください。(ここでの「使われてない」というのは、頂点やピクセルの計算に関係しない、という意味)。覚えておかねばならないのであります。いう構造体があります。この頂点は「2D座標」と「色」と「テクスチャ座標」を持ってます。これらが、頂点シェーダーにインプットされるデータです。それらのデータを受け取るようになっています(プログラマが宣言する必要はない)。ModelView行列と射影変換行列で変換される必要があります。オブジェクトを現在のビュー座標系に位置づける変換行列ということです。(通常、この行列はプログラマが気にする必要はありません。内部実装の裏話です)。必要なければ色やテクスチャ座標は無視して構いません。フラグメントシェーダーに渡されます。フラグメントシェーダーフラグメントシェーダーも似たような感じです。シェーダーが受け取るデータは「テクスチャ座標」と「生成されたフラグメント(≒ピクセル)の色」です。「座標」はありません。ここまで処理が進んだら、グラフィックカードはすでにフラグメントの最終的な座標を計算し終えているからです。それと、テクスチャを貼っている場合は、テクスチャも必要です。pixel;}テクスチャは現在のテクスチャが自動で適用される、といいのですが、自動では適用されません。C++の側から明示的に設定してあげる必要があります。それを描画のたびに毎回取得して、シェーダーに渡すのはプログラマにとって、とても大変なことです。いやー、SFMLって気が利きますね。sf::Shader::CurrentTexture);これで、描画中のオブジェクトのテクスチャが、描画のたびに自動的に、シェーダーの変数に設定されるようになります。対応するシェーダーの変数を更新してくれます。フォルダを覗いてみてね。使っているお友達もいるかもしれませんね。コードとあなたを仲良しにしてくれます。チュートリアル目次]。