atwiki-logo
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このウィキの更新情報RSS
    • このウィキ新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡(不具合、障害など)
ページ検索 メニュー
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
  • ウィキ募集バナー
  • 目安箱バナー
  • 操作ガイド
  • 新規作成
  • 編集する
  • 全ページ一覧
  • 登録/ログイン
ページ一覧
FPSを作ってみる@wiki
ページ検索 メニュー
  • 新規作成
  • 編集する
  • 登録/ログイン
  • 管理メニュー
管理メニュー
  • 新規作成
    • 新規ページ作成
    • 新規ページ作成(その他)
      • このページをコピーして新規ページ作成
      • このウィキ内の別ページをコピーして新規ページ作成
      • このページの子ページを作成
    • 新規ウィキ作成
  • 編集
    • ページ編集
    • ページ編集(簡易版)
    • ページ名変更
    • メニュー非表示でページ編集
    • ページの閲覧/編集権限変更
    • ページの編集モード変更
    • このページにファイルをアップロード
    • メニューを編集
    • 右メニューを編集
  • バージョン管理
    • 最新版変更点(差分)
    • 編集履歴(バックアップ)
    • アップロードファイル履歴
    • ページ操作履歴
  • ページ一覧
    • このウィキの全ページ一覧
    • このウィキのタグ一覧
    • このウィキのタグ一覧(更新順)
    • このページの全コメント一覧
    • このウィキの全コメント一覧
    • おまかせページ移動
  • RSS
    • このwikiの更新情報RSS
    • このwikiの新着ページRSS
  • ヘルプ
    • ご利用ガイド
    • Wiki初心者向けガイド(基本操作)
    • このウィキの管理者に連絡
    • 運営会社に連絡する(不具合、障害など)
  • atwiki
  • FPSを作ってみる@wiki
  • 進捗状況(2012
  • 10)

FPSを作ってみる@wiki

10)

最終更新:2012年10月30日 17:05

slice

- view
管理者のみ編集可

(2012/10/31)

メモリリーク

ふと,メモリどの位使ってるのかなーと前回のデモを起動してみたら32Mbyte程度だった.まぁそれはいいとして
ライト1個出す毎に5kb程度のメモリリークが.
プログラム終了時の解放し忘れならともかく動かしてる最中にこれは不味い.直さねば

(2012/10/30)

windows8導入

アップグレードでサクッっと,別パーティションに.
今すぐ乗り換える必然性というのは無いのだが。なんとなく.
たまにDirectX10(11)を触ってみたくなるのと対応ゲームも割と増えてきたとかは一応理由にはなるか.
あとXPからのアップグレード(ダウンロード版)はちょっと気が乗れば買っちゃう値段だし・・(結局これが一番)
メトロだったかモダンなんちゃらは全く興味ないので即効ClassicShellを入れ、フォントのアンチエイリアスも切った.

メモリが相変わらず4GBなんで64bitにする意義があまり感じられないとか、案の定HDDが足を引っ張ってスコアが下がってるとか色々

ところで

試しにwin8で自作のプログラムを動かそうとしたらd3dx9_43.dllが無いとか言われて起動できなかったのだが,DX9は動かない?
そんな訳ないよなぁ・・

#追記
というかD3DXって何処で使ってたっけ?と思って検索かけたらD3DXEffectがそうじゃないか.これは流石に外せない.
他にはD3DXCreateCubeTextureFromFileInMemoryEx,D3DXGetImageInfoFromFileInMemory,D3DXSaveSurfaceToFileInMemoryと,ファイル入出力系の関数が.

現状

HDRのトーンマッピングまでは行けたものの,その後のブルームエフェクトをかけるにあたり
(何段階かに縮小してそれぞれガウシアンブラーしてってやつ)
レンダーターゲット記述フォーマットの不備があってまたしても頓挫中.
あと,画面サイズが例えば640x480の時にレンダーターゲットを640x480そのまま確保していいのか
やっぱり2の累乗サイズ(この例では1024x512)で確保して一部分だけ使った方がいいのか悩む.
速度的な意味で.

(2012/10/24)

パーツを削除

