問題タブ [texture2d]

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 に答える
714 参照

iphone - JPEG 用の iPhone OpenGL ES テクスチャ パイプライン

テクスチャ パイプラインを JPEG で動作させるのに問題があります。PNG ではすべてが正常に機能しますが、変換が問題でした。

UIImage と CGBitmapContextCreate を介して画像データを読み込んでいます

次に、呼び出しでGLTextureをセットアップします...

この glTexImage2D 呼び出しが問題だと思われます。私はさまざまな組み合わせを使用して、物事を機能させようとしました。アルファの BitmapInfo 状態は「kCGImageAlphaNoneSkipLast」であるため、RGBA と GL_UNSIGNED_SHORT_5_5_5_1 を使用する必要があるかどうかはわかりませんが、これまでに試した組み合わせはありません。一番近かったのは…

これにより、テクスチャが非常に吹き飛ばされました(色のエッジは識別できましたが、すべてが明るすぎました)

どんな助けでも素晴らしいでしょう。PNGよりもスペースを節約するためにJPEGを使用しています。

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

opengl - 同じシェーダーの GLSL textureCube と texture2D

1 つのシェーダーでtexture2D()との両方を使用できないようです。textureCube()私が行うと、何も表示されず、エラーもありません。独自のシェーダー ローダーと Apple GLSL シェーダー ビルダーの両方でこれを試しましたが、同じことが起こりました。textureCube()頂点シェーダーとフラグメントにある場合でも発生texture2D()します。単独では問題ないように見えますが、呼び出されるとすぐに、どの順序でも何も表示されません。

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

cocos2d-iphone - cocos2d-iphoneでTexture2Dを回転させる方法

cocos2d-iphone を使用してゲームを作成しています。Texture2D を 20 度回転させたいのですが、どうすればよいですか?

試してみglRotate(20.0f, 0.0f, 0.0f, 1.0f)ましたが、うまくいきません。

アイデアはありますか?

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

java - Java OpenGL 画面サイズのテクスチャ マップ クワッド

Java OpenGL (JOGL) アプリがあり、画面全体をカバーするテクスチャ マップ クワッドを作成しようとしています。いくつかのピクセルをバッファに描画してから、それらのピクセルをテクスチャに読み込んで、画面上に再描画します (フラグメント シェーダを適用して)。テクスチャをビューポートにマッピングするための私のコードは次のとおりです。

最終結果は、ビューポート全体をカバーしていない (部分的にオンになっている) クワッドであり、バッファーからのピクセルが含まれていません。ここで間違っていることは何ですか?

ありがとう、ジェフ

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

c++ - 「マッピング済みエラー」の原因となる動的テクスチャのマッピング

Direct3D11を使い始めたばかりで、1秒間に数回新しいデータで更新する予定の動的テクスチャを作成しようとしています。私の問題は、新しいデータでテクスチャを更新するたびに、D3Dデバッガーから次のエラーが発生することです。

