問題タブ [uniform]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
4149 参照

opengl - OpenGLユニフォームバッファstd140レイアウト

GeForce 8600 GTのユニフォームブロック(すべてがGLSL「#version330」に準拠)を介して、intの配列をフラグメントシェーダーに渡そうとしています。

私が持っているアプリの側に:

私のフラグメントシェーダーでは、次のようにブロックに従って宣言します。

問題は、glCompileShaderが成功した後、glLinkProgramが適切なストレージリソースをバインドできないことを示すエラーを返すことです。

いくつかの追加の事実:

1)GL_MAX_UNIFORM_BLOCK_SIZEの戻り値65536

2)要素の数を4096に減らすと、正常に機能し、配列タイプとして「int」と「ivec4」のどちらを使用しても違いはありません。4096を超えると、同じ「ストレージエラー」が発生します</ p>

3)「共有」または「パック」を使用すると、すべてが疑わしいとおりに機能します

std140のGLSL3.3仕様を参照した後、次のように位置合わせ/パディングに問題があると想定しています。

「1)メンバーがN個の基本マシンユニットを消費するスカラーである場合、ベースアライメントはNです。

..。

4)メンバーがスカラーまたはベクトルの配列である場合、ベースアラインメントとアレイストライドは、ルール(1)、(2)、および(3)に従って、単一の配列要素のベースアラインメントと一致するように設定され、丸められます。 vec4のベースアライメントまで。配列の最後にパディングがある場合があります。配列に続くメンバーのベースオフセットは、ベースアライメントの次の倍数に切り上げられます。」</ p>

私の質問:

1)「myblock」が7102 * 4 = 28408バイトの4倍を占めるというのは本当ですか?つまり、std140はmyarrayの各メンバーをvec4に拡張し、実際のメモリ使用量は7102 * 4 * 4 = 113632バイトであり、これが問題の原因ですか?

2)「共有」または「パック」で機能する理由は、最適化によってこれらのギャップが解消されるためですか?

3)多分それはドライバーのバグですか?すべての事実は、「…そしてvec4のベースアラインメントに切り上げられた」ことが理由であることを示していますが、intの配列のような単純なものがメモリ制約の点で4分の1の効果を失うことを受け入れるのは非常に困難です。

4)バグではない場合、std140の場合、どのように配列を整理してアクセスする必要がありますか?最適なデータ分散のために「ivec4」を使用できますが、単純なx = myarray [i]の代わりに、x = myarray [i / 4] [i%4]のような方法でパフォーマンスを犠牲にして、各ivec4の個々の要素を参照する必要があります。 ?または私は何かが欠けていて、明らかな解決策がありますか?

0 投票する
3 に答える
2405 参照

matlab - Matlabで経験的分布を一様分布に変換する機能は?

CDF を使用してある分布を別の分布に変換する手順を知っています。ただし、Matlab にこのタスクを実行できる既存の関数があるかどうかを知りたいですか?

私の別の関連する質問は、値ecdf()のある分布について、Matlab で経験的な使用関数の CDF を計算した10,000ことです。ただし、そこから得られる出力には9967値のみが含まれます。10,000CDF の合計値を取得するにはどうすればよいですか? ありがとう。

0 投票する
0 に答える
1011 参照

select - Uniform JS を使用して複数の問題を選択する

フォーム要素にuniform.jsを使用していますが、すべて正常に動作していますが、 select multipleで問題に直面しています。selectだけがうまく見えますが、 select のように反映されるselect multipleを使用している場合。私を助けてください。

0 投票する
1 に答える
2409 参照

android - OpenGL シェーダー。float の配列を渡す

私のシーンには、同時に回転させたいが異なる角度で回転させたい多くのオブジェクトがあります。

各オブジェクトの位置を計算し、シーン全体を描画するシェーダーがあります (頂点の配列を使用して頂点配列をシェーダーに渡します)。

私はすべての頂点、インデックス、色などを配列に持っています(オブジェクトごとに1つの配列ではなく、頂点のオフセット、色などの1つの配列を持つ1つの配列)。

1 つの float[] で float の配列 (各「オブジェクト」の角度) を渡したいのですが、何もうまくいきません。

パスしてフロートを 1 つだけ使用する場合は、すべて問題ありません。

各オブジェクトに特定のフロートを渡すにはどうすればよいですか (たとえば、20 個の長方形を描画したい (vetrex 配列: float[20*3*4] があります))。 *4])?

更新しました:

配列をテクスチャとして渡そうとします。

シーンのリソースを作成するとき - 配列 (マスクと呼ばれる) を作成しようとします。

次に、シーンに新しいアイテムを描画するときに、シェーダーを使用して配列を渡そうとします:

しかし、配列の値をチェックしようとすると、0.5 を超える場合、すべての計算でfalseが返されます

更新しました

フラグメント シェーダーには以下が含まれます。

カラー テクスチャとマスク テクスチャの寸法は同じです

0 投票する
4 に答える
22592 参照

c - CでINTEGERSの一様分布を生成する

