問題タブ [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 投票する
2 に答える
1390 参照

c# - XNA4.0-アルファおよび複数のテクスチャ...めちゃくちゃ

ある種のスライドメニューを作成しようとしています...ユーザーがアイコンに触れてスライドすると、画像が上下にスライドします(最近の電話やカジノマシンのフルーツなど)

私は透明な円を持っています、そして3つのアイコンを言うことができます...どうすればそれらをそのようにブレンドできますか?

アイテム:

http://i52.tinypic.com/rcn67s.jpg

問題:

http://i52.tinypic.com/i77nrk.jpg

私はそれらをspriteBatchによって順番に1つずつ描画させることができますが、そのようにそれらをブレンドする方法は?

簡単かもしれませんが、行き詰まってしまい申し訳ありません。

ありがとう!

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

opengl - パーティクル システムに追加した後、glTexSubImage2d が機能しない (各パーティクルにテクスチャがある)

glTexSubImage2d を使用して、GL 初期化で glTexImage2d で初期化された数フレームごとにテクスチャを更新していました。各パーティクル自体にテクスチャを適用したパーティクル システムを追加した後、glTexSubImage2d テクスチャを表示するクワッドが表示されません。

パーティクルのテクスチャは PNG であるため、SDL を使用して PNG を SDL サーフェスにロードし、glTexImage2d を使用して PNG をテクスチャにバインドします。

クワッドの glTexSubImage2d 呼び出しを glTexImage2d 呼び出しに変更すると、テクスチャが表示されますが、これは非常に非効率的であり、フレームレートが少なくとも半分になるため、glTexSubImage2d を使用することをお勧めします (以前は機能していたように)。

glTexSubImage2d を使用できない理由を知っている人はいますか?

以下は、テクスチャの初期化とバインドに関連するコードです。

パーティクル テクスチャの読み込み

クワッドのテクスチャを設定する:

initGL() での唯一の呼び出しは、GL_TEXTURE_2D の有効化、GL_BLEND の glBlendFunc() の設定、および上記のクワッドのテクスチャの設定です。

何か案は?

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

arrays - HLSLピクセルシェーダーのレンダリングターゲットとしてのTexture2D配列

現在、レンダリングパスからの2、3のテクスチャに相当するピクセルごとのデータ(法線、深度、色)が必要です。

本質的に同じシェーダー(WorldViewPos乗算など)で3つのパスを実行する代わりに、それぞれが異なるタイプのデータをレンダーターゲットのテクスチャに出力します(たとえば、色の場合は1パス、深度の場合は1パス、法線の場合は1パス)。 ); ピクセルシェーダーのレンダリングターゲットとして、Texture3Dオブジェクトまたは理想的にはTexture2D配列を使用したいと思います。そうすれば、これらの3つのレンダリングパスを1つに減らして、すべてのデータを一度に出力できます。

残念ながら、私が見つけた唯一の例は、ジオメトリシェーダーの例です。ピクセルシェーダー内にデータを送信するテクスチャ配列内のテクスチャを指定する方法はありますか?

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

c# - xnaのテクスチャから長方形を描画するさまざまな方法のパフォーマンスの違いは?

私は夏のプロジェクトとしてpaJRPG/ダンジョンクローラーを開発しようとしていますが、コードをクリーンアップしています。戦闘では「ヘルスバー」が存在し、1つのヘルスバーはキャラクターごとに描画する必要のある3つの長方形で構成されます(コンテキストに応じて合計2〜8文字は、一度に最大24のヒールバー長方形を意味します)。

ヒールバーを描画する私の古い方法は、長方形の領域から1つのピクセルを取得し、その上に描画する1つのテクスチャに基づいていました。基本的に、「HealtBar」テクスチャをカラーパレットとして使用しました。たとえば、ソースの長方形が(0、0、1、1)の場合、黒い長方形を描画するために表されます。

これは見栄えの良いソリューションではありません...代わりに、コードの量を減らし、コードの明確さの量を増やす抽象クラスを作成しようとしました。

新しいDrawerクラスを使用すると、「mHealthBar」変数を破棄して、より見栄えの良いコード方法で長方形を描画できます。しかし、ゲームを描画するための新しい方法を使い始めたとき、フレームレートの問題が発生し始めました。古い方法はスムーズでした...フレームレートの問題の理由は何ですか?

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

