トップページ > プログラム > 2014年12月31日 > bes6lyZk

書き込み順位&時間帯一覧

34 位/181 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000002000002



使用した名前一覧書き込んだスレッド一覧
デフォルトの名無しさん
26
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止]©2ch.net

書き込みレス一覧

【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止]©2ch.net
26 :デフォルトの名無しさん[sage]:2014/12/31(水) 18:09:42.76 ID:bes6lyZk
D3D9でパレット処理系の関数があったので試しているんですが、
MSDNを見てもいまいち使い方がわからないものがあるので教えてください。
IDirect3DDevice9::GetPaletteEntries、SetPaletteEntries、
GetCurrentTexturePalette、SetCurrentTexturePaletteの4つなんですが、
指定パレットの色に描画結果が変わりません。

以下のような感じで実装しています。

//頂点位置設定

UINT PaletteNo;
PALETTEENTRY palette[256];

//paletteにパレット内容を設定(RGB値を設定するだけなので内容は省略します)

p_IDirect3DDevice9->GetCurrentTexturePalette(&PaletteNo);
p_IDirect3DDevice9->SetPaletteEntries(PaletteNo,palette);
【C++】 DirectX初心者質問スレ Part39 【C】 [転載禁止]©2ch.net
27 :26[sage]:2014/12/31(水) 18:10:25.79 ID:bes6lyZk
一気に書き込めなかったので分割投稿します

色が変わらないんですが、
使い方が間違っているのかそもそも効果がないのかわかりません。
効果がないとしたらパレットつきのテクスチャが生成できるビデオカードは既にないはずなので
これらの命令が何のためにあるのか…

あと、GetPaletteEntriesの使い方がわかりません。
PALETTEENTRY currentPalette[256];
p_IDirect3DDevice9->SetPaletteEntries(0,currentPalette);

上記のように実装するとメモリ共有違反エラーで落ちてしまいます。
PALETTEENTRY currentPalette[65536];としても同様でした。

この辺わかる方いませんか?

※パレット部分に関して調査しているだけなので
テクスチャロードをメモリに展開→パレット修正→VRAM転送で一応対処できることはわかっています


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。