いつもお世話になります。
DirectX初心者です。
[行いたい事]
・10bitデータ出力対応のグラフィックカード、10bitデータ入力可能か液晶ディスプレイを使用した時、DXライブラリを使用して10bitX3CH(R,G,B)のカラー画像の表示を行いたい。
・8bit→10bitとすることで、より多階調の画像を表示したい。
・画像では3Dでなくて、2D限定でもかまわない。
画像表示において、8bit X3CH(R,G,B)がWindowsの世界では標準的ですが、最近は10bitデータに対応するグラフィックボードや液晶ディスプレイも出てきました。
ところが標準のwin32 APIでは、10bitx3CHの出力を出せるAPIが無いようです。
下記のサイトでDirect XかOpen GLを使用すれば可能との記述が有ります。
http://imagingsolution.blog107.fc2.com/ ... ry-45.html
またマイクロソフトのDirectX 10のサンプルコードで10bitで表示するものがあるようです。
http://msdn.microsoft.com/ja-jp/library ... s.85).aspx
DXライブラリの関数では、10bitのHandleを作成する関数はサポートされていないようですが、10bitX3CH(R,G,B)を何か表示する手段は有りますでしょうか。
もし、何かうまい手段があれば、ご教授頂ければ幸いです。
以上よろしくお願いいたします。
DXライブラリでの10bit画像の表示
-
salsww
Re: DXライブラリでの10bit画像の表示
どの様な目的(ゲーム、医療用......)で対象となるべきライブラリは変わるとおもいますが、
普通に表示するだけなら、Win32APIを使ったもので、表示できるので
http://wisdom.sakura.ne.jp/system/winapi/win32/ の99~106ぐらいの所の情報を読んで、
適時書き換える事で、実現可能だと思います。
(※当方に、10bit超の表示機能は無いようなので確認は不能。)
ただ、8->10bitになっても、人の目にはその違いが分かる事は相当に稀だとおもうので、
どうしても必要であるなどの場合以外には、労力に見合わないかと。
普通に表示するだけなら、Win32APIを使ったもので、表示できるので
http://wisdom.sakura.ne.jp/system/winapi/win32/ の99~106ぐらいの所の情報を読んで、
適時書き換える事で、実現可能だと思います。
(※当方に、10bit超の表示機能は無いようなので確認は不能。)
ただ、8->10bitになっても、人の目にはその違いが分かる事は相当に稀だとおもうので、
どうしても必要であるなどの場合以外には、労力に見合わないかと。
-
yoshihingis
Re: DXライブラリでの10bit画像の表示
salsww様
早速のご回答ありがとうございました。
私はDirectX初心者である上、C言語初心者であるため、なかなかwin32 APIのコードを書き換えるというのも敷居が高いと思います。
DXライブラリでは8bitx3CHの画像に関しては
MakeARGB8ColorSoftImage(int width,int height)
という関数で、簡単に描画可能なので、これを拡張した10bit用画像データ描画関数
MakeARGB10ColorSoftImage(int width,int height)
みたいな物があれば、容易にコード生成可能かと思い、質問させて頂きました。
たまたま、会社に10bit出力可能なグラフィックボードと10bit入力対応の液晶ディスプレイが納入されまして、少し遊んでみたくなりまして。
10bit画像描画ということ自体が、まだまだ初心者の私には、高すぎる目標のようです。
この機会にWin32API等をじっくり勉強しようと思います。
アドバイスありがとうございました。
早速のご回答ありがとうございました。
私はDirectX初心者である上、C言語初心者であるため、なかなかwin32 APIのコードを書き換えるというのも敷居が高いと思います。
DXライブラリでは8bitx3CHの画像に関しては
MakeARGB8ColorSoftImage(int width,int height)
という関数で、簡単に描画可能なので、これを拡張した10bit用画像データ描画関数
MakeARGB10ColorSoftImage(int width,int height)
みたいな物があれば、容易にコード生成可能かと思い、質問させて頂きました。
たまたま、会社に10bit出力可能なグラフィックボードと10bit入力対応の液晶ディスプレイが納入されまして、少し遊んでみたくなりまして。
10bit画像描画ということ自体が、まだまだ初心者の私には、高すぎる目標のようです。
この機会にWin32API等をじっくり勉強しようと思います。
アドバイスありがとうございました。
- softya(ソフト屋)
- 副管理人
- 記事: 11677
- 登録日時: 15年前
- 住所: 東海地方
- 連絡を取る:
Re: DXライブラリでの10bit画像の表示
DXライブラリは内部的に32bitと16bitカラーしか対応していないので困難だと思います。
なので、DirectXやWindowsAPIで方法を探すしか無いと思いますが難しいのは確かです。
それとモニター自体が10bitのカラーに対応している必要もあるので環境の制約は色いろあると思いますが、それは用意できていると考えて大丈夫でしょうか?
【追記】
.NETにはあるみたいなので、ネイティブなWindowsAPIにも手段があると思うんですけどね。
「PixelFormats.Bgr101010 プロパティ (System.Windows.Media)」
http://msdn.microsoft.com/ja-jp/library ... s.90).aspx
【さらに追記】
GDI+にも無かったので、WindowsAPIネイティブには難しいかも知れません。
なので、DirectXやWindowsAPIで方法を探すしか無いと思いますが難しいのは確かです。
それとモニター自体が10bitのカラーに対応している必要もあるので環境の制約は色いろあると思いますが、それは用意できていると考えて大丈夫でしょうか?
【追記】
.NETにはあるみたいなので、ネイティブなWindowsAPIにも手段があると思うんですけどね。
「PixelFormats.Bgr101010 プロパティ (System.Windows.Media)」
http://msdn.microsoft.com/ja-jp/library ... s.90).aspx
【さらに追記】
GDI+にも無かったので、WindowsAPIネイティブには難しいかも知れません。
by softya(ソフト屋) 方針:私は仕組み・考え方を理解して欲しいので直接的なコードを回答することはまれですので、すぐコードがほしい方はその旨をご明記下さい。私以外の方と交代したいと思います(代わりの方がいる保証は出来かねます)。
-
yoshihingis
Re: DXライブラリでの10bit画像の表示
やはり簡単にはいかないようですね。MicrosoftのDirectX SDKの10bit出力のサンプルコードを取りあえずダウンロードして内容を見ましたが、ちょっと初心者には敷居が高いようです。
一歩づつ地道に勉強しようと思います。
一歩づつ地道に勉強しようと思います。