サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
買ってよかったもの
mkubara.com
ここではDirectXを利用した、2D/3Dグラフィックスの作成方法、動画や音声の再生方法などについて学んでいきます。 コンテンツ一覧 DirectXGraphics基礎 ウィンドウの表示 C++ DirectXの準備 モデルの配置 メッシュの利用 (3Dモデラで作成したモデルの表示) カメラの設定 モデルの移動と変形 ライティング テクスチャマッピング (モデルに画像を貼る) マルチテクスチャマッピング (モデルに画像を複数個貼る) アルファブレンディング (半透明モデル) テクスチャブレンディング (半透明画像の表示) アニメーション アニメーション (移動・拡大縮小・回転・表面色・テクスチャ切り替え) モーションブラー (残像を表示し、高速で動いているように見せる) テクスチャアニメーション (魔法や攻撃などのアニメーションを表示) 応用テクニック
概要 本稿はMPUを使ったハードウェア間の通信規格のひとつであるI2Cについて記述しています。 本稿は現在、後輩指導用にノイズ対策部分についてのみ記述した書きかけの頁です。 ノイズ対策 I2CはWired-ORで通信を行うという仕様上、差動通信などに比べノイズに非常に弱いです。またバスを共有するため、誰かが通信ミスを犯すと全員に波及する場合があります。 基本的な対策としては、下記が挙げられます。その他の項目の詳細について順次後述していきます。 受信側プログラムにバグがないことを確認する 通信線をできるだけ短くする 通信クロックを遅くする プルアップ抵抗値を調整する、定電流源を使う、ローパスフィルタを入れる... I2Cハングアップとそれ以外の原因との切り分け I2C通信が原因と思われるハングアップをした場合、まずそれがI2C割り込みに起因するものかをチェックします。 チェックの手法として、
概要 C/C++でよく記述する、ダブルクォーテーションで囲まれた文字列を文字列リテラルと呼び、プログラム実行時に利用する文字列を表現するために利用します。文字列リテラルは普段何気なく使っているにもかかわらず、その実装はなかなかに興味深いものです。本稿はそれを記述していきます。 文字列リテラル 文字列リテラルとは C/C++ではダブルクォーテーションで囲まれた文字列を文字列リテラルと呼びます。リテラルとは本質的には定数を表します。(定数として実装されているかは実装系依存です) コード: 文字列リテラル 文字列リテラルはプログラム実行開始時に、メモリ領域中の特殊な領域に文字配列として確保されます。よって領域定義としては char [] に近いものです。ただし我々が普段使っているスタック領域(関数内で変数宣言したときに使う)やヒープ領域(newやmallocで取得する領域)とは違った箇所に領域を
概要 エディットボックスやラベルなどに文字列を描画するために利用する、書体や形などの情報をまとめてフォントと呼びます。Visual Studio 2002のMFCにおいて、各コントロールのフォントはダイアログに指定したフォントと同じフォントが使用されるように設定されていますが、開発画面上でコントロールごとに個別設定するための仕組みは用意されていません。 このため、プログラム上でフォント情報を生成し、コントロールごとに指定する必要があります。今回はその方法をまとめます。 本コンテンツは2008/10/07に研究室の学部生へ配布した資料(Wordにて作成)のHTML版です。http://mkubara.com/files/20081007_zemi.pdf 1. フォントとは 図1: 様々なフォントで記述したサンプル文字列群 文字の書体データを記憶するために、プログラムではフォントと呼ばれるデ
スタック領域(stack) スタック領域とは、局所変数が格納される領域であり、関数が深く実行されるにつれてどんどん局所変数が積まれていく領域です。関数が別の関数を呼ぶと別の関数が利用する局所変数が積まれ、その関数が終了すると積まれていた局所変数が破棄される、という動きがスタックと呼ばれるデータ構造と同じであることからこのように言われています。 ヒープ領域(heap) ヒープ領域とは、プログラマが実行時に欲しいサイズのメモリ領域を動的に確保する際に利用する領域で、画像やファイルなどの大きさがそのときそのときで変わるバッファ用に利用されます。ヒープで確保できる領域はその大きさを自由に指定でき、さらに生成・破棄も自らが自由に行うことが出来ます。反面、生成した領域の破棄を忘れてしまうなどのミスを生む可能性を持ちます。 データ領域(.data) データ領域はプログラム実行時に自動生成される領域で、静
概要 C/C++では、標準関数として画像操作を行う関数は用意されていません。そこでOS機能やライブラリを利用して画像を操作することになりますが、今回はWindowsがIE等で利用しているAPIであるOleLoadPicturePath関数を利用します。 OleLoadPicturePath関数は、指定したファイルを読み込んでプログラム上で使えるデータへ変換することが出来ます。読み込んだデータはIPictureインタフェースを通してRender関数で描画することが出来ます。本稿ではこの方法を記述します。 実装 実装ステップは大きく分けて3つあり、読み込み、描画、破棄となります。それぞれ順にコードを交えて解説していきます。 読み込み - LoadPicture関数 // 画像ファイルから画像を読み込む IPicture* LoadPicture( const char *path ) { //
概要 VisualStudio2005になって、今まで書いていた文字列処理関係のコードに対してコンパイルエラーや警告が表示されるようになった方も多いと思います。VisualStudio2005では使用する文字コードが変更となり、従来のマルチバイト文字列(日本ではShift-JIS)から、世界標準のワイド文字列(Unicode, UTF-16)へ移ったためです。 このように文字コードはプログラムにおいて重要な位置を占めるものですが、その実態や移行の手法は意外と情報の少ないものでした。今回はこの辺りを記述します。 マルチバイト文字列とワイド文字列 char型とwchar_t型 日本語Windows上で現在我々の利用する文字コードであるShift-JISは、主に英字を1バイト、日本語文字を2バイトで表現するため、マルチバイト文字列と呼ばれます。マルチバイト文字列は1文字が何バイトかを文字ごとに計
このページを最初にブックマークしてみませんか?
『トップページ - mkubara.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く