問題タブ [dds-format]
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.
graphics - DDS ファイルで、アルファ ビットが 0/1 のテクスチャを検出できますか?
私のエンジンでは、アルファが 0 のテクセルを持つ DXT1 テクスチャを検出できるようにする必要があります (ウィンドウ フレームのカットアウトなど)。これは、自分で圧縮したテクスチャでは簡単ですが、既に圧縮されているテクスチャについてはわかりません。
DDS イメージにアルファが含まれているかどうかをヘッダーから簡単に判断する方法はありますか?
c# - .ddsファイルをピクチャーボックスにロードする方法は?
.ddsテクスチャファイルをC#の画像としてロードするにはどうすればよいですか?私が見つけることができるグーグルで役に立つものは何もありません。
サンプルの情報が多ければ多いほど、理解しやすくなります。
compression - * .DDSファイルはすばやくロードできるようになっていると思いましたか?
さて、私はさまざまな異なるテクスチャ圧縮技術を使用することの賛否両論を比較検討しようとしています。DirectXを使用してWindowsマシン用の2Dスプライトゲームをコーディングする時間の99.999%を費やしています。
これまで、アルファトリミングを使用したテクスチャパッキング(SpriteSheets)を見てきましたが、これはもう少しパフォーマンスを上げるための適切な方法のようです。今、私はそれらが保存されているテクスチャフォーマットを見始めています。現在、すべてが*.PNGとして保存されています。
* .DDSファイルは、テクスチャがVRAMで圧縮されたままなので、特にDXT5(タスクによっては/3/1)圧縮で使用する場合に適していると聞きました。また、すでにDirectDrawサーフェスであるため、ロードもはるかに高速であると言われています。
そこで、これをテストするためのアプリケーションを作成しました。下の行を20回呼び出し、各呼び出しの間にテクスチャを解放します。
DXT5テクスチャでこれを試してみると、単純な*.PNGでロードする場合よりも完了するのに5倍の時間がかかります。ミップマップを生成しないと遅くなる可能性があると聞いたので、それを再確認しました。次に、*。DDSファイルを生成するために使用していたプログラムを変更し、NVIDIA独自のnvcompress.exeに切り替えましたが、いずれも効果がありませんでした。
編集:ファイル(*.pngと*.ddsの両方)は両方とも同じ画像であり、異なる形式で保存されていることを忘れました。(同じサイズ、アルファの量、すべて!)
編集2:次のパラメータを使用すると、ロードがほぼ2.5倍速くなり、消費するVRAMが大幅に少なくなります。
ただし、テクスチャの透明度がすべて失われています。DXT5テクスチャを確認しましたが、Paint.NETおよびDirectXDDSViewerでは問題なく表示されます。ただし、すべての透明度をロードすると、黒一色に変わります。ColorKeyの問題?
編集3:その最後のビットを無視して、私はばかげていて、私の「簡単な例」では、D3DXSprite-> Begin()でアルファブレンドを有効にするのを忘れていました。ドー!
c++ - DDS DXT1 を OpenGL にロードするとクラッシュする
私のコードの何が問題なのですか?glCompressedTexImage2D() を実行すると、プログラムがクラッシュします (Windows XP のクラッシュ メッセージが表示されます...)
ミップマップなしで DDS イメージを読み込もうとしています。イメージ形式は DDS DXT1 です
インクルード ファイルが不足していますか、それとも何が間違っていましたか? 含まれているファイルを http://sourceforge.net/projects/glew/files/glew/1.5.1/gew-1.5.1-win32.zip/downloadからダウンロードしました
.exe と同じフォルダーに glew32.dll があります。
以下のコードには、DDS イメージをロードできるように変更した部分のみが含まれています。
windows - クロスプラットフォームの .DDS ファイルを作成する必要があります。誰か例を教えてもらえますか?
OSX と Windows の両方で実行されるコードを含む .DDS ファイルを作成する必要があります。フォーマットは難しそうに見えませんが、ファイルの書き方の例が欲しいです。読む必要はありません。ただ書いてください。
C または C++ および RGBA ビットマップ。
c++ - DDS圧縮画像を使用したOpenGLでのキューブマッピング?
DDS キューブ マップを使用しているときにキューブ マッピングに問題があります。単純な何かが欠けていると思われる黒いキューブが表示されます。これまでのコードは次のとおりです。
このコードが呼び出されたら、glBindTexture を使用してテクスチャをバインドし、GL_QUADS と glTexCoord3f を使用して立方体を描画します。
png - Compressonator は dds をアルファチャンネル付きの png に変換します
アルファチャンネルでddsをpngに変換するコマンドは何ですか?
このコマンドを使用する場合:
出力pngはアルファチャンネルを使用しません。を開きTheCompressonator.exe
、[編集] -> [アルファ チャンネルの作成] を選択し、ファイルを選択してオリジナルを png に保存すると、png ファイルにはアルファ チャンネルが含まれますが、変換が必要な dds ファイルがたくさんあります。
c++ - Directx11: 特定のスプライトのアルファ ブレンディングを削除
背景: - Directx 11 プログラミングを学ぶために過去 6 週間を費やしてきました。
それ自体が 2D スプライトでもある 2D 背景に 2D スプライトを描画しようとしています。問題は、これらの2行
d3dDevice_->CreateBlendState( &blendDesc, &alphaBlendState_ );
d3dContext_->OMSetBlendState( alphaBlendState_, blendFactor, 0xFFFFFFFF );
dds 画像のアルファ透明度を有効にします。スプライトをブレンドするオプションが欲しいのですが、現在、すべてのスプライトが青色の背景とブレンドされているため、青いロゴやアイコンなどが作成されています.
DirectX 11 でアルファ ブレンディングが特定の画像を無視するようにするにはどうすればよいですか?
バックグラウンド スプライトが最初に描画されるため、すべてのスプライトが青にならずに他のスプライトをレンダリングするときに、コードの後半で Blending をアクティブにすることはできません。
前もって感謝します :)
編集: 私は過去 3 週間、この問題に取り組んできましたが、まだ解決策がありません。DeviceContext でブレンド状態が有効になるたびに、レンダリングの順序に関係なく、画面に描画されるすべてのテクスチャに適用されるようです。
ヘッダー ファイルのソース コードは次のとおりです。
cpp ファイルのソース コードは次のとおりです (基本クラス DxD11DemoClass は SwapChain と D3DContext のみを設定するため、必要ありません)。
ブレンディング有効で描画した結果の画面 http://i49.tinypic.com/33kao9v.jpg
ここに、私が使用している 2 つの FX ファイルの HLSL コードがあります (1 つ目はスプライト用、2 つ目はテキスト用)。
TextureMap.fx
TextMap.fx
ピクセル シェーダーを使用して特定の 2D 画像のアルファ ブレンディングを実行することを考えていましたが、最初の試みはまったく機能しませんでした。
誰かが何とか解決策を見つけてくれることを願っています:)
そして助けてくれてありがとう。
compression - DXT 圧縮は元の PNG と同じファイルサイズを生成します
元の PNG から DXT 圧縮を使用して、テクスチャを DDS 形式に変換/圧縮しようとしています。私は Mac を使用しているので、Graphic Converter を使用しています (他のツールも試しました)。しかし、使用するDXTレベル(DXT1-5)に関係なく、ファイルサイズは元のPNGとほぼ同じです。
c# - 完全に黒く表示されている OpenTK テクスチャ
よし、他のプログラムで問題なく動作するコードをいくつか取得し、それを現在取り組んでいる新しいプログラムにコピーしましたが、必要なものがすべて揃っていることがわかっている限り、動作していないようですそこに線が表示されますが、テクスチャが表示されるのをサポートする領域は黒い四角を表示するだけです.
行が抜けていると思いますが、それが何であるかわかりません。控えめに言っても、私はかなり困惑しています。
これが私のopenglセットアップです:
これは、テクスチャをロードしてテクスチャ ID を返すメソッドです。これを変数に保存します。(file.writeallbytes は単なるテストです。Photoshop で問題なく開くことができました)
そして、私の描画方法は次のようになります。
編集:テクスチャは表示されますが、別の色の値を設定してもテクスチャは完全に黒です(通常、テクスチャの色相が変わります)