いくつか機能追加の要望が出たので更新しました。
主な変更は以下の通りです。
- アップデートを連続で行える仕組みが入った
- アップデータ自体の更新があるとき、アップデータを再起動するようにした
aoUpdater
いくつか機能追加の要望が出たので更新しました。
主な変更は以下の通りです。
aoUpdater
バグフィックスしました。
あと、追加機能で実行ファイルの起動パラメータを設定出来るようにしました。
aoUpdater
「ボタンに実行ファイルを登録してもファイルが実行できない」と報告がありました。
特定のフォルダで aoUpdater を使用した場合に発生する不具合で、既に対処も終わり、現在テスト中です。
ver.2.00 では発生しない問題のため、現在 ver.2.00 のみダウンロード出来るようになってます。
久しぶりの更新です。
アップデートできるときの通知が地味と言うことで、ダイアログ通知、タスクトレイ通知、ツールチップ表示の3種類の方法を用意しました。
ver.2.00 を使用している場合、update.dll のセルフアップデートで ver.2.10 にできます(セルフアップデートのやり方はマニュアルを参照して下さい)。
aoUpdater
http://aodamatei.sakura.ne.jp/aoupdater/
OpenGL でマルチサンプリングを使うのにちょっとハマったので備忘録として残して置こうかと。
以下、マルチサンプリングを使う場合の初期化です。
1. ウィンドウの作成(ダミーです)
2. OpenGL コンテキスト作成
3. 拡張機能の初期化(glewInit)
4. wglChoosePixelFormatARB() でピクセルフォーマットNo. を取得
5. OpenGL コンテキストの破棄
6. ウィンドウの削除
7. ウィンドウ作成(本番用)
8. 取得したピクセルフォーマットNo. で DescribePixelFormat() と SetPixelFormat() を実行
9. OpenGL コンテキスト作成
10. 拡張機能の初期化(glewInit)
…以下、初期化やらなにやらを。
注意することは wglChoosePixelFormatARB() ピクセルフォーマットNo. を取得後、OpenGL コンテキストやデバイスコンテキストだけでなく、ウィンドウ自体も一度削除しないといけないことです。手元の環境ではウィンドウを削除しない場合、 8. の SetPixelFormat() が必ず失敗しました。
あと、マルチサンプリングの初期化に成功したら
glEnable( GL_MULTISAMPLE );
glEnable( GL_SAMPLE_ALPHA_TO_COVERAGE );
でマルチサンプリングを有効にしてください。
また、マルチサンプリングの状態を確認するといいと思います。
glGetIntegerv( GL_SAMPLE_BUFFERS, &buffers );
glGetIntegerv( GL_SAMPLES, &samples );
MacBookPro13(SnowLeopard) を使って iPhone の開発を行っていたところ、 iOS SDK 4.1 で OpenGL ES Application のテンプレートからプロジェクトを作成して、そのままビルド&実行すると、iOS simulator 上で作成したアプリケーションが起動直後に終了してしまいました。Lion にしても症状変わらず。
なるほど、xxxViewController.m の glDrawArrays() に問題があると。
確かに glDrawArrays() をコメントアウトすると異常終了しなくなります。
試しに他の描画関数を使ってみたところ
× glDrawArrays()
× glDrawElements()
× glBegin()~glEnd() ← ES では未実装
でした。やっぱり。
結局、App Store から Xcode4 をダウンロード+インストールしたら iOS SDK が 4.3 になり、正常動作するようになりました。
基本 Windows+VisualStudio なので、Mac にはなかなか慣れないです(´・ω・`)
VisualStudio でのビルドの高速化をいくつか。
1. コンパイルの並列化
コンパイルオプションに /MP8(もしくは /MP4) を付ける。
ベンチマーク的には CPU コア数の2倍を設定すると一番速いかな。
2.RAMディスクを使ったビルド
(1) RAM ディスクを作る(Dataram RAMDisk 等)
(2) 環境変数 RAMTEMP を設定する( 例)RAMTEMP=r:\temp)
(3) VisualStudio で以下の設定を行う
中間フォルダを↓に変更
$(RAMTEMP)\$(SolutionName)\$(ProjectName)\$(Configuration)\
デバックコマンドとリンカーの出力ファイルを↓に変更
$(SolutionDir)$(Configuration)\$(TargetName)$(TargetExt)
これでビルド作業のほとんどが RAM ディスク行えます。
3. ipch フォルダと .sdf ファイルの保存先を RAM ディスクにする
[ツール]→[オプション]の中の[テキストエディター]→[C/C++]→[詳細]
常にフォールバック位置を使用 → True
フォールバック位置 → 出力フォルダ(RAM ディスク上のフォルダ)
主に Vista/7 対応です。
最近は Windows7 ユーザーも増えてきたので、aoUpdater も Windows7(Vistaも含む) に対応します。
おそらく Windows7/Vista 対応の最も大変なのは UAC ですかね…
アップデータでファイルを更新できなかった場合でも、バージョンが最新になってしまうバグを修正しました。
また、ファイルが最新状態でも強制的にアップデートできるようにしました。
現在、1.xx 系と UAC 対応の ver.2.xx 系の2つを並行開発している状態です。1.xx 系は主にバグフィックスのみとし、新機能の盛り込みは 2.xx 系に反映していく予定です。
【注意】
1.00 ~ 1.02 → 1.03 は update.dll を更新することでオンラインアップデートできますが(マニュアル P12 を参考にしてください)、1.xx 系 → 2.xx 系はオンラインでのアップデートは出来ません。