問題タブ [textures]

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

c++ - SDL_surface から OpenGL テクスチャへ

SDL_Surface をロードして OpenGL テクスチャとして保存するスクリプトがあります。

問題は、それが機能していないことです。メイン関数から関数を呼び出すと、画像が読み込まれず(表示時に描画色が変わるだけです)、メイン関数外の関数から呼び出すと、プログラムがクラッシュします。プログラムをクラッシュさせるのは次の行です。

誰でもこれで間違いを見ることができますか?

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

opengl - OpenGL テクスチャに独自のミップマップ作成アルゴリズムを使用することは理にかなっていますか?

組み込みの自動アルゴリズムではなく、独自のアルゴリズムを使用して事前に生成した場合、テクスチャ ミップマップの品質が向上するかどうか疑問に思っていました。おそらく、Lanczos のリサンプリングのような、遅いがきれいなアルゴリズムを使用するでしょう。

それは理にかなっていますか?最新のグラフィックス カードで品質が向上しますか?

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

c# - 画像のセクションをビットマップC#Winformsにレンダリングします

自由時間に設計しているXNAゲームのマップエディターに取り組んでいます。マップで使用される芸術作品は単一のテクスチャに保存され、長方形は座標や幅などで保存されます。

winformsアプリケーションでは、可能なセグメントの配列から入力されたリストボックスから必要なセグメントを選択することにより、セグメントを追加できます。

問題は、選択したセグメントのプレビューを表示できるようにしたいことです。これは共通のテクスチャに保存されているため、画像を表示するようにピクチャーボックスを設定するだけでは不十分です。

長方形の情報(.x、.y、.width、.height)を使用して、画像のセクションのみを画像ボックスに表示したり、セクションをビットマップにブリットして表示したりする方法はありますか?

どうもありがとう

マイケル・アレン

0 投票する
5 に答える
4860 参照

iphone - タイリングにもかかわらず、512x512 テクスチャが iPhone で大きな GPU ストレスを引き起こす

シンプルな OpenGL ES 実装 (2D ゲーム) を iPhone でテストしていますが、プロファイラーの使用中にレンダリングの使用率が高いことに気付きました。これらは事実です:

  • プリロードされた大きなテクスチャ( 512x512 ピクセル) を 1 つだけ 60fps で表示しており、レンダリングの使用率は約 40% です。
  • 私のテクスチャは、私が使用している唯一の GL 関数である をGL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA使用してブレンドされています。
  • テクスチャを小さくしてタイリングしようとしましたが、違いはありませんでした。
  • 1024x1024 ピクセルの PNG テクスチャ アトラスを使用しています

この1 つのテクスチャがこれほど激しい GPU 使用率を引き起こしているのは非常に奇妙です。

これは予想されることですか?私は何を間違っていますか?

編集:私のコード:

編集:いくつかの改善を行いましたが、レンダリングの使用率を下げることはできませんでした。テクスチャを 32x32 の部分に分割し、座標のタイプとテクスチャ座標を GLfloat から GLshort に変更し、縮退三角形の頂点を追加しました。

アップデートは次のとおりです。

initState: (頂点とテクスチャ ポインターは GL_SHORT になりました)

drawView:

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

opengl - OpenGL - その画面より小さい画面からテクスチャをコピーする

画面自体よりも解像度の低いテクスチャに画面をキャプチャしようとしています (画面にレンダリングし直し、ブラー/ブルーム効果を作成するため)、うまく機能しません。これを行うためにミップマップを使用できることは理解していますが、コマンドの正しいシーケンスを機能させることができません。

私の現在のコード:

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

opengl-es - 任意のサイズのピクセル ブロックを OpenGL ES テクスチャにコピーする...どういうわけか?

私は描画アプリケーションを作成しており、描画キャンバスは OpenGL テクスチャです。キャンバスに描画すると、キャンバス テクスチャのどの領域が変更されたかが判断され、変更を適用する前にそのピクセル データが (glReadPixels を使用して) コピーされます。