Twitterパーツを排除。理由は重いから。
メニューを出したり畳んだりするスクリプトも排除。理由は(ry
上記の為だけに導入したjQueryもお払い箱。

デモについて

アンチエイリアス(DLAA)が追加された。
内部は1500行程書き換えたけれど動作は変わらない。
前と違ってMRTの定義、管理とか別ファイルでちゃんとやってるしHDRあたりすぐ出来ればいいが、
今までの分からするとそうは問屋が卸さないのだろうな。

WebGLがwiki上で動かない

トップのカウンタが急上昇してるのはなんのことはない、
自分がトップページにWebGLのポリゴンデモを載せようと悪戦苦闘してただけだ。
元々このwikiにはjavascriptを記述する為のブロック文が用意されてはいるんだが文法が妙で
他のファイルからインクルードしたければ<script src="...">とHTMLタグを書くし(これマニュアルに載ってる?)
もちろんjavascript文法をそのまま書けたりもする。
しかしインクルードとその他文法を一緒のブロックに置くと不正な文字列とみなされエラー(コマンドだだ漏れ)
インクルードのsrcにURLを記述するわけだが、他のサーバーから持ってきたりするとページリロード5回に1回くらいの割合で
勝手にsrc="about:blank"にされてしまう。

あの手この手で頑張ってWebGLを表示させるところまでは行ったものの、今度は他のページへのリンクやらが反応しなくなる。
これはWebGLコンテキストを取得した段階でなる様だ。その後すぐ破棄しても駄目。

正直言って訳がわからん。折角4年以上続けてきたatwikiだけど乗り換えようかねと思わざるを得ない。

ちなみに

WebGLでテストしたソースはGitHubに上げてある GitHub:RSJe


(2012/10/20)

Passは必要か

HLSLのPassを今までロクに使ってなかったのでこれを機に頑張って対応はしてみたものの・・
Passは幾つかのシェーダーを1セットで使う時に
見た目と描画処理が若干スッキリする事くらいしか利点が無い気がする.

例えばTech Aの1pass目(エッジ抽出),Bの1pass目(ガウスフィルタ),Aの2pass目(何かポストエフェクト) 
という描画順序だとすればpassを纏める意味が薄い.
この場合Bの1pass目に相当する宣言をAにコピペで加えれば良い話ではあるが同じような記述を何遍も書くのは,ちょっと.
内部的にも特にpassの切り替えでどうこうって訳でもなさそうだし
OpenGL(GLSL)に至ってはPass自体存在しない(よね?).
MRTが一般的でなかった頃のForwardRenderingにおけるマルチパス用途かなあ?と思う.
Techの中,Passの外に書けて重複するステート設定を省けますよってんなら分かるが,それは出来ないようだ.よくわからん.
現時点であって困ることはないがOpenGL用に移植しようとなるとやはり不要・・

ちなみにVertexShader = compile vs_2_0 Func(); 等と書くコンパイル宣言はTechの外でも可能.
というより複数箇所で使う場合にはその方が容量が小さくなる.

ま,ともかく.
以前の表示が出来る段階までは来たのでデモまでもう一踏ん張りといった所か.

#追記
とは言いつつも冗長とはいえステート記述をコピペして1纏めにするのも悪くない気がしてきた

(2012/10/19)

レンダーターゲットの管理

アンチエイリアス(DLAA)はサンプルをほとんどコピペして早々に完了していた。
しかし次のHDRを実装するにあたってブルームに必要なガウスフィルタ等を組み込む作業で
「この際レンダーターゲットの定義とかちゃんとしようと」仕様を決めてたら思った以上に大掛かりで
てんやわんやしてる所である。
まだ延びるようであれば一旦アンチエイリアスだけのバージョンをv0056_1として公開してしまおうかと。

定義方法については2,3種類試した末に「別途JSONファイルとして記述」となった。
各RTのフォーマット、テクスチャとしての設定、クリア方法など・・
これに限った話ではないけどスクリプトやシェーダーはテキストデータなんで興味があればどうぞ。
現在もう少しで新方式で前と同じような描画が出来るかな?という段階。頑張るしか無い。

(2012/10/09)

デモ更新

んーまあ,目新しい所といえばオートカメラとライトがランダム軌道で動くの位しか・・
透明な円柱がちゃんと前後関係を考慮して描画される!とはいっても,こちとら数百回は見てるんでもう飽きた.
あと色々変えてたらスキンメッシュが正常に描画されなくなってしまったので一旦除外しておいた.そのうち直す.

見えない所ではログファイルが出力されるようになっている,
ウィンドウ閉じでプロセス残るバグの修正,透明物が視界に入ってない場合のカリング,アンビエントライト調整・・等.
それ以外特に書くことがないので,次は見栄えのする更新がしたい.

ゲーム以外の事

ちょくちょくとOpenGL(WebGL & GLSL)をいじっていたり.
Qtライブラリを最新版のgccでビルドしたいし,どうせならLinuxからLinuxとWindowsバイナリ両方を出力できたら便利だと思ったので
Linux -> Windowsのクロスコンパイル環境を構築しようと思い立つ.
当初,QtをWindows上のmingw32でビルドしようと思ったら,どうやら32bitWindowsのメモリ2GB制限でデバッグ版が生成できなくって
ここで大人しくwindows7を買おうとなるなら技術者として失格な気がした.
そんな訳で悪戦苦闘.

QtはLinux -> Linuxなら問題なくビルドが通るのだがmingw32でクロスコンパイルするとリンクエラーが出たりする.
QSjisCodec::QSjisCodec()がundefinedとか行って来るから仕方なく手動でそのクラスをコンパイルしオブジェクトファイルを突っ込むと
今度は_imp__XXXXなんちゃらかんちゃらがundefinedと言われる・・ので未完.

ちなみにQt5で試すと今度は
undefined reference to `__dso_handle' と
undefined reference to `__cxa_atexit' が出る(もちろんターゲットlinux-g++では出ない)
これってgccにおけるC++のコンストラクタとデストラクタ周辺の関数だっけ?
もしかしてgccが新しすぎるとか?
誰か詳しい人教えて欲しい.

予定

サクッと2つほど視覚エフェクトを実装してデモ公開へ.
アンチエイリアスとHDRとか?

(2012/10/01)

遅れが目立つ

無念.結局あれからデモを出せないまま10月を迎えてしまった.
1ヶ月1回ペースとかじゃ(何となくだが)駄目.せめて週1ペースで行きたい.

ようやく解決か・・?

当面の予定としては「とにかく一日でも早くデモを出す」事に終始するわけだが・・
境界ボリュームを求める為の主成分解析がえらく難航している.
一応ルーチン自体は組めたけどいくつかの問題点が.
1. 物体が大き過ぎると行列の固有値が虚数になる
   対称行列の固有値は実数になる筈
2. 球体,円柱など軸対称オブジェクトにおいて主成分3軸が求まらない
   最後の連立1次方程式を解くと全部0になってしまう

1については適度に物体を縮小してやれば解決できた.浮動少数点数精度の関係だろうかね?
floatはもちろん,doubleで計算してもなかなか厳しい様子.もしかしたら計算間違えてる可能性もある.

2はスマートに解決する手段を思いつかなかった.
ので,どうせゲームだし大体でいいやと思い一度計算してみて駄目だったら
全部の頂点位置を微量ずつランダムに動かして再計算というある種の暴挙に出た.
ただこれが割と上手くいってるようで2回目のトライで使ってるモデルは全部通る.

残る課題と妥協

これを利用した透明物体ソートの動作確認と,ライトの軌道制御がカクカクしすぎているのでパラメータを少し調整したらデモ出せそう.

複数モーションの補間についてはコーディングしたっきりで碌にデバッグをしていないのと
やはりサンプルが難儀という理由で見送り.

「10)」をウィキ内検索
LINE
シェア
Tweet
添付ファイル
  • win8_0.jpg
  • win8_1.jpg
