問題タブ [pyglet]
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.
python - pygletでnumpy配列を表示するには?
numpy 配列として格納された次元 (100*100) のラベル マトリックスがあり、pyglet でマトリックスを表示したいと思います。
私の最初のアイデアは、この行列を使用して、関数 pyglet.image.ImageData() を使用して新しい pyglet 画像を形成することです。入力として画像データのバッファが必要ですが、numpy 配列から適切な形式のバッファを取得する方法がわかりません。
誰でも何か考えがありますか?
ps。私の現在の解決策:
numpy を使用して 3 つの [100*100] マトリックスから [100*100*3] マトリックスを構築するより良い方法はありますか?
python - pyglet でのピクセル単位の描画 (python)
わかった。結果のない多くのドキュメントをグーグルで調べたり読んだりするのにうんざりしています。
私の目的は単純です。pyglet にピクセル単位で画像を描画させることです。
私は何時間も検索してきましたが、結果はありませんでした。ピクセルごとに色を指定してディスプレイに描画する短いプログラムの例を誰か教えてください。例: 黒から白へのグラデーションを描画します。
python - pyglet.media.avbinをインポートできません
私のトレースバックは次のとおりです。
depを無効にしてsystem32でavbin.dllを使用してWindows732ビットを実行しています。どんな提案でも大歓迎です!
python - Pygletで個々のピクセルを設定する
Pygletで画像データの個々のピクセル値を設定する方法はありますか?
OpenGLレンダリングモードをポイントに設定することでもできると思いますので、誰かがこれについて洞察を持っているなら、それも共有してください。
python - OpenGL:Pythonでロードしたときにモデルが正しく表示されない
私はブレンダーモデルを持っています。以下は、Pythonにロードしたときにモデルがどのようにレンダリングされるかを示す画像です。法線がすべて台無しになっているようです。各頂点に正しい法線を使用しています。正しい順序でエクスポートしています。私はこれをBlenderコンソールでテストし、実際のエクスポートファイルに正しいデータが含まれていることを確認しました。
z軸が異なるため、Pythonでモデルを回転させる必要があることはわかっています。したがって、法線zが間違った方向を向いているかどうかはわかりません。
私はピグレットを使用しています。誰かが以前にこの問題を抱えたことはありますか?それを修正するために私ができることのアイデアはありますか?
これがOpenGLの問題なのかPythonの問題なのかわかりません。
openglセットアップコード:
コードを描く:
python - pygletを使用してピクセルのRGB値を読み取る際の問題
プログラミングプロジェクトの場合、pygletを使用してロードされた画像からピクセルを読み取る必要があります。「pyglet.image.load('map.png')」を使用して画像を読み込みましたが、img.get_image_data()を使用して画像データを取得できることがわかりました。私はラインを使用しますmapImage.get_region(x,y,1,1).get_image_data().get_data("RGBA", 4)
(x、y)にあるピクセルからデータを読み取ります。これは私が立ち往生しているところです。上記の行の結果を印刷すると、空のスペースが表示されます。get_data()関数によって返された文字列からRGB値を抽出する方法を誰かが明確にできますか?
ありがとう!
python - opengl で 2d と 3d を混合する (pyglet を使用)
私は pyglet の opengl で 2d と 3d を混在させようとしています。つまり、3d シーンを描画してから、正射投影に切り替えて、その上に描画します。3 次元のものを描画し、射影行列をスタックにプッシュし、glOrtho 射影行列を実行し、2 次元のものを描画してから、前の行列をスタックからポップします。3D 部分は問題なく描画されますが、何らかの理由で 2D 部分は単独でもまったく描画されません。コードは次のとおりです。
python - pygame+rabbytからpyglet+rabbytに移行するときに座標が変更されました
私は2Dゲームに取り組んでおり、SDLからOpenGLに切り替えることにしました。スプライトをレンダリングし、物理学にpymunk(シマリス)を使用するためのopenglラッパーとしてrabbytを使用しました。ウィンドウの作成にはpygameを使用し、画面にスプライトを描画するためにrabbytを使用しました。
pygame + rabbytを使用すると、(0,0)座標が画面の中央にあることがわかりました。物理エンジンの座標表現はグラフィックエンジンの座標表現と同じだったので、その事実が気に入りました(スプライトをレンダリングするときに座標を再計算する必要はありません)。
次に、OpenGLで線を描きたかったので、ピグレットに切り替えました。突然、(0,0)座標が画面の左下にあることがわかりました。
それはglViewport関数と関係があるのではないかと思いましたが、rabbytだけがその関数を実行し、ウィンドウのサイズが変更されたときにのみpygletがそれに触れます。
画面中央に(0,0)座標を設定するにはどうすればよいですか?
私はOpenGLにあまり精通しておらず、数時間のグーグルと試行錯誤の後で何も見つかりませんでした...誰かが私を助けてくれることを願っています:)
編集:いくつかの追加情報:)
これは私のピグレット画面の初期化コードです:
これは私のpygame画面の初期化コードです:
編集2:pygletとpygameのソースを調べましたが、OpenGLビューポートと関係のある画面初期化コードには何も見つかりませんでした...2つのrabbyt関数のソースは次のとおりです。
ありがとう、ステッフェン
python - 3D openGL ワールドで 2D インターフェイスを作成する際の問題
「上に」レンダリングされた 2D インターフェイスまたは 3D ワールドを作成する必要があるプロジェクトに取り組んでいます。他のいくつかのフォーラムで、仕事に「GluOrtho2D()」を使用し、完了したら GluPerspective() に戻すことができると読みました。唯一のことは、私が書いたテスト コードは、2D クワッドではなく、3D ワールドのみを表示するということです。ただし、3D レンダリング コードを無効にすると、クワッドが本来あるべき場所に表示されます。コードを openGL のみのステートメントに切り詰め、以下に書き留めました。コードは、Pyglet ライブラリを使用して Python で記述されています。
シーンの初期化コード:
フレーム レンダリング コード。builder.buildMap() の呼び出しによって 3D シーンが作成され、glBegin-glEnd のペアによって 2D クワッドが描画されます。
stage.set3DMode 関数:
および stage.set3DMode 関数:
誰かが私の間違いを指摘してくれることを本当に願っています!そして、私を助けてくれてありがとう:)
python - 3D ゲームの構造を整理するには?
少し漠然とした質問ですが、ご容赦ください。Python/Pyglet と openGL を使用してゲームを作成中です。私は現在、「ワールド」と呼ばれるオブジェクトが存在するように構造化しています。これには、他のオブジェクトが内部にある他のオブジェクトなどがあります。たとえば、ゲームの一部が他のオブジェクトを含むプラットフォームであるため、このようにしました。プラットフォームを傾けると、その上にあるオブジェクトも一緒に傾きます。したがって、glRotate、glTranslate を呼び出す platform.draw() を実行し、モデルビュー マトリックスを間に保存して各オブジェクトを描画します。このようにして、プラットフォーム上のすべてのオブジェクトが一緒に移動します。最初の質問は、これは物事を整理するための賢明な方法ですか、それとも他の方法を使用する必要があるかということです。
カメラクラスはありません。現在、世界全体またはその一部を翻訳して、動きの錯覚を与えています。ただし、将来的には、オブジェクト間で視点を切り替えることができるようにしたいと考えています。たとえば、上から世界を見下ろすことから、世界のオブジェクトの 1 つからの一人称視点に切り替えることができます。2 番目の質問は、これを将来達成できるようにプログラムを構成する最善の方法は何かということです。