問題タブ [glx]

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 投票する
2 に答える
2625 参照

opengl - OpenGL 色空間変換

フラグメント シェーダーを使用せずにハードウェア ベースの YUV から RGB 色空間への変換を行うために、YUV 色空間でテクスチャを作成する方法を知っている人はいますか? 私は NVidia 9400 を使用していますが、このトリックを実行しているように見える明らかな GL 拡張機能は見当たりません。フラグメント シェーダーの使用例を見つけましたが、現在取り組んでいるプロジェクトは OpenGL 1.1 しかサポートしておらず、それを 2.0 に変換して必要なすべての回帰テストを実行する時間がありません。これも Linux をターゲットにしています。他のプラットフォームでは MESA 拡張機能を使用していますが、Nvidia カードでは機能しません。

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

c - 単純な GLX アプリでメモリ リークが発生するのはなぜですか?

以下のコードは、valgrind での小さな 48 バイトのリークを示しています。

このコードは、GLX レンダリング用にウィンドウを初期化し、それを破棄するだけです。面白いことに、glXMakeCurrent() を呼び出すとすぐに、48 バイトがリークします... valgrind の出力は次のようになります。

スリープの直前に glXMakeCurrent() への呼び出しをコメントアウトすると、リークはなくなります...もちろん、何かをレンダリングするにはその呼び出しを行う必要があります!

本当の問題は、私のアプリが多くの子ウィンドウを作成し、それぞれに GLX コンテキストが関連付けられていることです...そして、それぞれが同じ 48 バイトをリークしています... 他に何を試せばよいかわかりません (コードは GLX コンテキストをクリーンアップしています)。 .. 何か案は?

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

opengl - OpenGLFBOテクスチャをGLXPixmapにレンダリングする

私は次のことを目的としたコードを書いています。1。FBOを使用してOpenGLテクスチャにレンダリングします。2.FBOテクスチャからXPixmapに接続されているGLXPixmapに描画します。3.XPixmapを画面上のウィンドウに描画します。

FBOテクスチャを通常のOpenGL描画に置き換えると、ステップ3はうまく機能し、ステップ2はうまく機能します。

しかし、少なくとも私が持っているコードでは、上記のことを実行すると、機能しません。GLXPixmapに色付きの背景を指定し、1〜3を実行すると、画面のウィンドウが白に変わりますが、他に描画したものは何も表示されません。

ですから、誰かがヒントを提供したり、簡単なサンプルコードを教えてくれることを願っています。このために私が持っているコードはかなり複雑ですが、必要に応じて、レビューのためにここに投稿する簡単なサンプルバージョンを書いてみることができます。

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

opengl - gl/glx を使用して複数のウィンドウで描画する

Linux/glx のほぼすべての例として、NeHe OpenGL チュートリアル (nehe.gamedev.net) を見ています。

しかし、どうすれば複数のウィンドウを開いて、それらすべてに描画できるのでしょうか? ありがとう!

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

opengl - xlibとglxを使用して背景が透明なOpenGL対応ウィンドウを作成する方法

背景が透明なウィンドウを作成し、OpenGLを使用してそのウィンドウに何かをレンダリングしたいと思います。ウィンドウの後ろにあるものをキャプチャして背景としてペイントするというトリックは使いたくありません。本当の透明性が必要です(コンポジットマネージャーを実行しています)。私はGUIライブラリ(GTK、QT、...)を使用しておらず、生のxlibとglxだけを使用しています。

誰もがそれを行う方法を知っていますか?

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

linux - マルチスレッドゲームプログラムが突然glXSwapBuffersにロックアップする

私が書いたLinuxゲームプログラムを磨き上げています。約10分間プレイした後、30秒ごとに1フレームに急に遅くなり、システム全体も遅くなります。プロセスを中断した後でも、システムは約1分間低速のままです。

複数のテストで、速度低下が発生したときにGDBのプロセスを中断しましたが、それは常にへの呼び出しの途中ですglXSwapBuffers

ゲームの状態や入力に関係なく発生します。それを防ぐ唯一のことは、別のスレッドで繰り返し音楽トラックの再生を開始しないことです。スレッドは引き続き実行されますが、サウンドカードバッファに常に書き込まれるわけではありません。2つの共有リストが適切にロックされていることを確認しました。

誰かがglXSwapBuffers他の、一見無関係に見えるスレッドで問題に遭遇しましたか?

OSはUbuntu9で、OpenGLのMesa7.6.0実装とALSAlibasound21.0.20-3を使用しています。今朝、GeForce 6800グラフィックカード用のNVIDIAドライバーを更新しましたが、役に立ちませんでした。

(関連?)コードは次のとおりです。

表示機能:

再生スレッド機能:

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

c++ - GLX(openglおよびXlib)を使用して画像(jpeg | png)の背景を設定します

opengl機能を使用してx11ウィンドウを作成します。ウィンドウのサイズが画像よりも大きい場合は、背景に画像(jpeg | png)をロードする必要があります。問題ありません。私はDevILや無料の画像を使用するようなリシルトを取得するためにサーフィンをしました。どちらを使うべきかわかりません。サンプルコードへのリンクで指定されたサンプルコードを使用してopenglウィンドウを設定し 、画像を背景として作成するためにvoid renderGL()でコードを記述したいと思います。使用する画像ライブラリを教えてください。可能であればコードを提供してください。

また、openglでカラーピクセルをプロットするために何をすべきか。ウィンドウにピクセルを描画する関数が必要です。そのために、x、yピクセルの位置とrgbの色だけを指定する必要があります(unsigned int)....。

0 投票する
2 に答える
68314 参照

opengl - OpenGL GLX 拡張機能はサポートされていません

Ubuntu 10.04 に OpenGL と freeglut をインストールしましたが、10.04 と 10.10 では問題なく動作しました。しかし、11.04 にアップグレードした後、OpenGL を使用して開発したアプリケーションが正しく動作しません。それらはエラーなしでコンパイルされていますが、実行しようとするとエラーが発生します:

GLUT の場合:

OpenGL のみの場合:

私が試したいくつかのこと:

編集:私が持っているのはオンボードグラフィックスだけなので、グラフィックスドライバーを持っていないためだとは考えにくいです。

これは、sysinfo からの私のシステム グラフィックス情報です。

編集2:そして、そのためのドライバーがインストールされているようです。

「構成:ドライバー=」を見てください

0 投票する
2 に答える
1264 参照

c# - Linux で Mono-C# を使用すると glXChooseVisual が失敗する

"glXChooseVisual" (別名 C# では GLX.ChooseVisual) を呼び出すと、null IntPtr が返されます。今私を混乱させているのは、基本的に動作するのと同じコードを使用して NeHe レッスン 02 をビルドするときです (唯一の違いは C で記述されていることです)。

また、OpenTK からコードにステップインし、「glXChooseVisual」を呼び出すと、有効な Visual ptr が返されますが、まだ不足しているものを見つけることができません。

また、私がバグを抱えているのは、1年前のように過去にこれが機能していたことです。私がこれを行っている理由は、OpenGL だけに限定されないクロスプラットフォーム API のためです。

[Ubuntu 11.10 Nvidia 5700] と [Fedora 16 Nvidia 6100] でこれらすべてを試しましたが、どちらも失敗します。このコードをコピーして Mono-C# コンソール アプリに貼り付けてテストできます。