FPSを作ってみる@wiki
記事メニュー
  • トップページ
  • 参考資料ブックマーク等
  • Tips

Media

  • 頂き物
Screen shot
  • FPS_page1
  • FPS_page2
  • FPS_page3
  • Other_page1
Drawing
  • Drawing(analog)
  • Drawing(digital)
  • Drawing(digital) 2
  • Drawing(digital) 3
  • Drawing(digital) 4
  • Drawing(digital) 5
  • Drawing(digital) 6
  • Drawing(digital) 7
  • Drawing(digital) 8
  • Drawing(digital) 9
  • Drawing(digital) 10
  • Drawing(digital) 11
  • Drawing(digital) 12
  • Drawing(digital) 13
Movie
  • movies-list

Old Contents

  • トップページ(old)
  • メモ書き
  • 力仕事UP場
  • ゲームシステムとか
  • バグ・動作報告
  • program(twilve)

Progress log

  • (2018/03)
  • (2017/04)
  • (2017/03)
  • (2016/10)
  • (2016/09)
  • (2016/08)
  • (2016/07)
  • (2016/06)
  • (2016/05)
  • (2016/04)
  • (2016/03)
  • (2016/02)
  • (2016/01)
  • (2015/12)
  • (2015/11)
  • (2015/10)
  • (2015/09)
  • (2015/08)
  • (2015/07)
  • (2015/06)
  • (2015/05)
  • (2015/04)
  • (2015/03)
  • (2015/02)
  • (2015/01)
  • (2014/12)
  • (2014/11)
  • (2014/10)
  • (2014/09)
  • (2014/08)
  • (2014/07)
  • (2014/06)
  • (2014/05)
  • (2014/04)
  • (2014/03)
  • (2014/02)
  • (2014/01)
  • (2013/12)
  • (2013/11)
  • (2013/10)
  • (2013/09)
  • (2013/08)
  • (2013/07)
  • (2013/06)
  • (2013/05)
  • (2013/04)
  • (2013/03)
  • (2013/02)
  • (2013/01)
  • (2012/12)
  • (2012/11)
  • (2012/10)
  • (2012/09)
  • (2012/08)
  • (2012/07)
  • (2012/06)
  • (2012/05)
  • (2012/04)
  • (2012/03)
  • (2012/02)
  • (2012/01)
  • (2011/12)
  • (2011/11)
  • (2011/10)
  • (2011/09)
  • (2011/08)
  • (2011/07)
  • (2011/06)
  • (2011/05)
  • (2011/04)
  • (2011/03)
  • (2011/02)
  • (2011/01)
  • (2010/12)
  • (2010/11)
  • (2010/10)
  • (2010/09)
  • (2010/08)
  • (2010/07)
  • (2010/06)
  • (2010/05)
  • (2010/04)
  • (2010/03)
  • (2010/02)
  • (2010/01)
  • (2009/12)
  • (2009/11)
  • (2009/10)
  • (2009/09)
  • (2009/08)
  • (2009/07)
  • (2009/06)
  • (2009/05)
  • (2009/04)
  • (2009/03)
  • (2009/02)
  • (2009/01)
  • (2008/12)
  • (2008/11)
  • (2008/10)
  • (2008/09)
  • (2008/08)
  • (2008/07)
  • (2008/06)
  • (2008/05)
  • (2008/04)



