問題タブ [mesa]
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.
c - GLSL で複数のテクスチャ + フィルターを使用する
特定のパスに沿って Opengl でポイントスプライトをレンダリングしようとしています。スプライトを 2D テクスチャとして定義し、マグ/最小フィルターとして GL_NEAREST を使用するように設定します。また、GL_LINEAR に設定したいくつかの 2D 座標を含む 1D テクスチャも定義します (スクリーンスペースの位置を決定するために、スプライトごとに 1 つの float のみが必要になるように)。
しかし、ラップトップでプログラムを実行すると、常にスプライト テクスチャのマグ フィルタ メソッドが使用され、パス テクスチャの設定が無視されます。私のラップトップは、Intel Iris Pro 5200 で Linux+mesa 9.2.1+Opengl 3.0 を実行します。Linux を実行し、opengl 4.2 で独自の Nvidia ドライバーを使用するデスクトップでは、すべてが期待どおりに動作します。
関連するコードは
そして、私の頂点シェーダーは
そして私のフラグメントシェーダーは
コード全体 (単一ファイル) をここに貼り付けました。Nvidia と Intel でそれぞれ表示されるスクリーンショットを次に示します。
編集: 3.0 コンテキストの Nvidia でも同じ結果が得られます。
何が原因でしょうか?
opengl - Mesa 9.2.1 で OpenGL 3.0 の精度修飾子がエラーをスローする
Ubuntu 13.10 (64 ビット) 上の Mesa 9.2.1 で OpenGL 3.0 に奇妙な問題が発生します。明示的な精度で変数を定義すると (次のように: highp vec2 v;
)、エラーが発生します。
何らかの理由で精度修飾子が無効になっているようです。Mesa のリリース ノートは状況を明らかにしていません。バグではなく、通知もトピックに関連しています。
OpenGL ES 3.0 精度修飾子を使用した PS は正しく機能します。
opengl - Mesa 10 および GLFW3 で OpenGL コア プロファイルを使用する
Intel HD 3000 GPU を搭載した HP ラップトップで Mesa 10 を使用して Arch Linux を実行しています。(ATI カードもありますが、起動時にオフにしました。) コア プロファイルで OpenGL コードを実行しようとしています。glxinfo によると、OpenGL 3.1 と GLSL 1.4 がサポートされているはずです。
ただし、GLFW プログラムをコンパイルするときは、コア プロファイルを強制して、次のように OpenGL のバージョンを要求します。
GLSL #version 140 でシェーダーをコンパイルするだけでなく、これは印刷された出力です。
したがって、OpenGL 3.1 と GLSL 1.4 をサポートする必要があるようですが、私の GLFW プログラムでは使用されていません。誰が何が間違っているのか教えてもらえますか?
opengl - Mesa 10 を Debian にインストールする
だから、ここに私の問題があります - Kali * nix を実行している HD4000 統合グラフィックス プロセッサを搭載したラップトップでこれらのチュートリアルを完了したいと考えています。問題は、インストールされている Mesa 3D のエディションがバージョン 8 かそこらしかないため、古すぎる OpenGL の実装しか実行できないことです。チュートリアルでは OpenGL バージョン 3.3 以降が必要です。しかし、Mesa 10 の最近のリリースでは、OpenGL 3.3 のサポートを提供することでこれが可能になりました!!
したがって、システムに Mesa 10 をインストールするだけで、これらのチュートリアルを完了することができます。この回答を見つけましたが、Ubuntu専用のようです。提案されたものを実行してみました
しかし2)の後。エラーが発生しました
また、tar.gz Mesa 10 ファイルを Web サイトから直接ダウンロードし、実行後に構成しました。
これによりエラーが発生しましたが。
tcp - tof camera mesa sr4500 で tcp/ip 受信 simulink
Time of Flight カメラ (mesa sr4500) の LAN 接続から simulink 経由で PC に生データ ストリームを受信する際に問題が発生しました。simulink ブロックtcp/ip receive
の IP アドレスとポートが正しく選択されているようです (ネットワーク カードの IP アドレスとポートです)。これは、simulink ブロックの詳細設定の図です。
これは私が受け取っているエラーメッセージです。
ブロック エラー -> 'decoding/TCP/IP Receive' で MATLAB S-Function 'stciprb' の登録済みメソッド 'outputs' を評価中にエラーが発生しました
原因: 指定された量のデータがタイムアウト期間内に返されませんでした。指定されたポートにデータが送信されていることを確認し、より大きなタイムアウト値を指定してください。
カメラはすでに 10 fps でストリーミングしているため、タイムアウトを大きくしても効果はないと思います。そのため、タイムアウトは十分に長くする必要があります。
設定オプションを誤解していませんか? 誰かが同様のカメラで働いたことがありますか?
opengl-es-2.0 - Mesa の OpenGL ES 2.0 を使用したフラグメント シェーダの glCompile() での Segfault
OpenGL グラフィックスを X11 ウィンドウに表示するプロジェクトに取り組んでいます。これは Ubuntu 12.04 で行う必要があり、Mesa のバージョンの OpenGL ES 2.0 と egl を使用しています。コンパイルされて正常に動作するシェーダーがいくつかありますが、1 つに到達すると、gdb はglCompile()
、このフラグメント シェーダーでセグメンテーション違反が発生していることを示しています。
編集:
上記のものより前にコンパイルされ、問題を引き起こさないように見える別のフラグメント シェーダーを次に示します。
PixmapShaderFrag
シェーダーと他のシェーダーの唯一の大きな違いはtexture2D()
. Mesa と の使用に問題があるかどうかtexture2D()
、またはシェーダーに何か他の問題があるかどうかを知っている人はいますか? texture2D()
より多くのシェーダーコードが必要な場合でも、私ができる別の方法はありますか?`
opencl - オープンソース ドライバーを使用して AMD ビデオカードに OpenCL をセットアップするにはどうすればよいですか?
このリンクを読みました - https://wiki.debian.org/ru/AtiHowTo そして OpenCL をセットアップすることにしました。
r600g ドライバーは、ハードウェア アクセラレーションを有効にするために、独自のマイクロコードを GPU にロードする必要があります。このファームウェアは通常、カーネルに含まれていますが、Debian では個別にパッケージ化されています。
だから、私はファームウェアをインストールしました:
次に、カーネル バージョンをアップグレードします。
そしてチェックされたカーネルフラグ:
また、十分に最近の xserver バージョンをセットアップします。
ドライバーとして radeon を選択します。
xorg-video-abi-6.0 を提供しない wheezy の xserver-xorg-core を使用していることは間違いありません。新しい xorg-video-abi では、Debian から削除されたため、radeonhd を使用できません。
これにより、OpenGLが機能します。
OpenCL で動作するアプリケーションを使用しようとしています。
このプログラムは CPU 上で正常に動作します:
しかし、GPU を検出できません:
デバイスのリストに GPU がありません:
OpenCL のセットアップ方法に関する説明が見つかりません。
アプリケーションを起動した後、エラーが表示されます。
エラー コードの値は opencl.h で定義されています。プラットフォームが正しく構成されていないようです。clGetPlatformIDs からの CL_PLATFORM_NOT_FOUND_KHR (-1001) エラー。これは、ディスパッチャーはあるが、実際の OpenCL ドライバーがないためです。」
後
構成ファイルには、
エラーは
これを機能させる方法は?
opengl - Ubuntu で Mesa 10.1 を使用して OpenGL 3.3 を有効にする方法
AMD Radeon 6950 を使用して、OpenGL 3.3 および GLSL 3.3 に依存する OpenGL ベースのレンダリング エンジンを Ubuntu 13.10 で実行しようとしていradeon
ます。 OpenGL の実装に Mesa に依存するオープン ソース ドライバー ( ) を使用したいと考えています。Ubuntu 13.10 は、「すぐに使える」Mesa 9.2 (OpenGL 3.1 を実装) のみを提供します。ただし、このスレッドで説明されているように、この PPAから Mesa 10.1 (OpenGL 3.3 を実装) をインストールすることは可能です。
StackOverflow: Ubuntu 12.04 の HD Graphics 4000 での OpenGL および GLSL 3.3
そこで説明したのとまったく同じ手順を使用しました。
Mesa 10.1 が正常にインストールされました。ただし、glxinfo
現在は Mesa 10.1 が使用されていると報告されていますが、依然として OpenGL 3.0 (互換プロファイル) と OpenGL 3.1 (コア プロファイル) のみが報告されています。
何故ですか?OpenGL 3.3 を有効にするにはどうすればよいですか? 私が言及した StackOverflow スレッドを比較するとわかるように、 glxinfo
OpenGL 3.3 を報告することが可能です。が Mesa 10.1 リリース ノートglxinfo
に従って誤ったバージョン番号を報告する可能性があることは承知していますが、これが原因で実行しようとしているレンダリング エンジンが失敗します。
次のコードを使用して、ウィンドウを生成します。
このセットアップを使用してレンダリング エンジンを実行しようとすると、OpenGL 3.3 がサポートされていないため、上記の例外がスローされます。に設定GLFW_OPENGL_VERSION_MINOR
する0
と、ウィンドウが正常に開きますが、GLSL 3.3 シェーダーが必要なため、後で例外がスローされます。
また、プロプライエタリfglrx
ドライバーを使用すると (そしてglxinfo
OpenGL バージョン 4.2 を報告する)、レンダリング エンジンが正常に動作することにも注意してください。そのため、アプリケーション自体は実際には問題ではありませんが、サポートされている OpenGL は問題です。
それで、私は何を間違っていますか?Mesa 10.1 が OpenGL 3.3 をサポートしていないのはなぜですか? 私のグラフィックカードは確かにそれをサポートしています。
役立つ可能性のある追加情報を次に示します。