-
ANIM EDIT(アニメエディタ)
ANIM EDIT ver1.20 ダウンロードはこちら AnimEdit ver1.20.zip //////////////////////////////////////////////////////////////////////////// AnimEdit [OPENGL プログラミングメモ] ver1.20 作者 OPENGLプログラミングメモ ...
-
ANIM EDIT(アニメエディタ) 2ページ
ANIM EDIT ver1.31 ダウンロードはこちら AnimEdit ver1.31.zip AnimEdit [OPENGL プログラミングメモ] ver1.31 作者 OPENGLプログラミングメモ ホームページ(OPENGLプログラミングメモ) https //w.atwiki.jp/opengl/ ホームページ2(MeshView) h...
-
ANIM EDIT(アニメエディタ) 3ページ
ANIM EDIT ver1.32 ダウンロードはこちら AnimEdit ver1.32.zip AnimEdit [OPENGL プログラミングメモ] ver1.32 作者 OPENGLプログラミングメモ ホームページ(OPENGLプログラミングメモ) https //w.atwiki.jp/opengl/ ホームページ2(MeshView) h...
-
メニュー
...ューア) 2ページ ANIM EDIT(アニメエディタ) ANIM EDIT(アニメエディタ) 2ページ ANIM EDIT(アニメエディタ) 3ページ チュートリアルリンク ▼固定機能編へ ▼固定機能 スタティックメッシュ編へ ▼固定機能 階層メッシュアニメーション編へ ▼固定機能 スキニング編へ ▼シェーダー GLSL編へ ▼シェーダー 画像フィルタ偏へ ▼3Dラ...
-
再びキーフレーム
...造体 struct ANIMATION{ public vector Key;//アニメーションキー vector Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//メッシュ ANIMATI...
-
エディットボックスを表示する
エディットボックスです。 簡易メモ帳として使用可能です。 resource.h #define IDR_MENU1 100 #define ID_EXIT 101 #define ID_EDIT1 104 #define ID_EDIT2 105 #define ID_Help 110 #define ID_STATUS 111 #define IDM_END 114 #def...
-
線形補間
...造体 struct ANIMATION{ public vector Key;//アニメーションキー vector Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//メッシュ ANIMATION...
-
.Xの階層メッシュアニメーションを読み込んでみる3
...造体 struct ANIMATION{ public vector Key;//アニメーションキー vector Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//メッシュ ANIMATION...
-
C++/CLI:リストボックス
基本プロジェクトにリストボックスを配置します。 選択項目表示用にラベルも配置します。 ラベルはフォントサイズを24にしておきます。 リストボックスを選択し、プロパティの Items の(コレクション)をクリックします。 すると、文字列コレクションエディターが表示されるので、今回は適当に りす すいか からす すずめ めだか と、入力します。 リストボックスをダブルクリックするとコードが...
-
.Xの階層メッシュアニメーションを読み込んでみる4
...造体 struct ANIMATION{ public vector int Key;//アニメーションキー vector MATRIX Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//...
-
.Xのスキンメッシュアニメーションを読み込んでみる1
...造体 struct ANIMATION{ public vector int Key;//アニメーションキー vector MATRIX Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//...
-
階層ボーンアニメーション
...造体 struct ANIMATION{ public vector int Key;//アニメーションキー vector MATRIX Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//...
-
リッチテキストエディットコントロールを表示する
リッチテキストエディットです。 頑張ればWordもどきも作れるかも知れませんね。 resource.h #define IDR_MENU1 100 #define IDM_END 101 #define IDM_FONT 102 #define ID_STATUS 108 menu.rc #include resource.h IDR_MENU1 MENU DISCARDABLE BE...
-
.Xのスキンメッシュアニメーションを読み込んでみる2
...造体 struct ANIMATION{ public vector int Key;//アニメーションキー vector MATRIX Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//...
-
レバーコントロールを表示する
レバーコントロールです。クールバーとも呼ばれます。 つまみを掴んで各種コントロールを移動できます。 一行にまとめたり複数行にしたりもできます。 resource.h #define IDR_MENU1 100 #define ID_EXIT 101 #define ID_TEST 102 #define ID_A 103 #define ID_B 104 #define ID_...
-
法線の再設定
...造体 struct ANIMATION{ public vector int Key;//アニメーションキー vector MATRIX Matrix;//行列データ }anm; //ノード構造体 struct NODE{ NODE* Node;//子ノード NODE* Next;//隣の階層 string FrameName;//フレーム名 MESH* Mesh;//...
-
C++/CLI:モーダルダイアログ
基本プロジェクトを立ち上げます。 モーダルダイアログというコントロールは無いので モーダルダイアログを自作します。 プロジェクトの新しい項目の追加を選択します。 UI の Windowsフォームを選択し、名前を Dialog.h にして 追加ボタンを押します。 プロパティの MaximizeBox と MinimizeBox と ShowInTaskbar を False にします。 ...
-
C++/CLI:スプリットコンテナ
基本プロジェクトにスプリットコンテナを配置します。 ビルドして実行してみましょう。 パネルとパネルの境界線を自由に移動させる事ができます。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include MyForm.h using namespace Project1; [...
-
C++/CLI:ピクチャボックス
基本プロジェクトにピクチャーボックスを配置します。 プロパティの DOCK のプルダウンメニューの真ん中にある 部分を選択します。 すると Fill という状態になってピクチャーボックスが ウインドウ全体に広がります。 下の画像を test.jpg として保存してプロジェクトのフォルダに 移動させておきます。 Image プロパティの ...となっている所をクリックすると ファイルダ...
-
ページャーコントロールを表示する
ページャーコントロールです。 他のコントロールに押し込まれて隠れているコントロールを スクロールするための物です。 resource.h #define IDR_MENU1 100 #define ID_EXIT 101 #define ID_TEST 102 #define ID_A 103 #define ID_B 104 #define ID_Menu 105 #de...
-
C++/CLI:モードレスダイアログ
前回のモーダルダイアログのプロジェクトの続きです。 MyForm のボタンをダブルクリックしてコードが表示されたら 以下のようにコードを変えます。 Form^ Dialog = gcnew Form(); Dialog- Owner = this; Dialog- Show(); // モードレスダイアログとして表示 ビルドして実行してみましょう。 モードレスダイ...
-
分割ウインドウ
二つのエディットコントロールを使ってウインドウを分割したように 見せます。 この類の処理はSDKを使うとサイズ変更などの度に再描画が発生し チラついてしまいますのでGUIを自作するのが良いかもしれません。 resource.h #define IDR_MENU1 100 #define ID_EXIT 101 #define ID_ERASE 102 #define ID_SHOW ...
-
C++/CLI:プログレスバー
前回のアップダウンコントロールの続きです。 プログレスバーを配置します。 アップダウンコントロールをダブルクリックして以下のコードを追加します。 progressBar1- Value = (int)numericUpDown1- Value; ビルドして実行してみましょう。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WIND...
-
C++/CLI:アップダウンコントロール
基本プロジェクトにアップダウンコントロールを配置します。 NumericUpDown という名前です。 フォントのサイズを16にして Bold を True にします。 ビルドして実行してみましょう。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include MyFo...
-
C++/CLI:バージョン情報ダイアログ
バージョン情報ダイアログです。 これまでやってきた事を組み合わせれば これくらいは簡単にできますね。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include version.h #include MyForm.h using namespace Project1; u...
-
C++/CLI:コンボボックス
基本プロジェクトにコンボボックスを追加します。 プロパティの items の(コレクション)を選択します。 すると文字列コレクションエディターが出てくるので、適当に ごはん ラーメン カレー 寿司 パン 焼きそば と入力します。 ビルドして実行してみましょう。 プルダウンメニューをクリックすると、先ほど入力した アイテムが表示されます。 MyForm.cpp #pragma co...
-
C++/CLI:トラックバー
基本プロジェクトにトラックバーを配置します。 ラベルも配置します。 ラベルのプロパティのフォントサイズを24にします。 トラックバーをダブルクリックして自動作成されたコードに 以下のコードを追加します。 label1- Text=trackBar1- Value.ToString(); ビルドして実行してみましょう。 MyForm.cpp #pragma comment(lin...
-
C++/CLI:リストビュー
基本プロジェクトにリストビューを配置します。 プロパティの Dock を Fill にしてウインドウ全体に広げます。 View を Details にします。 GridLines を True にします。 Columns の (コレクション) をクリックして、 ColumnHeaderコレクションエディターを起動します。 追加をクリックするとメンバーに columnHeader1 ...
-
異方性フィルタリング
異方性フィルタリングです。 ミップマップで線形補間を適用するとミップマップの境目から先はフィルタリングにより、 ぼやけてしまいました。 拡張機能の異方性フィルタリングを使うとミップマップの境目を目立たなくする事が できます。 今回のプログラムはスペースキーでON/OFFを切り替えます。 ファイル main.cpp lodepng.cpp lodepng.h maptip.png mai...
-
MESH VIEW(メッシュビューア) 2ページ
MESH VIEW (OPENGL プログラミングメモ) ver1.32 ダウンロードはこちら MeshView ver1.32.zip //////////////////////////////////////////////////////////////////////////// MeshView [OPENGL プログラミングメモ] ver1.32 作者 ...
-
C++/CLI:webブラウザ
基本プロジェクトにwebブラウザーコントロールを追加します。 プロパティのurlの所をクリックして今回は適当に http //www21.atwiki.jp/opengl/ と入力します。 ビルドして実行してみましょう。 たったこれだけでwebページが表示できました。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /E...
-
C++/CLI:MDI
基本プロジェクトを立ち上げます。 フォームのプロパティの IsMdiContainer を True にします。 プロジェクトに新しい項目を追加します。 Visual C++ の UI の Windowsフォームを選択し、名前を MDIForm.h にして追加ボタンを押します。 MyForm を選択して、Size を Width 640、Height 480 にします。 MyFor...
-
再生終了時間の取得
今回はメディアの再生終了時間を取得します。 再生が終わる時間がわかればループ再生の処理なども可能になります。 #pragma comment (lib, strmiids.lib ) #include windows.h #include string #include dshow.h using namespace std; #define FileName TEXT( te...
-
C++/CLI:日付入力
基本プロジェクトに DateTimePicker を配置します。 ビルドして実行してみましょう。 プルダウンメニューから日付を選択できます。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include MyForm.h using namespace Project1; ...
-
C++/CLI:タイマー
基本プロジェクトに Timer を配置します。 プロパティの Enabled を True にして Interval を 100 にします。 ラベルを配置して、プロパティの size を 24 にします。 タイマーをダブルクリックして以下のコードを追加します。 DateTime dateTime = DateTime Now; label1- Text = date...
-
C++/CLI:ファイルダイアログ
基本プロジェクトにオープンファイルダイアログを配置します。 フォーム上には何も表示されず、フォームデザイナの下の方に オープンファイルダイアログコントロールが表示されます。 オープンファイルダイアログを起動するには何かアクションが必要なので ボタンも配置します。 ボタンの TEXT を「ファイルを開く」にします。 ボタンをダブルクリックして以下のコードを追加します。 //ファイル...
-
C++/CLI:ツリービュー
基本プロジェクトにツリービューを配置します。 サイズを大きくします。 プロパティの Nodes の(コレクション)をクリックすると TreeNodeエディターが起動します。 ルートの追加をクリックして Text を「ルート」にします。 子の追加をクリックすると「ノード1」が作成されます。 適当にノードを作成してみます。 ビルドして実行してみましょう。 MyForm.cpp ...
-
音声ファイル再生(.wav,.mid等)
DirectShowを使って音声ファイルを再生してみます。 DirectShowはフィルタ(コーデック)をインストールするとかなりの ファイル形式を再生する事ができます。 .ogg もフィルタをインストールしたら再生できました。 #pragma comment (lib, strmiids.lib ) #include windows.h #include dshow.h #def...
-
日時指定コントロールを表示する
日時指定コントロールです。 resource.h #define IDR_MENU1 100 #define IDM_END 101 #define IDM_INPUT 102 #define ID_STATUS 103 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU DISCARDABLE BEGIN ...
-
ディスプレイリスト
ディスプレイリストです。 OpenGLのコマンドをハードウェアが理解できる形に保存しておく機能です。 コンパイルされた状態でディスプレイリストが作成されるのでかなり高速に 処理できます。 ただし、ディスプレイリストに出来ない関数もありますので注意が必要です。 パラメータなどは定数となりますので何回も描画する物でパラメータが変化 しない物の描画に適しています。 ファイル main.cpp ma...
-
C++/CLI:データグリッドビュー
おそらく、GUIをやる最大の目的は、このデータグリッドビューでしょう。 基本プロジェクトにデータグリッドビューを配置します。 DataGridViewタスクが表示されるので「親コンテナーにドッキングする」を選択します。 データグリッドビュー上で右クリックして「列の追加」をします。 次の3つのデータを入力して追加ボタンを押します。 名前 DelBtn 型 DataGridViewButton...
-
再生位置の取得
現在の再生位置をミリ秒で取得します。 メインループを別スレッドで作成し、TextOut 関数で再生時間を表示します。 #pragma comment (lib, strmiids.lib ) #include windows.h #include string #include dshow.h using namespace std; #define FileName TEXT...
-
C++/CLI:カレンダー
基本プロジェクトに MonthCalender を配置します。 ビルドして実行してみましょう。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include MyForm.h using namespace Project1; [STAThreadAttribute] in...
-
タイマーイベント
タイマーイベントです。 コールバック関数として登録した後、関数自身が次のタイマーイベントを 設定する事で持続的にイベントが発生します。 条件判断文でイベントを終了させたり次のタイマーイベントの発生間隔を 変えたりできます。 ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTSta...
-
C++/CLI:カラーダイアログ
基本プロジェクトにカラーダイアログを配置します。 カラーダイアログ起動用にボタンも配置します。 ボタンの TEXT を「色の選択」にします。 ボタンのプロパティの BackColor を ButtonFace にします。 ボタンをダブルクリックして以下のコードを追加します。 colorDialog1- ShowDialog(); this- BackColor = ...
-
再生位置の設定
再生位置を設定します。 今回はスペースキーで一時停止し、再生位置を500ミリ秒の所までシークします。 リターンキーで再生を再開します。 #pragma comment (lib, strmiids.lib ) #include windows.h #include string #include dshow.h using namespace std; #define File...
-
C++/CLI:オーナードロー
オーナードローとは、項目の描画をプログラムで変更する事を 言います。 今回はリストボックスの項目を偶数行と奇数行で背景色を 変えてみました。 MyForm.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include MyForm.h using namespace Project1; [S...
-
C++/CLI:フォルダダイアログ
基本プロジェクトにフォルダーブラウザダイアログを追加します。 フォルダーブラウザダイアログ起動用にボタンを配置します。 ボタンの TEXT を「フォルダを参照」にします。 ボタンをダブルクリックして以下のコードを追加します。 folderBrowserDialog1- ShowDialog(); //取得したフォルダ名 String^ FileName = f...
-
C++/CLI:リンクラベル
基本プロジェクトに LinkLabel を配置します。 プロパティの Text をクリックして今回は適当に http //wiki.livedoor.jp/glwrapper/ と、入力します。 LinkLabel をダブルクリックして以下のコードを追加します。 // アクセス済とする linkLabel1- LinkVisited = true; // 既定...
-
カラーマテリアル
カラーマテリアルです。 現在のglColorで設定されている値を使って材質設定します。 SHININESSは設定できません。 ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #includ...