元に戻すには、コピーしたピクセル データを使用して以前のテクスチャの状態に戻したいだけです。ただし、OpenGL ES は glDrawPixels コマンドを提供しません。それを行う最良の方法は何ですか?

2 つのオプションを検討しましたが、どちらが優れているかはわかりません。

  1. コピーしたピクセルを使用して一時的なテクスチャを作成し、それを描画します (ただし、コピーされた領域は 2 のべき乗ではありません!)。

  2. 大きなキャンバス テクスチャを完全にバインド解除し、テクスチャのバイトを手動で変更してから、OpenGL に戻します。私はいかなる種類の圧縮も使用していないので、これはそれほど悪くないかもしれません. しかし、それはハックのようですか?

誰にもアイデアはありますか?本当に感謝します!

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

iphone - iPhone : 64x64より大きいテクスチャ?

私はGLPaintの例を取り上げました...「PaintingView」に背景を入れようとしているので、背景の上に描画して、最終的に画像をファイルとして保存できます.....私は迷っています。

PNG (512x512) を読み込んで、プログラムの最初で「ペイント」しようとしましたが、512x512 ではなく 64x64 としてペイントされました...

前に、ペイント ビューのサブビューとしてロードしようとしましたが、glReadPixels が期待どおりに機能しません (サブビューではなく、PaintingView のみが考慮されます)。また、PaintingView には initWithImage のようなメソッドがありません... 画像 (および変更) で glReadPixels が機能する必要がありますが、ロード時にテクスチャのサイズが 64x64 になる理由が本当にわかりません..

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

opengl - XNAまたはOpenGL球テクスチャマッピング

完全に通常のテクスチャを球にマッピングしようとしています。

テクスチャをラップされたものに変更できないので、マッピング関数を見つける必要があります。

これは私の頂点シェーダーコードです:

ここから直接:http: //blogs.msdn.com/coding4fun/archive/2006/10/31/912562.aspx

これは私のフラグメントシェーダーです:

このスクリーンショットでわかるように:http://img189.imageshack.us/img189/4695/sphereproblem.png、それは球の亀裂を示しています...そしてこれは私が修正しようとしているものです。(使用されるテクスチャ:http://img197.imageshack.us/img197/56/debug.jpg

XNA Webサイトの最初のコメントは、次を使用して問題を実際に修正します。device.RenderState.Wrap0 = WrapCoordinates.Zero;

しかし、私はXNAの内部について十分に理解していないため、この特定の問題でこれが何を解決するのか理解できません。

Web全体で、同じことを経験し、補間エラーに関する報告がありますが、これをフラグメントシェーダー(ピクセル/フラグメントごと)として直接実装しているため、この問題は発生しないはずです(補間がないテクスチャuv)。

これに関する情報/解決策はありますか?

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

winforms - C# Winforms で複数の画像をビットマップにレンダリングする

XNA でゲームを作成するために使用する一連のアプリケーションを開発しています。Graphics.drawImage を使用すると、XNA texture2D オブジェクトから簡単にプレビュー イメージを描画できます。

キャラクター、マップなどの各オブジェクトはパーツのリストで構成され、各パーツは位置の回転やテクスチャ ソースなどの情報を格納します。次のステップは、オブジェクトの一部ではなく全体のプレビューをレンダリングすることです。

これについてどうすればいいですか?Graphics.drawImage を通常の XNA 描画呼び出しとして扱い、List をループして各項目をビットマップに適切な位置と順序で描画することにより、必要なオブジェクトのセクションをビットマップにレンダリングすることはできますか? または、各 graphics.DrawImage 呼び出しは、描画先のビットマップを破棄しますか?

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

iphone - プログラムで iPhone のテクスチャ メモリの使用状況を確認する

iPhone で OpenGL ES テクスチャ メモリの使用状況をプログラムで確認する方法はありますか?

Instrumentsを使用して監視できることは知っていますが、アプリで行うことは可能です。