問題タブ [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.
xna - XNAでTexture2Dの一部を透明にする
ゲーム開発を始めたばかりで、TankwarsやWormsのようなゲームがいいと思いました。これまで考えられる最も難しい部分は、地形を破壊可能にすることです。簡単な部分を実行する前に、それがどのように行われるかを知りたいと思います。
爆発には、さまざまな武器に合わせて拡大縮小できるマスクテクスチャが含まれる可能性があると思いました。次に、そのマスクを使用して、下にある地形を透明にする必要があります(オプションで暗い境界線を描画します)。
(出典:mikakolari.fi)
どうすればそれを達成できますか?アルファ値をピクセルごとに変更する必要がありますか、それとも何らかのマスキング手法を使用できますか?地形の上に青い円を描くことはできません。
XNAのバージョン3.1と4.0があります。
c# - OpenGLにグラフィックデバイスの機能を要求する方法(texture2DArray、サポートされているアンチエイリアシングモード)
OpenTK、C#、およびVisual Studio 2010を使用しています。グラフィックスデバイスがtexture2DArrayをサポートしているかどうか、およびどのアンチエイリアシングモードをサポートしているかを確認する必要があります。どんな助けでもありがたいです。
c# - Texture2Dを既存のTexture2Dに割り当てる
現在、C#XNA 4.0をいじっていますが、既存のTexture2DにTexture2Dを割り当てる際に問題が発生しています。以下に示すコードの例:
しかし、etc DrawでtexCurrentDiscを使用しようとすると、次のエラーが発生 します。このメソッドはこのパラメーターにnullを受け入れません。パラメータ名:texture。texCurrentDiscは、次のように初期化されます。Texture2D texCurrentDisc;
xna - XNA4.0 の 3D ワールドでアニメーション化された Texture2D をレンダリングするにはどうすればよいですか
これまで調べてきたように、xna で描画するには 2 つの方法があります。スプライトバッチを使用するか、アイテムを 3D ワールドに配置してから、カメラを使用してレンダリングします。
現在、私は 2.5D ゲームに取り組んでいます。より深いスプライトの変換を遅くするメカニズムを使用しているため、ゲームに本当に深みがあるように見えます。
ただし、エフェクト、つまり後処理を考慮すると、これらのエフェクトを中間レベルの深度にレンダリングする場合、つまり深度 = 0.5 のキャラクターにレンダリングする場合、深度 = 0.8 にフォアグラウンド ツリーがある場合、問題が生じる可能性があります。
したがって、実際の 3D の世界でゲームをレンダリングすることを検討しています。
しかし、これまでスプライトを配置して 3D の世界でアニメーション化する方法を探してきたので、見つけられませんでした。(正しいキーワードを知らなかったせいかもしれません。) 最も近いトピックは、XNA4.0 から削除された PointSprite に関するもので、そのように実装することはできませんでした。
私の質問は、アニメーション スプライト (つまり、キャラクターの動き) を 3D の世界でレンダリングするにはどうすればよいかということです。
ありがとう、ドーム
xna - XNAのContent.Loadはどのように行われますか動作しますか?
呼び出されるたびにアセットが実際にメモリに読み込まれるのか、それともルックアップされているのかを調べ、読み込まれていない場合は一度だけ読み込まれ、参照を保持するだけなので、2回目に呼び出されるのかどうかが気になります。それへの参照をつかむだけですか?
c++ - CUDAの2Dテクスチャのヘルプが必要です。必要なインデックスの期待値が得られない
2つの行列(AとB)、2次元があります。そして、グローバルメモリに入れてポインタを介してアクセスする代わりに、テクスチャ2dに入れて使用すると、少しスピードアップすると思います。行列はそれほど大きくなく、さまざまな位置がさまざまなスレッドによって読み取られます。
したがって、現在、私のコードはグローバルメモリを使用しており、取得した値は正しいので、マトリックス内のすべての値を乗算しています。
A[i][j] * B[ p[i] ] [ p[j] ]
私がテストしているインスタンスの最適値は9552
、別の値を取得することはできません。
9511
だから私はテクスチャに移動しました、そして私が今得たので、いくつかのフェッチが間違った値を返すようです。
CUDAでテクスチャを検索していたところ、[0..n-1]でインデックスが付けられていることがわかりました。しかし、それらにはいくつかの正規化されたアクセスと、フィルタリングのような他のいくつかのものがあり、必要な値はネイバーの補間です。
テクスチャのデフォルトオプションは何ですか?多分それが問題です。プログラミングガイドでデフォルトが見つかりませんでした。
関連するコードは次のとおりです。
宣言:
割り当て:
Memcpy
バインディングと記述子(私はばかげているので2つ作成しました)
そして私がそれを使うところ
では、どうすればテクスチャを正しく使用できますか?それとも、このようになっているのでしょうか。
編集:
これは、このメモリアクセスを使用するコードであり、コメント行はテクスチャを使用せず、完全に機能します。
c# - XNA で texture2d のサイズを変更してロードする
念のため、私はXNAの初心者です。私がやろうとしているのは、元のサイズとは異なるサイズのテクスチャをロードすることです。少なくとも、後でサイズを変更する可能性があります。私が使用できるいくつかの場所で見ます:
しかし、この方法でテクスチャをロードするとContentManagerが無視され、ガベージコレクターの仕事がより困難になっていることも読みました。
ContentManager を使用して任意のサイズの画像を読み込む正しい方法は何ですか? それが不可能な場合は、ズームを使用するように、サイズを比例的に変更できますか?
コンテキスト: nxn 個の平和のボードを作成しています。n が大きすぎると、ピースが自動的に小さくなる必要があります。
iphone - 複数のテクスチャを openGL ES の形状にマッピングすることは可能ですか?
私は初めてOpenGL ES
で、マップタイルをマップできる正方形のグリッドを表す三角形の束を作成したいと考えていました。OpenGL ES で同じ形状に個別のテクスチャをマップすることは可能ですか?それとも、グリッドのすべての正方形を独自のオブジェクトにする必要がありますか? ありがとう。
c# - OpenGL は ColorAttachment0 を Renderbuffer から Texture2D にコピーします
OpenTK と C# を使用しています。renderbuffer にレンダリングしていますが、そのコンテンツ (ColorAttachment0) を Texture2D にコピーして、後処理を行って画面に描画できるようにする必要があります。どうすればいいですか?レンダーバッファーの代わりにテクスチャを使用しますが、フレームバッファーをアンチエイリアスする必要があり、GL.RenderbufferStorageMultisample を使用することが唯一の方法です。
opengl - NPOT画像を追加の割り当てなしでPow-2テクスチャにglTexImage2dすることは可能ですか?
NPOTテクスチャをサポートしていないドライバーがまだかなりの数あることを発見したので、代わりに2Dエンジン(OpenTKに基づいており、OpenGLに基づいている)をTexture2Dサポートに後付けしようとしています。 GL_ARB_texture_rectangleに依存すること。この一環として、すべてのNPOTSテクスチャビットマップに、次の2の累乗サイズまで余分なスペースを割り当てるように強制しているため、これらのドライバーでエラーが発生することはありません。私の質問は、実際のビットマップとテクスチャのサイズを変更して、余分なメモリをすべて割り当てる必要があるのか、それとも2乗のサイズのテクスチャが必要であることをOpenGLに伝える方法があるのか、ということです。その一部は左上にありますか?
現在、私の電話は次のようになっています。
これは、bmpUseを、右と下に余分なスペースがある実際のテクスチャビットマップのコピーにした後です。