タグ付けされた質問 「glsl」

5
バージョン4.1のOpenGLでのテキストレンダリングの最先端技術とは何ですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 2年前休業。 この質問を改善する OpenGLでのテキストのレンダリングについては、すでに次のような多くの質問があります。 GUIのOpenGLライブテキストレンダリングを行う方法 しかし、主に説明されているのは、固定機能パイプラインを使用したテクスチャ付きクワッドのレンダリングです。確かにシェーダーはより良い方法を作らなければなりません。 私は国際化については特に心配していません。ほとんどの文字列はプロットの目盛りラベル(日付と時刻または純粋に数値)です。しかし、プロットは画面のリフレッシュレートで再レンダリングされ、かなりの量のテキストが表示される可能性があります(画面上のグリフは数千以下ですが、ハードウェアアクセラレーションレイアウトが適切であることには十分です)。 最新のOpenGLを使用したテキストレンダリングの推奨アプローチは何ですか?(アプローチを使用して既存のソフトウェアを引用することは、それがうまく機能することの良い証拠です) たとえば、位置と方向および文字シーケンスを受け入れ、テクスチャ化された四角形を放出するジオメトリシェーダー ベクターフォントをレンダリングするジオメトリシェーダー 上記と同じですが、代わりにテッセレーションシェーダーを使用します フォントのラスタライズを行う計算シェーダー
199 opengl  text  glsl  shader  opengl-4 


11
GLSLのランダム/ノイズ関数
GPUドライバーベンダーは通常noiseXGLSLでの実装を気にしないため、GPUシェーダー内での使用に最適化された「グラフィックスランダム化スイスアーミーナイフ」ユーティリティ関数セットを探しています。私はGLSLを好みますが、どの言語でもコードを作成できます。自分でそれをGLSLに翻訳してもかまいません。 具体的には、私は期待します: a)擬似ランダム関数 -M次元のシードから計算された、[-1,1]または[0,1]を超えるN次元の均一な分布(理想的には任意の値ですが、シードを抑制しても問題ありません)たとえば、0..1は均一な結果の分布です)。何かのようなもの: float random (T seed); vec2 random2 (T seed); vec3 random3 (T seed); vec4 random4 (T seed); // T being either float, vec2, vec3, vec4 - ideally. b)は、連続ノイズノイズパーリン様-再度、N次元、+ -一様分布、ウェル拘束値のセットと、を有する、(パーリンレベルのような外観を構成するためのいくつかのオプションが)あまりにも有用である可能性が良い探し。私は次のような署名を期待します: float noise (T coord, TT seed); vec2 noise2 (T coord, TT seed); // ... 私は乱数生成理論にあまり詳しくないので、私はできる限り既成の解決策を模索しますが、「ここに非常に優れた効率的な1D rand()があります。あなたどのようにそれの上に優れたN次元のrand()を作るために...」。

6
GLSLシェーダーの正しいファイル拡張子は何ですか?[閉まっている]
休業。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善してみませんか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 12か月前に閉鎖。 この質問を改善する 私はglslシェーディングを学んでいて、さまざまなファイル形式に出くわしました。頂点とフラグメントのシェーダー.vertと.frag拡張機能を提供している人を見てきました。しかし、私はまた.vsh、.fsh拡張機能、さらには両方のシェーダーを1つの.glslファイルにまとめて見ました。それで、標準のファイル形式があるのか​​、それとも「正しい」形式なのでしょうか?
127 opengl  glsl  shader 

4
このGLSL rand()ワンライナーの起源は何ですか?
私は、ウェブのあちこちで参照されているシェーダーで使用するための、この疑似乱数ジェネレータを見てきました。 float rand(vec2 co){ return fract(sin(dot(co.xy ,vec2(12.9898,78.233))) * 43758.5453); } 「カノニカル」または「どこかでウェブで見つけたワンライナー」と呼ばれています。 この関数の起源は何ですか?定数値は見た目と同じくらい恣意的ですか、それともそれらの選択にいくつかの芸術がありますか?この機能のメリットについての議論はありますか? 編集:私が遭遇したこの関数への最も古い参照は、2008年2月のこのアーカイブで、元のページはWebから削除されています。しかし、それについて他のどこよりも議論はありません。
92 glsl  shader  prng 

2
フラグメントシェーダーは、ピクセルの色に使用する変数をどのように認識しますか?
さまざまなフラグメントシェーダーがたくさんありますが、 #version 130 out vec4 flatColor; void main(void) { flatColor = vec4(0.0,1.0,0.0,0.5); } そして、それらはすべて「アウトカラー」(この場合flatColor)に異なる変数を使用します。では、OpenGLはあなたが何をしようとしているのかをどうやって知るのでしょうか? flatColorとして定義されている唯一の変数であるため、これは機能するとout思いますが、さらにout変数を追加することは許可されていますね。それともクラッシュするだけでしょうか? 実際、テストとして、私はこれを実行しました: #version 330 in vec2 TexCoord0; uniform sampler2D TexSampler; out vec4 x; out vec4 y; void main() { y = texture2D(TexSampler, TexCoord0.xy); } それは私が使用したかどううまく働きましたxかy。 さらに、事前定義されたがありgl_FragColorます。違いは何ですか、そしてなぜ人々は通常自分の変数を使用することを主張するのですか?
82 opengl  glsl 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.