• ベストアンサー

この二つの違いは・・・?

HogePiyoの回答

  • ベストアンサー
  • HogePiyo
  • ベストアンサー率57% (24/42)
回答No.6

処理とかによりますけど、まあ、同じと言えば同じです。 グラフィックの描画というのは三角形やらの図形とか、ビットマップデータや 3D エンジンでレンダリングする、あるいはオフスクリーンレンダリングされたポリゴンをウィンドウや画面に描きこむ(表示する)ということです。 Form というのが扱ったことがないですからいまいち分からないんですけど、その Form 上に映像データを書き込むことが出来るんなら、リアルタイムにキャプチャしたビデオデータをメモリにバッファして、あるいは直接描き込むこと言う意味で、大差ないと思います。 処理が少し違うだけで。 ビデオキャプチャはやった事がないんで以下は推測で書きます。 1.まず、ウィンドウを用意する。     ↓ 2.描画の準備をする。     ↓ 3.ビデオキャプチャのハードウェアからビデオデータを送ってもらう(取得する)。     ↓ 4.ビデオデータをメモリにバッファしてウィンドウに表示できるデータに変換する。     ↓ 5.データをウィンドウに描きこんでいく。 と言ったところでしょうか? それで、グラフィックの描画は、 1.ウィンドウの用意。     ↓ 2.描画の準備。     ↓ 3.描画データの用意。     ↓ 4.ウィンドウに描きこめるデータに変換。(不要な場合もある)     ↓ 5.描画。 ゲームループとかメッセージの処理とかはとりあえず抜きでグラフィックを扱うとして話を進めていますよ。 見てのとおり3.4.の描画データの処理が違うだけで後は同じでしょ? 最終的にはデータをウィンドウに表示できる形式に変換する必要があるんですよ。 前述したように DirectX はゲームに特化したライブラリです。なのでゲームで普段使うような処理は可能です。 ただ、ビデオキャプチャの処理なら DirectX を使わなくても十分なように思えます。それに、DirectX は先に書きましたけど、最新の DirectX がグラフィックカードに対応していないと変な動作を起こすことがある、DirectX ランタイムのインストールが前提、いろんなマシンでテストしてみなければ動作保証が出来ないなど、結構ややこしいです。 それに比べ動作速度は遅いかもしれませんが、標準の Win32 API を使えばたいていの Windows で動きます。 まずはビデオデータ( MPEG など)を扱う方法を調べてみてください。それから、外部のハードウェアなどからビデオデータを取得する方法を調べてください。 その後、どうしても動作が遅いとかのパフォーマンスが出ないと感じたら、その時は DirectX を使ってみましょう。それからでも遅くないと思いますよ。 Win32 API、マルチメディアとかで Google ( http://www.google.co.jp/ ) 検索してみるのも良いです。 あるいはベクターなどからビデオキャプチャを扱える DLL や OCX なんかのライブラリを探してみるのも良いかもしれません。 http://www.vector.co.jp/vpack/filearea/win/prog/lib/index.html http://www.vector.co.jp/vpack/filearea/win/prog/dll/index.html http://www.vector.co.jp/vpack/filearea/win/prog/ocx/index.html

参考URL:
http://www.microsoft.com/japan/msdn/library/default.asp
noname#47454
質問者

お礼

ご回答、ありがとうございます!!! 大変わかりやすく教えて頂き、感謝、感謝です(*T_T*) DirectShowを使うことばかり頭にあり、それ以外に目がいきませんでした。 初心者ってことですね・・・(恥)まずは、Win32APIの本でも見てみようと思います!!! 本当にありがとうございました。 今後も機会がございましたら、どうぞよろしくお願いします。

関連するQ&A

  • ATLとSTLの違いは何でしょうか?

    ATLとSTLの違いは何でしょうか? STLでもリスト構造(線形リスト、[双方向リスト]) #include <list>があるみたいですが・・・ STLはC++の標準テンプレートライブラリ(そのまま)と理解しています。 あと、ActiveXとALTの違いも知りたいです。 極論しますが、ActiveXとはOCXを作ることでしょうか?

  • DirectXとGDIの違い

    DirectXとGDIの違いはどういう風に理解すると 良いでしょうか 動きのなめらかさの違いは昔のBasicとアセンブラ のようなものでしょうか

  • ActiveXとActiveXコントロールの違いを

    ActiveXとActiveXコントロールの違いを教えて下さい

  • バージョンの違い

    勉強のために本を購入しようと考えています。 探していると、目に入った本にVisualC++.NET 2003対応と書かれていました。 そこで思ったのですが、VS.NET2003とそれに相当すると聞くVS2005の違いはどこにあるのですか? DirectX8がDirectX9に変わると8にあったものが9ではなくなっている。ということがあったように、VS.NET2003がVS2005になるとなくなるものがあるのでしょうか? できれば決定的な違いを教えてください。よろしくお願いします。

  • DirectX と ActiveX の違いを!

    こんばんは~♪ 毎回、ネットワークの事で藁をも掴む思いで参ってます^^; 質問の通りだけど、マイクロソフトのウィンドウズ・アップデートしよーと思い、『DirectX9』とか言う項目があったのだけど、もー一個のActiveXと言うのとは違うんですか? 両方とも、X(エックス)と書いてるけど、エッチな物なのですか?(エッチな物が見れるようになる機能とかかな?)

  • vba 「ActiveX」「DirectX」

    vbaで「ActiveX」と言う言葉は良く見かけますが、 「DirectX」ってvbaに関連する用語ですか?

  • directXのバージョンによる違い

    素お人がゲームプログラミグを学ぶためにセガの人が書いたゲームプログラマになる前に~という本を読んで勉強しようと思っています。 この本ではdirectx9が使われているそうなのですが初心者がプログラミングを始めるに当たって最新バージョンの11とどれぐらい違いがあるのでしょうか? directXは使ったことはないですがプログラミングは中級レベルだと思います

  • DirectXのインストールが必要です

    オンラインのゲームをダウンロードしようとすると「ActiveXのインストールが必要です」と言われたのでActiveXをダウンロードすると -------------------------------- インストールの完了 DirectXセットアップによって、新しいバージョンまたは同等バージョンの DirectXが既にインストールされていると判断されました。インストールの必 要はありません。 -------------------------------- と返答が返ってきます 何度しても結果は同じです。 もちろんオンラインのゲームの返事は一番上と同じ答えが返ってきます どうすれば解決できますか? ご回答お待ちしています。

  • DirectXのバージョン

    DirectXのバージョンを変えるとどのような違いがありますか? 新しいバージョン用のDLLや関数を利用したソフトなどを使うためにはDirectXのバージョンは高くなくてはならないということは理解できています。 キセュリティと描画状態について教えてください。

  • VB6.0 ExeとDllの違い

    いつもお世話になっております。 今更ながらなのですがVB6.0について質問させて下さい。 新規でVB6.0を起動すると、「標準Exe」・「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」等がでてきますよね? 普段アプリを開発する時は「標準Exe」しか使用しないのですが、「ActiveXExe」・「ActiveXDll」・「ActiveXコントロール」の違いは何なのでしょうか?(どういうときに使い分けるのでしょうか?) ActiveXDll・・・ソースコードのみ?参照設定する?(クラスやモジュールと何が違うのでしょうか?) ActiveXコントロール・・・独自のコンポーネント(部品)を作る?(OCXのようなものでしょうか?) ActiveXExe・・・(一番分かりません) どなたかご教示お願いします。