記事メニュー2

Update Log

取得中です。
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2687日前

    menu_L
  • 2687日前

    進捗状況(2018/03)
  • 2687日前

    Drawing_digital_13
  • 2687日前

    Drawing_digital_12
  • 2687日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
人気記事ランキング
  1. Drawing_analog
もっと見る
最近更新されたページ
  • 2687日前

    menu_L
  • 2687日前

    進捗状況(2018/03)
  • 2687日前

    Drawing_digital_13
  • 2687日前

    Drawing_digital_12
  • 2687日前

    トップページ
  • 2892日前

    Drawing_digital_11
  • 2973日前

    Drawing_digital_10
  • 3005日前

    進捗状況(2017/04)
  • 3046日前

    進捗状況(2017/03)
  • 3097日前

    頂き物
もっと見る
ウィキ募集バナー
新規Wikiランキング

最近作成されたWikiのアクセスランキングです。見るだけでなく加筆してみよう!

  1. MadTown GTA (Beta) まとめウィキ
  2. AviUtl2のWiki
  3. R.E.P.O. 日本語解説Wiki
  4. 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  5. シュガードール情報まとめウィキ
  6. ソードランページ @ 非公式wiki
  7. ドラゴンボール Sparking! ZERO 攻略Wiki
  8. シミュグラ2Wiki(Simulation Of Grand2)GTARP
  9. 星飼いの詩@ ウィキ
  10. Dark War Survival攻略
もっと見る
人気Wikiランキング

atwikiでよく見られているWikiのランキングです。新しい情報を発見してみよう!

  1. アニヲタWiki(仮)
  2. ストグラ まとめ @ウィキ
  3. ゲームカタログ@Wiki ~名作からクソゲーまで~
  4. 初音ミク Wiki
  5. 検索してはいけない言葉 @ ウィキ
  6. 機動戦士ガンダム バトルオペレーション2攻略Wiki 3rd Season
  7. 発車メロディーwiki
  8. Grand Theft Auto V(グランドセフトオート5)GTA5 & GTAオンライン 情報・攻略wiki
  9. オレカバトル アプリ版 @ ウィキ
  10. SDガンダム ジージェネレーションジェネシス 攻略Wiki
もっと見る
全体ページランキング

最近アクセスの多かったページランキングです。話題のページを見に行こう!

  1. 過去の行動&発言まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  2. マイティーストライクフリーダムガンダム - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  3. 魚拓まとめ - 鹿乃つの氏 周辺注意喚起@ウィキ
  4. 参加者一覧 - ストグラ まとめ @ウィキ
  5. 1103環境(遊戯王) - アニヲタWiki(仮)
  6. 前作からの変更点 - 機動戦士ガンダム EXTREME VS.2 INFINITEBOOST wiki
  7. 魔獣トゲイラ - バトルロイヤルR+α ファンフィクション(二次創作など)総合wiki
  8. コレクター・ユイ - アニヲタWiki(仮)
  9. サーヴァント/一覧/クラス別 - Fate/Grand Order @wiki 【FGO】
  10. 画像倉庫 - 鹿乃つの氏 周辺注意喚起@ウィキ
もっと見る

  • このWikiのTOPへ
  • 全ページ一覧
  • アットウィキTOP
  • 利用規約
  • プライバシーポリシー

2019 AtWiki, Inc.