c# - Texture2D への XNA レンダリング

では、texture2d を別のものにレンダリングするにはどうすればよいでしょうか。私はそれが可能だと確信しています。

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

c# - Accessing the data in a SlimDX Texture2D object

How do I access the data in a Texture2D object? Lots of XNA posts suggest using the function Texture2D.GetData but that appears to be missing in the SlimDX version of a Texture2D. I need to process my image to calculate overall luminance of the scene and don't want to be running 300 accesses in a pixel shader (i.e. 300 access * num_pixels per frame) when I could be doing it once per frame.

All I need to be able to do is access the colour (R32G32B32A32) of the texture.

Ah I reckon I've found it thanks to the SlimDX SDK. The Texture2D.ToStream() method sends the texture data to a memory stream, then I simply have to parse the bytes to get at my data. I'll submit this as an answer if it works for me.

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

directx - GPUメモリの表示/デバッグ用のTexture2Dメモリスペースの表示

実装しようとしているPixelShaderと、現在行っていることについて質問があります(これは、デバッグと理解を目的としたものです)。

ポイントは、これは常に0,0,0,1です

テクスチャバッファが作成されます:

テクスチャ(最後にライブディスプレイになるはずです)を次の方法でアップロードします。

resource.pDataを確認しました。そこにあるデータは、有効な8ビットのモノクロ画像です。カメラからのデータが8ビットモノクロ640x480であることを確認しました。

私が完全に理解していないことがいくつかあります。

  • すべてのフレームでMap/memcpy / Unmapルーチンを実行すると、ドライバーが最終的にクラッシュし、システムが応答しなくなります。フレームごとに完全なテクスチャを更新する別の方法はありますか?
  • アップロードしたテクスチャは8ビットですが、Texture2D.load()がfloat4を返すのはなぜですか?テクスチャデータにアクセスするには、別の方法を使用する必要がありますか?私はそれを.sampleしようとしましたが、それもうまくいきませんでした。代わりにintバッファなどを使用する必要がありますか?
  • GPUメモリをデバッグして、memcpyが最初に機能したかどうかを確認する方法はありますか?
0 投票する
1 に答える
504 参照

ipad - OpenGLESで2つの透明なTexture2Dをオーバーラップさせる

OpenGLを使ってiPad用の2Dゲームを作ろうとしています。私は一般的にOpenGLに慣れていないので、このブレンドは新しいものです。

私の描画コードは次のようになります。

(「テクスチャ」は背景が透明なTexture2Dです)テクスチャの周りの青いボックスが他のボックスを覆わないようにする方法を知る必要があります。

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

c# - Texture2D:SetDataが機能しない

プログラムで作成されたテクスチャを使用した一種の床が欲しいのですが。作業に必要な頂点とインデックスをすでに作成しました。

次に、表示したいテクスチャとデータを作成しました。

そして、これは私が描くために使用したコードです:

床は表示されていますが、テクスチャはすべて黒です。どうしたの?

御時間ありがとうございます。

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

android - 四角形にテキストをテクスチャとして描画しても何も表示されない

私は OpenGL が初めてで、Android 用の拡張現実アプリケーションを開発しています。

これまでは、カメラに垂直な白い四角形を描いて、ユーザーを「関心のあるポイント」の方向に向けていました。

今、私はいくつかのテキストを四角に表示しようとしています。

私はたくさん読んだことがありますが、テキストでテクスチャを作成するのが最も直接的で簡単なアプローチであるように思われるので、関心のあるポイントのデータを取得してそれらを正方形に貼り付けるとすぐにテクスチャを作成しています. そのために、ビットマップを使用します。

コードを見てみましょう。onDrawFrame メソッド内で、次のようなことを行います。

loadGLTextures の場所:

基本的に、各 Point of Interest のビットマップを作成し、それを使用してテクスチャを生成します。このクラスで示されているように、テクスチャは後で白い正方形に適用されます。

ここここで教えられているように、テクスチャをマッピングしようとしましたが、成功しませんでした。四角形に文字を描画するために何をすればよいか本当にわからず、ここで本当に迷っています... 四角形の反対側の面にテキストが描かれているのかもしれませんし、テクスチャが生成されていないのかもしれません...わからない。

どんな種類の助けでも大歓迎です。