範囲[rangeLow、rangeHigh]の一様分布から整数を選択すると思われるC関数を作成しました。これは宿題ではありません。私はこれを、楽しみのためにやっていることをいじくり回しているいくつかの組み込みシステムで使用しています。

私のテストケースでは、このコードは適切な分布を生成するように見えます。ただし、実装が正しいとは完全には確信していません。誰かが健全性チェックを行い、ここで何か間違ったことをしたかどうか教えてもらえますか?

PS私はこのような他の質問を検索しました。ただし、ランダムな浮動小数点数ではなく、ランダムな整数について説明している質問の小さなサブセットを除外することは困難でした。

0 投票する
7 に答える
6849 参照

c++ - 範囲内で偏りのないランダムな整数を生成するための最適なアルゴリズムは何ですか?

このStackOverflowの質問では:

範囲からランダムな整数を生成する

受け入れられた答えは、与えられたminとの間のランダムな整数を生成するための次の式を示唆しています。maxminmax

しかし、それはまた言います

これはまだ低い数値にわずかに偏っています...偏りを取り除くように拡張することもできます。

しかし、なぜそれがより低い数値に偏っているのか、または偏りを取り除く方法については説明していません。したがって、問題は次のとおりです。これは、(符号付き) 範囲内のランダムな整数を生成するための最も最適なアプローチであり、ファンシーなrand()関数だけに依存するのではなく、最適な場合はバイアスを削除する方法ですか?

編集:

while@Joey が提案した -loop アルゴリズムを浮動小数点外挿に対してテストしました。

多数の「バケツ」にどれだけ均等に「ボール」が「落ち」、分散されているかを確認します。1 つは浮動小数点外挿のテストで、もう 1 つはwhile-loop アルゴリズムのテストです。しかし、「ボール」(および「バケツ」)の数によって結果が異なることが判明したため、勝者を簡単に選ぶことはできませんでした。作業コードは、この Ideone ページにあります。たとえば、バケットが 10 個でボールが 100 個の場合、バケット間の理想的な確率からの最大偏差は、whileループ アルゴリズムよりも浮動小数点外挿の方が小さくなります (それぞれ 0.04 と 0.05) が、ボールが 1000 個の場合、while-loop アルゴリズムはより小さく (0.024 および 0.011)、10000 個のボールを使用すると、浮動小数点外挿は再びより良く (0.0034 および 0.0053) 実行され、一貫性があまりありません。whileどのアルゴリズムも一貫して他のアルゴリズムよりも優れた均一分布を生成しない可能性を考えると、 -loop アルゴリズムよりも高速に実行されるように見えるため、浮動小数点外挿に傾倒します。では、浮動小数点外挿アルゴリズムを選択しても問題ありませんか、それとも私のテスト/結論は完全に正しくありませんか?

0 投票する
1 に答える
146 参照

javascript - Uniform.js が選択要素をソートしないようにする方法

いくつかの選択をスタイルするために Uniform.js を使用しています。それらは見栄えがしますが、スタイルを設定すると、Uniform は各オプションの値属性に従ってリストを並べ替えますが、これは望ましくありません。これを防ぐにはどうすればよいですか?

0 投票する
4 に答える
657 参照

jquery - jquery unform プラグインを使用してフォーム フィールドをクリアする

フォームにjQuery統一プラグインを使用しています。しかし、問題は、「ファイル」入力をクリアするにはどうすればよいですか?

私は使っている:

ラジオボックスをクリアするため。

また、

ファイル入力をクリアします。

0 投票する
1 に答える
1296 参照

jquery - リセット選択を機能させることができません

jQuery Uniform でビルドされたフォームをリセットする必要がある Web サイトを開発していますが、リセットできないという問題があります。

これは私のヘッダーコードです:

次の部分は、次のようなフォームです。

何が悪いのか教えてくれる人はいますか?

0 投票する
0 に答える
495 参照

geometry - ランダムに選択された点の周りの円の表面上の点の均一な分布

モンテカルロ シミュレーションで、次の問題に遭遇しました。単位球の表面上の点 A を定義する単位ベクトル u が与えられた場合、初期ベクトルと [0,max) の角度 θ を形成する新しいベクトルをランダムに決定する必要があります。 . 言い換えれば、一様な分布から、初期点 A を中心とする事前定義された半径を持つ球の円の内側の球の表面上の点をランダムに選択するアルゴリズムが必要です。

Z = uのように、オイラー角(θ、Ψ、φ)を使用して(x、y、z)から(X、Y、Z)への座標回転を行うことを考えていました。次に、デカルト座標から球座標 (r,θ,φ) への変換 (u=(1,0,0) で、cosθ と φ を一様に選択します)。最後に、(X,Y,Z) に変換し、次に (x,y,z) に変換します。しかし、三角関数は遅すぎるのですが、もっと速い方法はありますか?

球の表面に一様に分布した点のマルサグリア法を修正して、点の近くの点を選択することはできますか?

ご提案いただきありがとうございます。