BMP画像を表示する

OpenGLプログラミングメモ内検索 / 「BMP画像を表示する」で検索した結果

検索 :
  • BMP画像を表示する
    BMP画像を表示します。 BMPと言っても今回は24bit画像に限定します。 知っての通り、最もポピュラーで広く使われている画像形式ですが BMP形式は種類が複数存在し、データサイズも大きいので 最近では、あまり使われなくなってきました。   ファイル main.cpp sample.bmp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #include stdio.h #define WIDTH 320 #define HEIGHT 240 class BMP { public  unsigned long sizeX;  //横  unsigned long sizeY; //縦  char *...
  • 画像を表示する(GDI+)
    2D画像を読み込んで表示します。 DirectXは、D3DXという便利なライブラリが .bmp、.dds、.dib、.jpg、.png、.tga 形式の 画像を読み込んでくれましたが、OpenGLには何もありません。 .bmp ですら、自前で読み込み関数を作ったりしなければなりません。 glpng とか libjpeg など、その他諸々のライブラリを用いても良いのですが、一つのライブラリで 一つの画像形式とかでは面倒くさいです。配布する .dll などが増えるのも嫌です。 そこで割と身近にあり、Windows XP/Vista/7/8の4世代で手軽に使える GDI+ という物を発見しました。 Windows Imaging Component なるものもあるようですが、Vista以降標準搭載なので今回は インストールなどせずとも最初からある GDI+ にします。 BMP, GIF, JPE...
  • 画像を表示する(glpng)
    先の『画像を表示する(GDI+)』では GDI+ を使いましたが、 GdiPlus.h を見ると struct IDirectDrawSurface7; なる表記があります。 内部で DirectX7 を使用しているようです。 OpenGLなのにDirectXは使いたくない!!とか、 WindowsじゃないOSで画像を読み込みたい!!という方のために glpng を 使った方法も記載しておきます。   #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #include stdio.h #include gl/glpng.h #define WIDTH 320 #define HEIGHT 240 pngInfo info; GL...
  • PNG画像を表示する(glpng)
    先の『画像を表示する(GDI+)』では GDI+ を使いましたが、 GdiPlus.h を見ると struct IDirectDrawSurface7; なる表記があります。 内部で DirectX7 を使用しているようです。 OpenGLなのにDirectXは使いたくない!!とか、 WindowsじゃないOSで画像を読み込みたい!!という方のために glpng を 使った方法も記載しておきます。   ファイル main.cpp sample.png main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #include stdio.h #include gl/glpng.h #define WIDTH ...
  • DDS画像を表示する
    DDS画像を読み込みます。 DDS画像とは Direct Draw Surface ファイルの事です。 GLEW を使うと S3TC(DXTC)圧縮 を解凍できるようです。 ↓こちらのサイトに読み込みプログラムがありましたので使わせて頂きます。http //asura.iaigiri.com/OpenGL/gl7.htmlちょこっと改変してGLEWの初期化位置を変えてみました。   ファイル main.cpp sample.dds main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #pragma comment(lib, glew32.lib ) #include GL/glew.h #include GL/freeglut/freeglut.h #include st...
  • JPEG画像を表示する
    JPEG画像を読み込んで表示します。 フルカラーとグレースケールのみサポートしています。 かなりデータサイズを小さくできるので広く使われています。http //www.ijg.org/こちらのサイトでフリーのJPEGライブラリのソースコードが配布されています。 libjpeg.lib を作成してください。作り方はgoogleなどで検索して作って下さい。 jpeglib.h , jconfig.h , jmorecfg.h , libjpeg.lib をプロジェクトのフォルダに設置して下さい。 これでJPEGを読み込む準備が整いました。   ファイル main.cpp jpeglib.h (配布先サイトから入手して下さい) jconfig.h (配布先サイトから入手して下さい) jmorecfg.h (配布先サイトから入手して下さい) libjpeg.lib (自分で作成して下さい) ...
  • メニュー
    ...DS画像を表示する BMP画像を表示する JPEG画像を表示する 板ポリゴンを表示する 2Dと3Dの描画を切り替える 3Dシーンの設定と立方体の表示 ズームイン・アウト 球を表示して移動する トーラスの表示と回転 円錐の表示と拡大縮小 円柱を表示してみる 直方体を表示してみる 指定座標で円運動 フラットシェーディング ワイヤーフレーム表示 スムースシェーディング マテリアルの設定 カラーマテリアル 固定機能 テクスチャマッピング ミップマップ バイリニアフィルタリング 異方性フィルタリング 視点の回転(クォータニオン) 超簡単に任意軸回転 ビルボード 法線 隠面消去 アルファブレンディング アルファテスト 固定機能 フォグ アンチエイリアシング ステンシルテスト 固定機能 鏡面反射 固定機能 スポットライト テッセレーション 頂点配列 ディスプレイリスト VBO VBO(テクスチャ付...
  • ボタンを表示する
    ボタンを表示します。 ボタンを押すと終了する処理にしました。   resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_BUTTON 104 #define ID_Help   107 #define ID_STATUS  108 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option       ID_OPTION  ME...
  • MDIを表示する
     かなり回りくどいやり方ですが FreeGlut でも MDI を使う事はできます。 resource.h #define IDM_NEW 101 #define IDM_EXIT 102 #define IDM_CLOSE 103 #define IDM_CASCADE 104 #define IDM_TILE 105 #define IDM_CLOSEALL 106 #define IDM_ARRANGE 107 #define ID_STATUS 108 #define IDM_INVISIBLE 109 #define IDM_VISIBLE 110   menu.rc #include resource.h   OWNERMENU MENU DISCARDABLE BEGIN     POPUP ファイル     BEGIN         MENUITEM 新規...
  • 板ポリゴンを表示する
    ポリゴンを描画すると言っても、実は既に図形描画関連のページや 画像表示関連のページでも使っています。 DirectXとは違い、OpenGLでは三角ポリゴンだけではなく四角ポリゴンも 使用可能です。 三角ポリゴンしか描画できないDirectXでは、3Dモデルファイルなども全て、 四角ポリゴンを三角ポリゴンに分割しなくてはなりませんでした。 すると四角ポリゴンの数だけ変換後のポリゴン数が増えて描画速度に影響します。 当然、ワイヤーフレームで表示したいときも四角ポリゴンが使用できないと 意図する映像が作れなかったりします。 ここだけ見てもOpenGLの方が優れていると言っても過言ではありません。 ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #inclu...
  • シェブロンを表示する
    シェブロンデース   レバーコントロールで隠されてしまったコントロールを ポップアップメニューで表示します。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TOOLBAR    109   #define IDM_NEW    1010 #define IDM_OPEN    1020 #define IDM_SAVE    1030 #define IDM_COPY    1040 #define IDM_...
  • メニューを表示する
    FreeGlut のウインドウハンドルを取得してウインドウプロシージャを置き換えると win32api のメニューが使えます。 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 #define ID_Whats  106 #define ID_Help   107  menu.rc #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXIT     END     POPUP Test     BEGIN   ...
  • ツールバーを表示する
    ツールバーを表示します。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define IDM_NEW    1010 #define IDM_OPEN    1020 #define IDM_SAVE    1030 #define IDM_COPY    1040 #define IDM_PASTE   1050 #define IDM_DELETE  1060 #define IDM_CUT     1070 menu....
  • プログレスバーを表示する
    プログレスバーを表示します。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXIT     END     POPUP Test     BEGIN         MENUITEM てすつ ,    I...
  • ツリービューを表示する
    ツリービューを表示します。 階層構造を表現するのに便利です。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TREEVIEW 1000 menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXIT     END     POPUP Tes...
  • トラックバーを表示する
    トラックバーです。 範囲選択とかもできますが説明は省きます。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TRACK 109 #define ID_STATIC 110 menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXIT     ...
  • リストビューを表示する
    リストビューです。 JAVAではテーブルとも呼ばれます。 頑張ればExcelもどきも作れるかもしれませんね。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_LISTVIEW 1000 menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXI...
  • 空のウインドウを表示する
    とりあえず、何もないウインドウを表示します。 ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h void display(void) {     glClearColor(0.0, 0.0, 0.0, 1.0);     glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);     glFlush(); } int main(int argc, char *argv[]) {   glutInit( argc, argv);   glutInitDisplayMode(GLUT_RGBA);   glutCreateWindow( Hel...
  • ラジオボタンを表示する
    ラジオボタンです。 チェックできるのは1つだけです。 resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_RADIO1 104 #define ID_RADIO2 105 #define ID_RADIO3 106 #define ID_Help   107 #define ID_STATUS  108 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END  ...
  • グループボックスを表示する
    グループボックスを表示します。 グループボックス内のラジオボタンはグループ化され、 グループボックス外のラジオボタンの影響を受けなくなります。   resource.h #define IDR_MENU1 100 #define ID_EXIT   101 #define ID_GROUP  104 #define ID_GROUP2 105 #define ID_RADIO1 106 #define ID_RADIO2 107 #define ID_RADIO3 108 #define ID_RADIO4 109 #define ID_Help   110 #define ID_STATUS 111 #define IDM_END   114 #define ID_OPTION 115   menu.rc #include windows.h #include resource....
  • ステータスバーを表示する
    前回と同様にしてステータスバーを表示してみました。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 menu.rc #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXIT     END     POPUP Test     BEGIN         MENUITEM ...
  • ポップアップメニューを表示する
    右クリックでポップアップメニューを表示します。 resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_Dialog  102 #define ID_A   103 #define ID_B   104 #define ID_Menu   105 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TEXT   109 #define ID_1   110 #define ID_2   111 #define ID_3   112 #define ID_popup  113 #define IDM_END   114 menu.rc #include windows.h #include resour...
  • ツールチップを表示する
    ツールチップです。一定時間ツールバーの上でマウスカーソルを停止すると現れます。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TOOLBAR    109   #define IDM_NEW    1010 #define IDM_OPEN    1020 #define IDM_SAVE    1030 #define IDM_COPY    1040 #define IDM_PASTE   1050 #d...
  • タブコントロールを表示する
    またまた同様にしてタブコントロールを表示してみます。 メニューの Option   タブ表示 でタブを表示して、 Option   タブ消去 でタブを消します。 resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_TAB_S 102 #define ID_TAB_E 103 #define ID_Help   107 #define ID_STATUS  108 #define IDM_END   114 #define ID_TABCTRL 2000 #define ID_STATICWND 2001 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN    ...
  • コンボボックスを表示する
    コンボボックスです。 右にあるボタンを押すとドロップダウンして項目が現れます。   resource.h #define IDR_MENU1 100 #define ID_EXIT   101 #define ID_COMBO  104 #define ID_Help   110 #define ID_STATUS 111 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option       ID_OPT...
  • リストボックスを表示する
    リストボックスです。 複数の項目から選択できます。    resource.h #define IDR_MENU1 100 #define ID_EXIT   101 #define ID_LIST  104 #define ID_Help   110 #define ID_STATUS 111 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option       ID_OPTION  MENUITEM ...
  • スクロールバーを表示する
    スクロールバーコントロールです。 ウインドウのスクロールバーと違って任意の位置に表示できます。   resource.h #define IDR_MENU1 100 #define ID_EXIT   101 #define ID_SCROLL  104 #define ID_Help   110 #define ID_STATUS 111 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option    ...
  • モーダルダイアログを表示する
    ダイアログが出ている間、ウインドウを操作できなくなるダイアログを モーダルダイアログと言います。 今回はこれを表示してみます。 resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_Dialog  102 #define ID_A   103 #define ID_B   104 #define ID_Menu   105 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TEXT   109   menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN      ...
  • チェックボックスを表示する
    チェックボックスです。 ラジオボタンと違って複数選択可能です。 resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_CHECK 104 #define ID_Help   107 #define ID_STATUS  108 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option       ID_OPTION  MEN...
  • メッセージボックスを表示する
    メッセージボックスです。 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   #define ID_Whats  106   #define ID_Help   107   #define ID_STATUS  108 menu.rc  #include resource.h    IDR_MENU1 MENU   BEGIN       POPUP File       BEGIN           MENUITEM Exit ,    ID_EXIT       END       POPUP Test       BE...
  • レバーコントロールを表示する
    レバーコントロールです。クールバーとも呼ばれます。 つまみを掴んで各種コントロールを移動できます。 一行にまとめたり複数行にしたりもできます。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_BUTTON 109 #define ID_EDIT 110 #define ID_COOL 111  menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     PO...
  • フラットツールバーを表示する
    素のツールバーではボタンの集合体に見えるのでフラットタイプにしてみます。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_TOOLBAR    109   #define IDM_NEW    1010 #define IDM_OPEN    1020 #define IDM_SAVE    1030 #define IDM_COPY    1040 #define IDM_PASTE   1050 #defi...
  • エディットボックスを表示する
    エディットボックスです。 簡易メモ帳として使用可能です。   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 #define ID_OPTION 115   menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option...
  • アップダウンコントロールを表示する
    アップダウンコントロールを表示します。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,    ID_EXIT     END     POPUP Test     BEGIN         MENUITEM てすつ ,...
  • 日時指定コントロールを表示する
    日時指定コントロールです。 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     POPUP ファイル     BEGIN         MENUITEM 終了 ,                    IDM_END     END     MENUITEM 入力 ,                    IDM_INPUT END DLG1 DIALOG DISCARDABLE  0, 0, 170, 50 STYLE DS_MODALFRAME | WS_P...
  • メニューを表示する(64ビット)
    FreeGlut のウインドウハンドルを取得してウインドウプロシージャを置き換えると win64api のメニューが使えます。 一応、32ビットと64ビットの両方に対応するプログラムにしておきました。 resource.h #pragma once #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_TEST   102 #define ID_A   103 #define ID_B   104 #define ID_Menu   105 #define ID_Whats  106 #define ID_Help   107 menu.rc #include resource.h IDR_MENU1 MENU BEGIN POPUP File BEGIN MENUITEM Exit , ID_E...
  • ページャーコントロールを表示する
    ページャーコントロールです。 他のコントロールに押し込まれて隠れているコントロールを スクロールするための物です。 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 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 #define ID_BUTTON 109 #define ID_EDIT 110 #define ID_COOL 111 menu.rc #include resource.h   IDR_MENU1 MENU BEGIN     POPUP File     ...
  • スタティックテキストを表示する
    スタティックテキストです。 resource.h #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_STATIC 104 #define ID_Help   107 #define ID_STATUS  108 #define IDM_END   114 #define ID_OPTION 115 menu.rc #include windows.h #include resource.h IDR_MENU1 MENU BEGIN     POPUP File     BEGIN         MENUITEM Exit ,                    ID_EXIT     END     MENUITEM Option       ID_OPTION  MENUITEM ヘルプ ,     ...
  • ステータスバーを表示する(64ビット)
    前回と同様にステータスバーを表示してみました。 32ビットと64ビットの両方に対応しています。 resource.h #pragma once #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_TEST   102 #define ID_A   103 #define ID_B   104 #define ID_Menu   105 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 menu.rc #include resource.h IDR_MENU1 MENU BEGIN POPUP File BEGIN MENUITEM Exit , ID_EXIT END POPUP Test BEGIN MENUI...
  • .MQOを読み込んで表示する(GLMetaseq)
    メタセコイアのモデルデータ .mqo を読み込んで表示してみます。 言わずもがなOpenGLはただのグラフィックライブラリ、モデルデータの読み込みなども 全て自分でコードを書かなくてはなりません。 DirectXの .x 形式や .sdkmesh 形式のようなものと読み込みライブラリがあらかじめ 用意されていると楽ですが、そんなものはありません。 ただ、工学ナビ さんのサイトでmqoの読み込みライブラリ GLMetaseq がありますので 手始めに使ってみましょう。http //kougaku-navi.net/ARToolKit/index.html↑のページから GLMetaseq をダウンロードして、ヘッダファイルとソースファイルを プロジェクトに追加します。 GLMetaseq では glut を使用しているので GLMetaseq.h の227行目の#include をコメントア...
  • 球を表示して移動する
    球を表示して平行移動します。 glTranslatef(x,y,z) に値をセットする事で平行移動の行列を適用できます。 glutSolidSphere(半径,経線の分割数,緯線の分割数) で球を表示できます。   ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #define WIDTH 320 #define HEIGHT 240 //平行移動用 float x = 0.0f; bool flag = false; //緑 GLfloat green[] = { 0.0, 1.0, 0.0, 1.0 }; //ライトの位置 GLfloat lightpos[] = { 200....
  • メッセージボックスを表示する(64ビット)
    メッセージボックスです。 32ビットと64ビットの両方に対応しています。 resource.h #pragma once #define IDR_MENU1  100 #define ID_EXIT   101 #define ID_TEST   102 #define ID_A   103 #define ID_B   104 #define ID_Menu   105 #define ID_Whats  106 #define ID_Help   107 #define ID_STATUS  108 menu.rc #include resource.h IDR_MENU1 MENU BEGIN POPUP File BEGIN MENUITEM Exit , ID_EXIT END POPUP Test BEGIN MENUITEM てすつ , ...
  • リッチテキストエディットコントロールを表示する
    リッチテキストエディットです。 頑張れば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 BEGIN     POPUP ファイル     BEGIN         MENUITEM 終了 ,                    IDM_END     END     POPUP 編集     BEGIN         MENUITEM フォントの変更 ,          IDM_FONT     END END main.cpp #pragma comment(l...
  • 画像の一部をストレッチ描画する(LodePNG)
    PNG画像を読み込んで画像の一部をストレッチ描画します。http //members.gamedev.net/lode/projects/LodePNG/に、ある LodePNGモジュールを使用します。 このLodePNGは.cppファイルと.hファイルのみで構成されているので手軽に組み込めます。 zlib も libpng も何も使わずに.cppソースのみでPNG画像が読み込めます。 また、LodePNGは、どのように使ってもよいそうです。再配布も可能です。 作者への連絡も必要ないそうです。素晴らしいですね。 使い方も簡単で LodePNG_loadFile で読み込んで LodePNG_decode で、デコード します。 画像の一部を断片的に描画するようにするにはST座標(DirectXではUV座標)を指定して あげれば良いです。 『画像を表示する』のチュートリアルでは、glTexC...
  • 固定機能:テクスチャマッピング
    テクスチャマッピングと言っても、『画像を表示する』のチュートリアルで既にやっています。 ただ、今回は、より踏み込んでテクスチャのST座標を回転してみます。 それには、テクスチャマトリックスを使用します。 マトリックスと言えば、glMatrixMode(GL_PROJECTION); とか、glMatrixMode(GL_MODELVIEW); が、あるように glMatrixMode(GL_TEXTURE); というテクスチャ用のマトリックスモードがあります。 このテクスチャ空間も,物体の空間 (x, y, z, w) と同じように4次元 (s, t, r, q)で用意されていて、 移動、回転、拡大縮小などの行列を適用できます。   ファイル main.cpp sample.png main.cpp #pragma comment(linker, /SUBSYSTEM WIN...
  • PNG画像の一部をストレッチ描画する(LodePNG)
    PNG画像を読み込んで画像の一部をストレッチ描画します。http //members.gamedev.net/lode/projects/LodePNG/に、ある LodePNGモジュールを使用します。 *(現在の最新版では引数などが変わっているようですので設定の仕方のページから 当サイトで使用しているバージョンをインストールして下さい。) このLodePNGは.cppファイルと.hファイルのみで構成されているので手軽に組み込めます。 zlib も libpng も何も使わずに.cppソースのみでPNG画像が読み込めます。 また、LodePNGは、どのように使ってもよいそうです。再配布も可能です。 作者への連絡も必要ないそうです。素晴らしいですね。 使い方も簡単で LodePNG_loadFile で読み込んで LodePNG_decode で、デコード します。 画像の一部を断片的に描画...
  • C++/CLIでOpenGLを簡単に表示する
    こちらに OpenGL Simple Adapter があるので使わせてもらいます。 nursの日記http //d.hatena.ne.jp/nurs/20080315/1205598655 使い方は OpenGL Simple Adapter.h をインクルードして OpenGLSimpleAdapter のインスタンスを作成して GLAdapter- BeginRender(); と GLAdapter- EndRender(); の間に いつもの OpenGL のコードを記述するだけです。 OpenGL Simple Adapter.h #pragma once #pragma comment( lib, opengl32.lib ) #pragma comment( lib, glu32.lib ) #pragma comment( lib, gdi32.lib ...
  • 円柱を表示してみる
    円柱を描画します。 GLUTには、そのような機能はありませんので自作します。 円柱と言っても、上の面の円(正多角形)と側面の長方形と 下の面の円(正多角形)の組み合わせに過ぎません。 上面は上方向に、側面部分は中心から面の方向に、下面は下方向に 法線を設定してあげます。   ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #include math.h #define WIDTH 320 #define HEIGHT 240 //回転用 float anglex = 0.0f; //青 GLfloat Blue[] = { 0.0, 0.0, 1.0, 1.0 }; //ライト...
  • C++/CLI:ファイルダイアログ
    基本プロジェクトにオープンファイルダイアログを配置します。 フォーム上には何も表示されず、フォームデザイナの下の方に オープンファイルダイアログコントロールが表示されます。 オープンファイルダイアログを起動するには何かアクションが必要なので ボタンも配置します。 ボタンの TEXT を「ファイルを開く」にします。 ボタンをダブルクリックして以下のコードを追加します。      //ファイルフィルタ       openFileDialog1- Filter = 画像ファイル(*.bmp,*.jpg,*.png,*.tif,*.ico)|*.bmp;*.jpg;*.png;*.tif;*.ico ;       openFileDialog1- ShowDialog();      //取得したファイル名       String^ FileName = openFileDialo...
  • 直方体を表示してみる
    直方体を描画します。 少し冗長なコードになりましたがこの方が解りやすいと思います。   ファイル main.cpp main.cpp #pragma comment(linker, /SUBSYSTEM WINDOWS /ENTRY mainCRTStartup ) #include GL/freeglut/freeglut.h #define WIDTH 320 #define HEIGHT 240 //回転用 float angle = 0.0f; //ピンク GLfloat Pink[] = { 1.0, 0.5, 0.5, 1.0 }; //ライトの位置 GLfloat lightpos[] = { 200.0, 500.0, 0.0, 1.0 }; //直方体 void cuboid(float width,float height,float depth) {...
  • @wiki全体から「BMP画像を表示する」で調べる

更新順にページ一覧表示 | 作成順にページ一覧表示 | ページ名順にページ一覧表示 | wiki内検索