D3D11:エラー:ID3D11DeviceContext :: Map:このリソースはすでにマップされています![RESOURCE_MANIPULATION ERROR#2097213:RESOURCE_MAP_ALREADYMAPPED]

これは、アプリケーションをしばらく実行した後、最終的にMap呼び出しからのE_OUTOFMEMORYエラーになります。

私は次のようなテクスチャを作成しています:

次のようにデータを更新します。

テクスチャを作成してデータをマップする前に、プログラムで行ったのはDirect3Dデバイスを初期化することだけです。私は自分が間違っていることに完全に困惑しています。私はこれについてmsdnでできる限り多くのことを読み込もうとしてきましたが、何が問題になっているのかを理解するのに何の助けにもなりませんでした。msdnによると、私は適切な手順を踏んでいます。

http://msdn.microsoft.com/en-us/library/ff476905(v=vs.85).aspx#Dynamic

テクスチャの説明も正しく記入していると確信しています。

この問題は、d3dデバイスの初期化に起因している可能性がありますか?マップ機能を誤用していませんか?十分な背景情報を提供しませんでしたか?何が起こっているのかについて何かアイデアはありますか?

追加情報:頂点シェーダーの定数バッファーにデータをマップしようとすると、同じ「リソースが既にマップされています」エラーが発生します。また、別のコンピューターでテストしたところ、同じマッピングの問題が発生しました。

更新:D3D11のチュートリアルコードをダウンロードし、テクスチャの作成とマッピングコードを取得して、チュートリアルコードがd3dの初期化を完了した直後にそれを挿入しました。マッピングエラーが発生するかどうかを確認したかっただけです。予想どおり、「リソースは既にマップされています」というエラーは発生しませんでした。さらに、チュートリアルからd3d初期化コードをコピーして自分のものに置き換えると、リソースのマップ済みエラーが発生し、d3dを初期化する前にウィンドウを作成するだけなので、さらに混乱します。

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

jquery - JQuery.getからダウンロードしたデータをArrayBufferに変換するにはどうすればよいですか?

私は過去3日間、私が知っているさまざまなキーワードを使ってこれに対する答えを見つけようとしましたが、遠くまで行くことができませんでした。私はJavaScript/WebGLを初めて使用するので、これは私の側では完全に無知である可能性があります。その場合はご容赦ください。

これは、サーバーからバイナリファイル(カスタムイメージファイル形式)をダウンロードし、ダウンロードしたデータから最初の4バイト(Int32)を読み取るために行うことです。

ダウンロードされたデータ「imageData」はサーバー上のファイルとして正しいサイズ(imageData.length)であるため、ダウンロードは成功したと思います。

ダウンロードしたファイルを読み込んで、ヘッダー情報を抽出します(WebGL Texture2Dの残りの画像データを表示に使用します)。したがって、問題は次のとおりです。ダウンロードされたカスタム画像(WebGLでテクスチャとして使用するため)を処理する方法はありますか?そうでない場合、あなたの推奨事項は何でしょうか?

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

xna - XNAは実行時にTexture2Dに描画/ペイントします

すべての朝(あなたがいる朝の場合)

私は周りを見回していて、これを行うための満足のいく方法を見ていませんでしたので、私は周りに尋ねると思いました...

理想的な世界透明なTexture2Dオブジェクトを生成できるようにしたいと思います。これを画面に描画して「ペイント」できるようにします。つまり、マウスの左ボタンを押したときに、カーソルが置かれているピクセルを黒に設定する必要があります。これに続いて、このテクスチャを使用できるようにする必要があります。

テクスチャの使用は簡単です。「ペイント」オブジェクトの新しいTexture2D属性を作成し、それをSpriteBatch.Drawメソッドで使用するだけです。2つのトリッキーな部分は

  1. コード内の透明度で満たされた、指定されたサイズのtexture2Dオブジェクトを生成します。
  2. そのtexture2Dをその場で編集する(つまり、ピクセルの色を変更できる)

誰かがこれらの経験を持っているなら、あなたが入力することは非常にありがたいです。

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

texture2d - 複数のテクスチャが表示されない

私はDirectX10の初心者です。現在、Direct10 アプリケーションを開発しています。ユーザーの入力に従って手動で塗りつぶされた 2 つのテクスチャを混合します。現在の実装は

  1. D3D10_USAGE_STAGING を使用して 2 つの空のテクスチャを作成します。
  2. シェーダーが必要とするため、ピクセル シェーダーにバインドする 2 つのリソース シェーダー ビューを作成します。
  3. CopyResource を呼び出して、テクスチャを GPU メモリにコピーします。

問題は、最初のテクスチャしか見えず、2 番目のテクスチャが見えないことです。バインディングが 2 番目のテクスチャでは機能しないようです。

何が悪いのかわからない。ここで誰かが私に光を当てることができますか?

ありがとう、マーシャル

クラス COverlayTexture は、テクスチャの作成、リソース ビューの作成、別のアプリケーションからのマップされたビットマップでのテクスチャの塗りつぶし、リソース ビューのピクセル シェーダーへのバインドを担当します。

クラス COverlayTexture の 2 つのインスタンスを使用します。それぞれが独自のビットマップをテクスチャに塗りつぶし、シーケンス COverlayTexture[1]、次に COverlayTexture[0] でレンダリングします。

FX ファイルのブレンド状態設定は、次のように定義されています。

FX ファイルのピクセル シェーダーは次のように定義されています。

再度、感謝します。

パウロの編集:

どうもありがとう、パウロ。問題は、オブジェクトのどのインスタンスをアルファ テクスチャまたはディフューズ テクスチャにバインドする必要があるかということです。テストとして、COverlayTexture[0] をアルファにバインドし、COverlayTexture[1] を拡散テクスチャにバインドします。

2 つのリソース ビューの PSSetShaderResources を呼び出しました。

結果、何も見えません。チャンネル x、y、z、w も試しました。

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

iphone - iPhone OpenGL ES バックグラウンド テクスチャの問題

その上にさらにオブジェクトを描画することを期待して、.png ファイルを OpenGL の背景として設定しようとしています。320x480 RGB 画像の画像があります。次のように頂点を設定します。

コードを実行すると、画像ではなく、フルスクリーンの灰色のボックスよりも小さく表示されます。私が間違っていることは何ですか?

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

c# - XNA の新しい Texture2D は古いデータを保持します

XNA フレームワークに関する知識が相対的に不足しているため、修正できないと思われる奇妙な問題があります。

基本的に、Texture2D の新しいインスタンスに設定された Texture2D 参照があります。実行時に一部のピクセルが設定され、ゲームループで描画されるため、これはすべてうまく機能します。

奇妙なことに、参照を null に設定すると (null でない場合にのみ描画されます)、期待どおりに描画されません。

後で、新しい Texture2D への参照を設定すると、画面への描画が開始されます。問題は、元の Texture2D オブジェクトのすべてのデータを保持していることです。

編集

申し訳ありませんが、以前は明確ではありませんでした。

私が持っているのは、このようなものです...

2回目の編集

また、for ループを設定し、テクスチャの作成後にテクスチャのすべてのピクセルを手動で色に設定しました。これは機能しますが、以前に設定した色としてピクセルを表示します。これは非常に奇妙です。


このスレッドは無視してください。この問題は非常に恥ずかしいことに、私自身がやったものです。変更するピクセルをバッファリングするコードがいくつかありましたが、そうです...あなたはそれをクリアしていないと推測し、新しいテクスチャインスタンスで作業をやり直していました。

とても恥ずかしい……。