MacOSX向けの個人的なメモ

メモとか

  • アイコンを貼ろう アルファ付きPNG画像の作成→IconComposer→Xcode
  • Objective-C++ プログラミング はじめの一歩
  • OpenGL Shader Builder OpenGL開発支援ツール
  • OSXの ライブラリについて覚え書き

  • 静的ライブラリ、動的ライブラリ、 フレームワーク の違い
  • OSX用の configure や make が用意されていない 静的ライブラリのインストール

      Readme 等 に従って ターミナルからコマンドを入力する。
    1. ライブラリをコンパイル →「 〜.o」 ファイルを作成
    2. ライブラリを作成する方法 →「 〜.o」 ファイル を 'ar' コマンド で「〜.a」ファイルを作成
    3. 置き場所→ 「.aファイル」 /usr/local/lib/ へ。 「.h ファイル」→ /usr/local/include/ へ。

    Xcode の ビルドスタイル Deployment と Development

    一番左のグループとファイル(Groups&Files)のペインの一番上の「▼ プロジェクトファイルの青いアイコン」を選択した状態で、情報(info) アイコンを押して、Project"プロジェクト名"info ウインドウを出す、タブメニューから Styles を選択。 Active Build のプルダウンメニューで変更。
  • Deployment :配布向け
  • Development:開発向け。ゼロリンクが有効になっている。
  • 配布向けにビルドする場合はDeploymentを指定する、Development はファイルがリンクされないので、配布しても他の人はプログラムが実行できない。また、デバッグ用のコードが埋め込まれるのでサイズが大きくなるらしい。
  • .DS_Store ファイルの削除。
  • Windows 向けなら リソースフォークの削除。(ドットで始まるファイルが余計に増えたりするのを防ぐ。)
  • 改行コードの統一
  • OSX向けなら、dmg(ディスクイメージ) 。Windowsも含めるなら、リソースフォークの削除&日本語ファイル名が通る圧縮形式、圧縮ソフトを使う。
  • Xcode を使って ライブラリ をリンクする方法

    ■configure が用意されていないライブラリをインストールした後、Xcodeで使えるように設定する
     ターミナルを使う場合はオプションコマンドを設定するが、Xcode でも方法は違うものの設定することができる。
    英語版
    Xcode で、ライブラリをリンクさせる 方法
    「グループとファイル」>「ターゲット」>ターゲット名称>
       「リンカ設定」>「その他のMach-Oリンカフラグ」で設定

    gccのコンパイルオプション例:
      -L/usr/local/lib -lalleg-main -ljpgal
    /usr/local/lib ディレクトリ以下の
    liballeg-main.a と ljpgal.a をリンクするという意味。
    フレームワークもこのリンカフラグの項目からリンクできるらしい。
    参考: GCCオプション一覧
    英語版 Xcode で フレームワークをリンクさせる 方法
    「グループとファイル」>Frameworks
    (右クリック長押しコンテキストメニュー)
     「追加」 >「既存のフレームワーク」 で、場所を指定

    OSX 上に クロスプラットホーム対応の開発環境を構築する

    利点:車輪の再発明をせずに済む。複数のプラットホームに移植可能。OS非依存の知識 (OpenGL等)が生かせる。
    欠点:ライセンスの組み合わせによっては一緒に使えないものがある。配布元の都合でリリースが伸びたり終了する場合もある。
    なるべく少ないライブラリで効果的に開発すると疲れない。

    Mac OSX (10.3.8〜) 上に 環境を構築する方法
    MacOSへのインストール可否: Allegro 4.03=NG, 4.1.18=OK , 4.2.0β3=OK
  • Allegro on OSX
    1. インストール | HTML / :OSX 10.3.8 に Allegro 4.1.18 をインストール
    2. |  
    3. ▼拡張ライブラリ一のメモ
      • 半透明処理 | HTML / :描画モードと半透明処理
      • 備忘録 | HTML / : Tips など

      • JPEG画像をロードさせる| HTML / PDF  :JPEGalleg ライブラリ導入
      • TrueTypeFont を表示| HTML /PDF  :Glyph Keeper ライブラリ導入、日本語を表示
      • 拡張GUIで日本語表示| HTML / :Adime GUIライブラリ導入と unifont 流用で日本語を表示
      • Ogg Vorbis 再生| HTML / :APEGの 導入(参考: FMOD )
      • OpenGL で3DCG| HTML / :AllegroGLの導入

      • キーボードからの日本語入力| HTML / :ローマ字入力→ひらがな変換 メモ
      • Allegro on OSX Tiger.....Allegro under OS X v10.4
         4.2 β4 (2005年7月20日現在)
  •  Python や JAVA , Perl (PHPも?)からAllegro を利用できるライブラリもあるらしい。


  • SDL on OSX
    • SDLのインストール | HTML MacOSX で SDLをインストールした時のメモ
    • TrueTypeFont を表示 | HTML Glyph Keeper をSDLから使用する。TrueTypeFontで日本語を表示。
    • ▼拡張ライブラリ のメモ (現在なし)

  • その他・共通
    • OSX Fmod 入門? | HTML オーディオライブラリ。 mp3,ogg再生, レベルメーター, スペアナ。
    • OpenGLOpenGL+GLUT OpenGL+GLUT で3D
    • C言語メモ、ポインタなど
  • OSX 環境なら Allegro と FMOD の組み合わせが簡単かもしれない。

    Mac OSX上 で OpenGL を使って3Dのプログラムを作る


  • SDL + GLUT or G3D (OpenGL )
  • Allegro + AllegroGL(OpenGL)
  • @ ローポリゴンモデル
    OpenGLを利用する制約として、 それぞれライブラリが最初から用意している2D描画関数が使えなくなる。
    AllegroGL と GLUT は併用できるらしい。

  • 3Dモデルを作成する。
  • 3D制作ツールは市販品なら Lightwaveとか フリーならBlender、Wing3D 等。

  • 3Dモデルをプログラムから読む。
  • 例として、Obj 形式のファイルを読み込むローダーに関する情報。
    (obj 形式のファイルは LightWave,Maya,Softimage で書き出し可能)

    ○ Allegro
  • AllegroGL obj Loader(AllegroWiki) (C++言語)(プロジェクトは 既に終了)
  • OrbitalMindSoft (Steven Terry氏) の OBJ loader for AllegroGL。まだ 文書類は整備されていない。 (C言語)
      WinZip か、p7zip(OSXの場合) を使用すると圧縮ファイルを解凍できる。
  • ○ SDL
  • 初心者の初心者による初心者の為のSDLメタセコイア形式 mqo のデモ/ MqoLib
  • G3D BSD/IJG
  • ○ その他
  • obj ローダーのサンプル( Tatsuya SAITO氏) objloader/' を 'Library' に入れて ソースから import
  • areax.net ply形式 の3D オブジェクト、スタンフォードバニー を読み込むサンプル (ObjectiveC++)
  •  
  • 7zip http://www.7-zip.org/ja/download.html , http://sourceforge.net/projects/sevenzip/ , http://homepage.mac.com/krmathis/ (OSX)
  • p7zip http://sourceforge.net/projects/p7zip/
  • 六画大王, メタセコイア 形式の仕様

  • 工学社 3D-CGプログラマーのためのリアルタイムシェーダー【理論と実践】 金谷 一朗 著 2004年11月26日発売 
      B5変型判  184ページ 価格  SBN4-7775-1087-5 C3004 2400円 - スタンフォードバニーを読むサンプル等。シェーダー言語はCg言語中心。 (数値配列読み込みライブラリ等) OSX の OpenGL Profiler に すこし触れている
  • シェーダー環境を簡単に作るなら OSX の OpenGL Shader Builder が使えるかもしれない(こちらのシェーダー言語はGLSL言語)

  • ▼3D形式 拡張子一覧
    • dxf:汎用、 AutoCAD
      obj:Alias wavefront objext
      3df:3DStudio
      3ds:3Dstudio Scane File
      3mf:QuickDraw3D (Apple)
      x:DirectX ( Xファイル)
      3dw:3DWorkshop
      wrl:VRML2.0
      shd:Shade
      blend:Blender
      mb:Maya
      mqo:メタセコイア
      lwo:LightWave
      w3d:Shockwave3D
      rok:六角大王
      ase: Velvet Studio Sample
      md3: Quake 3 Arena Model File
      md2:Quake 2 Player Model
      ply:スタンフォード大で開発されたもの

      ▼ポリゴン数
      150〜200 小道具、日用品、 デフォルメした人体
      400〜1200 キャラクター
      1500〜3000 凝ったキャラクター、物体
  • ▼3Dモデリングソフト(Mac用)
    • ■OpenGL Shader Builder, OpenGL Profiler ,OpenGL Driver Monitor

      これらは、/Developer/Applications/Graphics Tools/ディレクトリの内にある。
      OpenGL Shader Builder:OpenGL を Xcode のプロジェクトに簡単に出力できるらしい
      OpenGL Profiler: OpenGL の実行をトレースしたりする。スクリプトを使って捜査できるらしい。
      OpenGL Driver Monitor:VRAM とメモリの様子をモニターする。

      OpenGL Shader Language
      http://www.lighthouse3d.com/opengl/glsl/


      ■TVML Player II & TVML: フリーウエア / 営利目的の場合のみ契約が必要
      NHK放送技術研究所 / 解説サイト

      ■オープンソース:
      Blender, Website

      ■市販3Dソフトの体験版 (3D関連の書籍に体験版がついてくるのもある)
    • Maya PLE(PERSONAL LEARNING EDITION) 6 , 制限:独自形式保存。すかし。シングルCPU, 開発元:Alias Website
    • Light Wave 3D [8] 体験版, 入手方法:D-storm のサイトのフォームから申し込み、郵送。
      制限:すかし。モデラーは400ポリゴンまで。( 7.5 の体験版は 200ポリゴンまで)
      開発元:D storm - Website



  • ライセンス

    ライセンス面でSDLはLGPL、AllegroはGiftwareで、Allegroのほうが自由度が高いようだ。
  • 参考▼