私は glsl シェーディングを学んでいますが、さまざまなファイル形式に遭遇しました。頂点シェーダーとフラグメント シェーダー.vert
と.frag
拡張機能を提供している人を見かけました。しかし、拡張機能や、両方のシェーダーを 1 つのファイルにまとめたものもあります.vsh
。.fsh
そこで.glsl
、標準のファイル形式があるかどうか、または「正しい」方法はどれなのか疑問に思っています。
ベストアンサー1
仕様には公式の拡張機能はありません。OpenGL はファイルからのシェーダの読み込みを処理しません。シェーダ コードを文字列として渡すだけなので、特定のファイル形式はありません。
しかし、言語Khronos のリファレンス GLSL コンパイラ/バリデーターは、次の拡張機能を使用して、ファイルがどのタイプのシェーダー用であるかを判断します。
.vert
- 頂点シェーダー.tesc
- テッセレーション制御シェーダー.tese
- テッセレーション評価シェーダー.geom
- ジオメトリシェーダー.frag
- フラグメントシェーダー.comp
- 計算シェーダー