OpenGL ES 2.0:品質シェーダーのリポジトリ[終了]


10

高品質のOpenGL(OpenGL ES 2.0)の頂点とフラグメントシェーダーのリポジトリを提案してください。

私を探していますシェーダligting基づいて画素(のようなフォンを)とsimmilar。品質とシェーダーのパフォーマンスのどちらかを選択できるように、それらをさらに表示するとよいでしょう。

回答:


16

一般に、複雑なシェーダーは、交換可能な歯車のようにダウンロードしてプロジェクトにドロップできる種類のものではありません。通常、より興味深い効果を実現するには、CPU側のレンダリングサブシステムにかなりの結合が必要です。同じことが一般的にパフォーマンスにも当てはまります。命令数やパイプラインに対する精度と品質に関するパフォーマンスのトレードオフは、アプリケーション固有の要件に起因する傾向があります。

その結果、あなたが考えているリポジトリの種類には、それほど多くのものがありません。GPU Gemsブックは、ゲームとシェーディングされたコード例の両方を使ったテクニックのクックブックスタイルの説明の優れたコレクションを提供します。Shader Xの本も同様です。


非常に貴重なコメントの+1。こんにちは、ジョシュ。ご返信ありがとうございます。まあ、人がシェーダー開発の初期段階にいる場合、いくつかの標準シェーダーがどのように実装されているかを確認することは非常に役に立ちます。たとえば、Phong(非常に標準的なアルゴリズム)の実行方法、ピクセルライティングシェーダーなどです。ポイント、そしてあなたが提供したソースは良い素材としての音。それらを見てみましょう。これまでのところ、私が見つけた最高のリソースは、OpenGLシェーディング言語の本とLighthouse 3Dサイトです。
Bunkai.Satori

2
したがって、興味深い効果の開発を示す、良質のシェーダーのリポジトリを引き続き歓迎します。スクリプトは、それらを組み合わせて新しい魅力的な効果を作成するための地下室として使用できます。
Bunkai.Satori

@文海サトリ私はジョシュがこういった種類のリポジトリがほとんど存在しない理由としてそれを意味したと思います。
共産主義者のアヒル

@The Communist Duck:こんにちは。コメントありがとうございます。という事は承知しています。ここでのすべての応答と、ジョシュの応答にも感謝します。しかし、私の頭に浮かんだのは、インターネットが非常に大きく、特定のシェーダーにインスピレーションを得るためにジョシュ以外の誰かがいくつかの場所を見たことを覚えているということです。シェーダーを頻繁に使用する会社/個人がそれらを収集し、それらのいくつかがそれらを公開することもあると想像できます。いずれにしても、ジョシュの答えは私の承認済み回答の候補です。したがって、誰もすぐに貢献しない場合は、彼の答えをマークしてこのスレッドを閉じます。
Bunkai.Satori

13

それほど多くはありませんが、開始するための少なくともいくつかの基本的なシェーダーは、開いているソースエンジンファイルの間にあります。

.vshファイルには頂点シェーダーが含まれ、.fshファイルにはフラグメントシェーダーが含まれていますが、それは自明です...

現在のモバイルハードウェアでは、頂点シェーダー内でできる限り多くのことを行う必要があります。見栄えがよく高速なゲームのコツは、何かを意図したとおりに見せるために必要なものを常に正確に実行する、非常に専門的なシェーダーを数多く書くことです。少なくともそれは私のiPhone 3GSでの私の経験であり、iPhone 4と同じgpuを備えていますが、データを配信するためのピクセルが少なくなっています。これはおそらくtegra 2ですでにはるかに優れており、apples A5チップでさらに優れていますが、現時点では、デスクトップgpusのシェーダーを携帯電話に移植して優れたパフォーマンスを期待しないでください:Pこれは、フルスクリーンも意味します特に高解像度ディスプレイを備えたデバイスでは、効果が遅くなる傾向があります。

これも少し役立つことを願っています:)。


こんにちは、GDSEへようこそ。いい答え!
Notabene、

良い答えは+1です。こんにちはスリン、そしてGDSEへようこそ。この良い答えと例題についてありがとう。モバイルプラットフォーム用のシェーダープログラミングについて、あなたの経験を共有していただき、ありがとうございます。現時点では、すべての開発をPCで行い、後で移植する予定です。だからあなたの経験は高く評価されます。
Bunkai.Satori、

9

ここhttp://glslsandbox.com/から難解な知識の一部を奪うかもしれません


こんにちはUlanB。このコレクションは素晴らしいですね。これらのシェーダーをダウンロードする方法を教えてください。Chromeでシェーダーコレクションを開こうとすると、「WebGLはサポートされていません」というエラーが表示されます。ありがとうございました。
Vinodtiru

申し訳ありませんが、webglの互換性に関する技術サポートは提供できません。おそらくあなたのハードウェアはwebglをサポートしていません。また、Linux Chromeビルドはまだサポートしていません。
UlanB

4

OpenGL ES 2.0でフォグを実装する方法を探していたとき、OpenGL ES 2.0にはないOpenGL ES 2.0下位互換プロジェクト実装機能へのリンクが見つかりました。たとえば、フォグ、頂点ごと、フラグメント(ピクセル)シェーディングごとに。シェーダーソースを直接調べることができます。

私はフラグメントごとのライティングも実装しており、ClockworkCoders(OpenGL ES 2.0ではない)によって作成されたこの例を変更しています。

また、lighthouse3Dによるこれらの優れたチュートリアルもご覧ください。


+1は良いコメントです。こんにちはマーティン、あなたのリンクをありがとう。ええ、私はLighthouse3Dを見つけました、そしてそれは質の高いリソースのように見えます。
Bunkai.Satori

1

AMD RenderMonkeyパッケージには、サンプルファイルの中にOpenGL ES 2.0用の非常に高度なシェーダーが含まれています。

特に、GLESサンプルディレクトリにあるRendermanシェーダーサンプルを見てください。これは、出発点として役立つ可能性がある、多かれ少なかれ基本的なOpenGL ES 2.0シェーダーを提供します。また、優れたシェーダーのカットアンドペーストの例が多くない理由についても、良い考えが得られるかもしれません。基本的な問題:シェーダーはOpenGL ESサーバー構成と密接に結合されており、それらにレンダリングされるモデルです。まだ。REnderMonkeyツールからこじ開けることができる場合、Rendermanシェーダーは優れた出発点です。


1

GPUImage(https://github.com/BradLarson/GPUImage)を見てください。これは、これまでにWebで見つけたシェーダのおそらく最も完全なコレクションです。これらはすべてGPUImageで動作するように設計されているため、すべて同じ構造を共有しているため、アプリケーション/ゲームで同じ構造を採用すると、さまざまな効果をすばやくインポートできるはずです。

乾杯!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.