トップページgamedev
1001コメント321KB

C/C++ゲーム製作総合スレッド Part6

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2014/07/08(火) 19:30:19.51ID:J+zVqUil
ゲーム製作におけるC/C++全般に関するスレです。

元スレ
DXライブラリ 総合スレッド その17
http://toro.2ch.net/test/read.cgi/gamedev/1383795645/

前スレ
C/C++ゲーム製作総合スレッド Part1
http://toro.2ch.net/test/read.cgi/gamedev/1337516528/
C/C++ゲーム製作総合スレッド Part2
http://toro.2ch.net/test/read.cgi/gamedev/1351015269/
C/C++ゲーム製作総合スレッド Part3
http://toro.2ch.net/test/read.cgi/gamedev/1357899040/
C/C++ゲーム製作総合スレッド Part4
http://toro.2ch.net/test/read.cgi/gamedev/1376262450/
C/C++ゲーム製作総合スレッド Part5
http://peace.2ch.net/test/read.cgi/gamedev/1389798031/
0073名前は開発中のものです。2014/08/15(金) 07:01:48.62ID:ohMMiKIE
>>69
数十行もあるのなら、2回以上で関数にする
しないと、修正・テストを常にダブルでしないといけない

>>72
そもそもメモリの基本が、mmap(memory map)で、
確保したメモリを、どんなオブジェクトで使おうが自由

まあ一般的なもので、自分が思いつくようなものは、
たいてい誰かが作っているだろう
0074名前は開発中のものです。2014/08/15(金) 09:58:24.44ID:c/9kGC5u
メモリ上にファイルシステムを構築して、ツリー情報を制御したいのだが、どんなのがあるの?
0075名前は開発中のものです。2014/08/15(金) 10:41:13.57ID:j6cgjhWq
他のアプリでも見える仮想ファイルシステムとしてならFUSE/Dokan
アクセス方法含めてファイルAPI使わない木構造コンテナならググれば色々ある
APIフックして自分しか見えないRAMドライブを作ったことあるけど行儀悪いから他でもみかけないな
0076名前は開発中のものです。2014/08/16(土) 06:39:10.61ID:L92YcU8p
他人の作ったコードって色々あるものなんだな
0077名前は開発中のものです。2014/08/16(土) 17:19:05.66ID:8Fs/dbnc
Templateって使ったこと無いんですが何に使うんですか?
std::vectorとかコンテナみたいなのに使うんですか?
ライブラリ作るときぐらいですか?
0078名前は開発中のものです。2014/08/16(土) 17:29:23.54ID:FVHp6E5m
よく知らないんですが、
大文字のTemplateって何か特別な意味がある言葉なの?
0079名前は開発中のものです。2014/08/16(土) 18:04:48.11ID:8Fs/dbnc
Google日本語入力が大文字にしただけです
0080名前は開発中のものです。2014/08/16(土) 19:19:43.39ID:KpuwMNAx
templateは使えるのにテンプレートエンジンすら知らなかったり
0081名前は開発中のものです。2014/08/17(日) 00:29:52.38ID:DxB78rur
コンテナやライブラリ作りでお世話になることが多いのは確かだな。
実際それくらいしか使ってないやってヒトも結構いると思う。
0082名前は開発中のものです。2014/08/17(日) 01:22:39.68ID:ecqmGiuW
よくわかんないですけど、templateってtemplateを使った処理を持ってる側は中身を予測できない(何らかの処理ができない)ですよね?
その中身も用途も知らずに誰かに使われるだけですよね?
でなければポリモーフィズムとかで代用出来そうだし
0083名前は開発中のものです。2014/08/17(日) 01:37:28.43ID:rcRtUElV
templateのやってる事はdefineの高度化で、
基本的にはただの置き換えだが?
0084名前は開発中のものです。2014/08/17(日) 02:35:54.03ID:DxB78rur
予測できないってどういうことだろう
0085名前は開発中のものです。2014/08/17(日) 03:14:42.38ID:lY+LSruT
templateは、コンテナ(容れ物)によく使う

コンテナ <int>
コンテナ <ユーザ定義クラス>

コンテナが、様々な型に対応できる
0086名前は開発中のものです。2014/08/17(日) 10:03:56.33ID:ecqmGiuW
>>84
要はtemplateの処理って誰かから値を貰って処理するのではなく
値を右から左に受け渡すだけで・・・
0087名前は開発中のものです。2014/08/17(日) 10:13:42.02ID:rcRtUElV
templateの中で勝手に値が変更されるからどんな挙動をしているかが分かりにくいって事?
それはソースを追えとしか言えんな。templateはその性質上、クローズド化が出来ないから。
0088名前は開発中のものです。2014/08/17(日) 10:52:23.87ID:eh8TRovF
MPLとかエラー出ても追いきれないよ
STLですらちょっとした記述漏れで出るエラーメッセージが適切じゃないんだよな
記述した行じゃなくてテンプレートソースの位置のエラーメッセージだし
0089名前は開発中のものです。2014/08/17(日) 16:34:24.06ID:2LOHSTCb
sfmlはライセンスがGPLだったような
0090名前は開発中のものです。2014/08/18(月) 12:06:43.86ID:/xfKqDtl
え?templateの中で値が変更されることなんてあるの?
0091名前は開発中のものです。2014/08/18(月) 12:20:19.06ID:Amfk7YXr
operatorとか使わないの?
0092名前は開発中のものです。2014/08/18(月) 17:33:11.61ID:/xfKqDtl
俺は使わん!
0093名前は開発中のものです。2014/08/18(月) 18:04:50.85ID:xxNYX8Uv
C++のラムダ、拡張for、タプルあたりは見た目が悪くて全然嬉しくないな
0094名前は開発中のものです。2014/08/19(火) 10:38:31.24ID:g/Td6fwv
拡張forの見た目を悪いと取る人がいるのか
コロンがダメなのかい?
0095名前は開発中のものです。2014/08/20(水) 12:24:47.31ID:vpc/8MHV
関数名ってどうしたらいいですか?
std見るとスネークケースだけどライブラリ見るとローワーキャメルケースだし
主流なオブジェクト指向で揃えたいのならJavaやC#みたいにアッパーキャメルケースだし
"ID"は両方大文字でもよかったり、HINSTANCEみたいにどこから意味のある単語なのかわかりづらいし
0096名前は開発中のものです。2014/08/20(水) 17:29:53.86ID:zC8dBj+K
kansu
0097名前は開発中のものです。2014/08/20(水) 18:27:48.79ID:8ddmLszJ
最近の環境だと漢字が使える場合があるな
0098名前は開発中のものです。2014/08/21(木) 12:39:31.06ID:cVduPEKK
C++もDとかScalaみたいに、クラスに対して手続きだけの後付け静的関数作った場合に、
第一引数省略できたら最強なんだけどなぁ
MPLのgetはめんどくさすぎる
0099名前は開発中のものです。2014/08/22(金) 08:08:31.76ID:np7Y3ytG
http://jobinjapan.jp/job-listing/keyword-game-programmer.html
0100名前は開発中のものです。2014/08/22(金) 08:24:17.61ID:+/wZ7jnK
まあ、まともそうな所もあるけれど、時給800円って何だよwww
いくら何でも世間をナメすぎwww
0101名前は開発中のものです。2014/08/22(金) 13:04:18.40ID:GdbuT6p8
>>97
知らなかったこんなのが普通にコンパイル出来た

int 関数(int ほげ, int はげ)
{
return ほげ + はげ;
}
0102名前は開発中のものです。2014/08/22(金) 17:22:04.27ID:kNYnH0VP
ナメられてるのはゲームプログラマーなんだよなぁ・・・
0103名前は開発中のものです。2014/08/22(金) 18:16:28.30ID:tnjQY6BU
最近も何もVisualStudioなら10年以上前から関数や変数名に
漢字を使えるが
0104名前は開発中のものです。2014/08/22(金) 20:27:56.63ID:knEiP0zp
typedef void 虚無
typedef int 整数
みたいな感じで型を日本語化して頑張ってた友達を思い出した
0105名前は開発中のものです。2014/08/22(金) 21:01:32.45ID:+rbtpV8x
>>102
さすがにこの条件で行く奴は居ないだろうと思うが……
と思ってよく見たらプランナーだった、紛らわしいな
0106名前は開発中のものです。2014/08/23(土) 11:34:38.27ID:VlCYIhca
時給800円ってコンビニのバイトより安いけど
プランナーってそんな楽なお仕事なん?
0107名前は開発中のものです。2014/08/24(日) 19:03:04.47ID:+YyUmjGH
人気のある仕事ではあるかもしれんな、プランナーは
だから値段が安くても人は来ると
0108名前は開発中のものです。2014/08/25(月) 12:46:11.86ID:13Ou/jq/
プランナーは好きにゲームを作れる(かもしれない)仕事だからな、一応
0109名前は開発中のものです。2014/08/25(月) 21:12:10.93ID:fIeVmxmz
絵も音楽も無理でプログラム始めたけど難しいから
プランナーになってぼくのかんがえたさいきょうのげーむ作るんだ!
って人が多いイメージだわ
0110名前は開発中のものです。2014/08/26(火) 02:42:29.32ID:zRu6Y76+
最近は、Unity製サンプルを提示してくるプランナーも多い印象
0111名前は開発中のものです。2014/08/26(火) 03:02:43.23ID:9nJGtRzs
そういうプロトタイプをさくっと作れるのは、ああいうフレームワークの強みだよね
非エンジニアの人でも、ある程度形を作り上げられるっていう
0112名前は開発中のものです。2014/08/28(木) 03:18:53.81ID:X8+LqzAg
C言語でゲームを作るならDXライブラリ
使った方が言われたのですが
MinGWのgccで使う方法はあるのでしょうか?
0113名前は開発中のものです。2014/08/28(木) 12:27:05.34ID:IogRuqxm
"DXライブラリ MinGW"でググったら公式配布ページも含めてゾロゾロ出てくるわけだが・・・。
0114名前は開発中のものです。2014/08/28(木) 14:45:11.67ID:fyv86xWh
こんな事聞くレベルの人間がなぜMinGWなんて使うのだろうと
思った
0115名前は開発中のものです。2014/08/28(木) 16:18:23.85ID:bFGeiPpW
while(true){printf("a");}
とコンソールで実行した時ループが遅くなるのはなんでですか?
目で追える速度でしか文字列を描画できないなら
計算だらけのゲームなんてまず作れませんよね?
0116名前は開発中のものです。2014/08/28(木) 18:13:14.40ID:c3zFvuJr
文字表示系の処理は重いんです
0117名前は開発中のものです。2014/08/28(木) 18:25:00.80ID:kFtDpON/
処理が重いというよりも、OSやコンパイラがConsoleで高速描写されないよう規制してるんだろ。
ファイル出力する記号 >でやったら画面表示より速いし、ゲームなんかで使う描写を、使えば速いし。
0118名前は開発中のものです。2014/08/28(木) 18:34:21.79ID:p3a/rk2R
コンソールはそもそも文字描画速度を速くしようなんて考え方で作られてないでしょ
windowsのコンソールの文字出力はCUIベースの補助的な表示がメインで、
コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
0119名前は開発中のものです。2014/08/28(木) 18:35:31.68ID:cOy/jyai
今は文字を一つ画面に出力するよりもファイルに書き込む方が早い時代です
と言うか、文字一つ出力するのに何バイトのデーターを画面に書き込む必要があるか考えてみ?
0120名前は開発中のものです。2014/08/28(木) 18:45:56.07ID:cOy/jyai
>コンソールの文字出力が遅いから早くしてほしいなんて誰も望まない
あ、そう言えば昔、PC-98がdos/vよりも優位な点として文字出力速度が早い事を売りにしていたな
0121名前は開発中のものです。2014/08/28(木) 19:17:50.59ID:izIKodD2
ああいうのは、VRAMにテキストエリアがあるから速いんじゃないの。
DOS/Vにあるのかないのかは知らんけど。
0122名前は開発中のものです。2014/08/28(木) 19:22:18.05ID:cOy/jyai
PC-98は漢字ROMにフォントデータが入ってるから早いんだよ
0123名前は開発中のものです。2014/08/28(木) 19:39:22.02ID:p3a/rk2R
>>120
昔はコンソールは補助的なものじゃなかったし
今よりずっと遅い時代があったからでしょ
0124名前は開発中のものです。2014/08/28(木) 20:10:27.78ID:lAEGR6jw
>>123
いや、話のネタに思い出したからついでに書いただけだよ
昔はテキスト表示で画面をマスクしたりと、遅いマシンの
様々な機能をフル活用して使っていたみたいだね
0125名前は開発中のものです。2014/08/29(金) 13:24:27.28ID:7LwoDteC
>>115
目で追える速度に遅くしてるんじゃね
つ Ctrl+S
0126名前は開発中のものです。2014/08/29(金) 17:27:19.27ID:PQKddMMr
struct Aiu{
int hoge;
};

Aiu* aiu = new Aiu();
ってした時
Aiu aiu2 = *aiu;
ってした場合、aiuの寿命が切れた後もaiu2に保持されるんでしょうか?
コピーコンストラクタは定義してないです
0127名前は開発中のものです。2014/08/29(金) 17:35:13.67ID:I0DNX3OS
自分で試したほうが早いだろ
0128名前は開発中のものです。2014/08/29(金) 18:05:40.44ID:B+gnwrXf
>>126
その Aiu aiu2 = *aiu; はメンバの値が複製されるだけだから、その後にaiu->hogeを書き換えてもaiu2->hogeは変わらない
だからaiuの指す先がdeleteされようがaiu2に影響はない
0129名前は開発中のものです。2014/08/29(金) 19:30:47.56ID:+jt7R30F
class Stack
{
 int a;
}

class Heap
{
 Stack stack;
}

void main()
{
 Heap* heap = new Heap();
}

っていうプログラムの場合、int aはメモリ内のどこにあるのでしょうか?
そもそもヒープ領域のオブジェクトの中のスタック領域の場合ってメモリ的にはどうなるのでしょうか?
0130名前は開発中のものです。2014/08/29(金) 19:53:53.39ID:B+gnwrXf
普通にヒープ
0131名前は開発中のものです。2014/08/30(土) 18:37:32.98ID:5AIFhixX
picojsonというjsonパーサー使ってるんですが、
Eclipseの言ってるエラーが意味不明で困っています
どうしたら結果が得られますか?
エラー内容:expected primary-expression before ')' token

あとテンプレートにポインタやらちょっと組み合わせると全く入力補完してくれないんですがなんなんですか

void hoge::hoge1(picojson::object* jsonObject){
picojson::array& jsonArray = jsonObject->get<picojson::array>();

for (picojson::array::iterator it = jsonArray.begin(); it != jsonArray.end(); it++){
picojson::object& o = it->get<picojson::object>();

int unit_num = atoi(o["unit_num"].get<std::string>().c_str());
int unit_id = atoi(o["unit_id"].get<std::string>().c_str());
}

}
0132名前は開発中のものです。2014/09/01(月) 11:52:34.58ID:NxW8u5cB
BlenderとかMayaで作ったモデルファイルとかモーションファイルって
C++erならやっぱり自分でパーサー作って読み込むの?
0133名前は開発中のものです。2014/09/01(月) 17:34:00.00ID:7vpWhfmF
>>132
Assimp
0134名前は開発中のものです。2014/09/02(火) 14:27:36.03ID:PUVCbn2i
DirectXも使えるの?
0135名前は開発中のものです。2014/09/02(火) 17:26:57.05ID:tdHhEDHk
>>133
これ良さげやね
BSDライセンスだし色々出来そう
スレッドセーフなのもポイント高い
0136名前は開発中のものです。2014/09/06(土) 11:58:19.59ID:khJXlvEe
>>131
これ誰かわかりませんか?
0137名前は開発中のものです。2014/09/06(土) 18:09:59.56ID:AxxHSbmN
expected primary-expression before ')' token 意味
で検索してみた?
0138名前は開発中のものです。2014/09/07(日) 11:10:43.48ID:s9vhQEyf
>>137
()内に値があるとかなんとかとか・・・
でも引数のエラーは別にあるし、全く同じ文(変数名は違うけど)をコピペしてきたものだし・・・
0139名前は開発中のものです。2014/09/08(月) 21:02:33.10ID:tesqRk+d
ずっとDXライブラリのwhileの中でやってきたせいで(ビジーウェイトっていうのかな?ポーリング?)
GUIライブラリとかのイベントドリブンでゲーム作る方法が全くわかんないぜ

DXライブラリでは1フレームごとの処理をupdateメソッドの中でやってたから、
アクションゲーム上のキャラクタなどがゲーム内時間での同期が簡単だったんだけど

イベントドリブンだと、そういう「メイン時間軸」による制御がないから
ゲーム内時間で厳密に同期が取れないとこが気持ち悪い

例えば、前者では1フレームごとにキャラクターの速度ずつ動いて、衝突判定も一斉にできるけど、
後者だとライブラリ側が(おそらく裏で_秒単位でポーリングしてて)『ボタン押されたよ!』って判断するから、
用いる時間の粒度が、自分が定めたいゲーム内時間じゃなくなってしまうという・・

イベントドリブンを用いる手前、1フレごとにupdateイベント起こすなんて二度手間はやりたくないし・・
(Unity3Dはupdateとイベント併用型らしいけど、どうやってるんだろ)
0140名前は開発中のものです。2014/09/08(月) 21:18:20.61ID:tYyDmrPQ
別に必要ならUpdate相当のイベント起こしたっていいじゃない
Windowsとか普通のアプリでアニメーションしたいならWM_TIMERとか別スレッドのタイマーで処理してから
描画のWM_PAINTを間接的に呼び出してるわけだし
描画のイベントを約16msで起こして内部で状態更新すれば60フレームのゲームだ
0141名前は開発中のものです。2014/09/09(火) 01:28:32.21ID:iF9Myub/
俺もDXライブラリしか使ったことないからわかんないんだけど描画ループとゲーム内処理のループって分けてマルチスレッドにするもんなの?
ダブルバッファってのもなんか、全ての描画リソースを2倍持つって結構勿体無いなとか思うんだけど

ネトゲでよく200fpsとか表示されててなんじゃこりゃとか思ったことあるけどゲーム内処理ループの事だよね?
0142名前は開発中のものです。2014/09/09(火) 03:36:37.22ID:C1Zjzm8i
無限ループの中で定期的にPeekMessage関数を呼んで
受信しているウィンドウメッセージを処理するようにするようにする方法が一つある
(DxLibで言えばProcessMessage関数みたいなもんだと思いねぇ)
0143名前は開発中のものです。2014/09/09(火) 14:01:53.66ID:3oFzTnHF
UnityのUpdateは自分が定めたゲーム内時間(単位時間)じゃなくて描画の単位で呼び出されるから
結局のところ、Δ(←前回Updateから今回Updateが呼ばれるまでにかかったリアル時間)を使って

移動距離[ゲーム内距離] = Δ[リアル時間] ÷ 単位時間[リアル時間/ゲーム内時間] × 速度[ゲーム内距離/ゲーム内時間]

で、処理することになる。

ちなみに、Updateの中でもキー操作拾えるから慣れてるほうでいい
ただGUI部品はイベントでやるのがラク
0144名前は開発中のものです。2014/09/09(火) 20:43:35.21ID:8XdiQ/JL
線形動作しか出来ないね。まあ西洋人は加減速にはこだわらないみたいだから大丈夫なんだろうけど。
0145名前は開発中のものです。2014/09/09(火) 23:05:52.44ID:iF9Myub/
ん?線形動作以外に何かあるの?
0146名前は開発中のものです。2014/09/10(水) 07:18:00.15ID:CE6mrTSg
非線形な動作なんていくらでもあるだろ
円運動とか放物線とかバネの伸縮とか
最近の物理の教科書には載ってないのかね?
0147名前は開発中のものです。2014/09/10(水) 08:04:28.67ID:+NofARIs
円運動だろうが放射線運動だろうが
前フレームの座標と今フレームの座標は線形動作じゃないのか
それが積み重なって円や放射状になるわけで
0148名前は開発中のものです。2014/09/10(水) 08:16:26.68ID:qlf1nlfh
自然界の動作は殆ど非線形だろう。
人間が扱いやすいから、近似的に線形代数で計算するだけだろ。
0149名前は開発中のものです。2014/09/10(水) 08:52:17.08ID:pn1h5JmM
線形動作は単位時間毎に同じ速度で動く動作を指す言葉だよ。
これに対して非線形動作は単位時間毎に別の速度で動く。
前者は直線的な、後者は曲線的な動作になる傾向がある。
0150名前は開発中のものです。2014/09/10(水) 09:37:06.65ID:qlf1nlfh
非線形はこういうやつだろ。


カオス理論 - Wikipedia
カオス理論は、力学系の一部に見られる、予測できない複雑な様子を示す現象を扱う理論である。ここで言う予測できないとは、決してランダムということではない。
その振る舞いは決定論的法則に従うものの、積分法による解が得られないため、その未来の振る舞いを知るには数値解析を用いざるを得ない。


複雑系 - Wikipedia
複雑系とは、相互に関連する複数の要因が合わさって全体としてなんらかの性質を見せる系であって、
しかしその全体としての挙動は個々の要因や部分からは明らかでないようなものをいう。
複雑系は決して珍しいシステムというわけではなく、実際に人間にとって興味深く有用な多くの系が複雑系である。
系の複雑性を研究するモデルとしての複雑系には、蟻の巣、人間経済・社会、気象現象、神経系、細胞、人間を含む生物などや現代的なエネルギーインフラや通信インフラなどが挙げられる。
複雑系は、単純な要素に分解して法則や原理に落とし込む還元主義の方法論では理解できない。
生物を分解してしまうと死んでしまい「生物(生きている物)」として理解できないように、複雑系は分解してしまうと本質が抜け落ちてしまうものだからである。
したがって、複雑系の分野を貫く基本スタンスとして「複雑な現象を複雑なまま理解しようとする姿勢」を挙げることができる。
複雑な現象を複雑なまま理解しようとする学問、手法は「複雑系の科学」などと呼ばれることが多いが、その源流に眼を向けると、
アリストテレスの「全体とは、部分の総和以上のなにかである」といった言い回しにまで遡ることができる。
0151名前は開発中のものです。2014/09/10(水) 09:50:08.57ID:+NofARIs
座標を見た時に直線的になるものかと思ってた
0152名前は開発中のものです。2014/09/10(水) 09:55:53.07ID:pn1h5JmM
円運動や等加速度運動は非線形動作だが積分で解けるぞ?
0153名前は開発中のものです。2014/09/10(水) 10:04:39.49ID:bDY0fB3w
求まるのは前回からの時間の差分であって
移動量とかは加速度とか考慮したらいいじゃない
物理エンジンに投げちゃうとそんなに気にしなくて済むし
0154名前は開発中のものです。2014/09/10(水) 10:24:30.94ID:qlf1nlfh
非線形常微分方程式
線形の常微分方程式の解は、変数の数がいくら多くても、
あるところをグルグル回る(振動解)   あるところに収束する   無限大に発散する   のどれかになります。

ところが、非線形方程式になると、たった変数3つでも、予測不可能な複雑な解になる場合があります。
Lorenz 方程式
1963年、E.N.Lorenz は大気の運動のシミュレーションを試みました。次のようなLorenz方程式を導いたのです。

http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/Lorentz.gif
この方程式は、xz、xy といった2次の項(非線形項)を含みます。これが、非線形常微分方程式 と言われるゆえんです。

彼は、この方程式の解が、定常解でも周期解でもなく、不規則に振動を続けることを発見しましたのです。たとえば、
a=10、b=28、c=8/3
の時の解を、Euler法で積分すると、このようになります。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/lorenz1.jpg

「簡単な方程式からは、簡単な答えしか出てこない」または「真理は単純である」と信じられていた当時としては、この事実は衝撃的でした。
カオス状態では、初期値の違いが指数関数的に増大するという特徴があります。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/lorenz2.jpg
このことから Lorenz は、「長期の天気予報は不可能である」と結論づけました。
Lorenz の表現を借りれば、「アリゾナの砂漠に飛んでいる一匹の蝶が、ニューヨークに嵐がくるかどうかを決める」ということになります。これをバタフライ効果と呼びます。
http://www.gaia.h.kyoto-u.ac.jp/~sakai/visual/2/index25.htm
0155名前は開発中のものです。2014/09/10(水) 10:37:15.67ID:pn1h5JmM
質量の概念が考慮に入ってて質量物がもっさり粘りのある動作をするような
物理エンジンがあれば考えるわ
0156名前は開発中のものです。2014/09/10(水) 11:01:26.76ID:qlf1nlfh
非線形とか非可換は人間の限界を超えてるので扱わないことにしてただけ。
最近の物理ではそういう方を扱ってるようだが。




ゲージ・重力対応(AdS/CFT対応)
このような、超弦理論の「統一理論的な」性質を最大限に応用したアイディアの一つがゲージ・重力対応です。
この対応を用いると、ゲージ場の量子論における困難な計算や解析を、一般相対性理論における容易な計算に「変換」することが可能となる場合があり、場の量子論の新たな計算手法として注目されています。
http://www.phys.chuo-u.ac.jp/labs/nakamura/overview/index.html



AdS/CFT対応で探る非平衡相転移
概 要:我々の身の回りは非平衡現象であふれている。例えば物質に外部電場を加えて電流を流すという物理過程は、物質中で熱やエントロピーが生成される非平衡過程である。
このような非平衡過程を、電場や電流が大きく両者の関係が非線形となる領域で記述することは現代物理学の難問の一つとなっている。
この難問に向けての新たなアプローチとして最近注目されているのがAdS/CFT対応である。
この対応は、ある種の強結合ゲージ理論を一般相対性理論の言語に書き換える理論的 な枠組みであるが、これを用いると、ゲージ粒子の多体系の非平衡過程を一般相対性理論を用いて解析できる可能性がある。
講演者は最近、このAdS/CFT対応を用いて、強く相関する荷電粒子系の非線形電気伝導を重力理論を用いて解析し、非線形領域において、従来知られていなかったタイプの非平衡相転移が存在することを理論的に見出した。
この非平衡相転移では電気伝導度、あるいは微分伝導度が電流密度の関数として不連続に変化する。
2次相転移点も存在し、そこではいくつかの臨界現象を確認することもできる。
本講演では、発見された新奇な非平衡相転移について報告するとともに、AdS/CFT対応が非平衡物理学に新たな切り口をとなる可能性について述べたい。
http://asuka.phys.nara-wu.ac.jp/2013/07/13-03.html
0157名前は開発中のものです。2014/09/10(水) 12:31:50.45ID:O1JsX9o2
数学の、というか物理学の歴史問題になっちゃった
0158名前は開発中のものです。2014/09/10(水) 13:47:47.01ID:TOw/PRIW
ゲームプログラミングで非線形な運動を積分で求める必要性ってないと思うんだが
物理シミュレーションでも作ってんの?
0159名前は開発中のものです。2014/09/10(水) 13:53:07.44ID:V+psMTaV
ミサイルの誘導に使う
0160名前は開発中のものです。2014/09/10(水) 14:00:04.34ID:TOw/PRIW
>>159
そんな精密に計算する必要なくない?
位置、速度、加速度をフレーム間で線形に計算すればそれっぽく動くと思うんだけど
0161名前は開発中のものです。2014/09/10(水) 15:59:28.51ID:OJbZlwnu
>>143 のやりかただと動作環境によって挙動が少しずつ変わるから
内部計算の間隔は一定のものとして扱うのが一般的だと思うよ。
0162名前は開発中のものです。2014/09/10(水) 17:49:57.40ID:piOg7Z3/
>>141
ダブルバッファは描画の基本

バッファが1つだと、描画の途中経過が、画面に映されてしまうので、
見えない裏の画面にすべてを描いてから、表裏の画面を入れ替える
0163名前は開発中のものです。2014/09/10(水) 20:26:02.06ID:0Gu5fApf
>>162
多分>>141が言ってるのはそういうことじゃなくて、
マルチスレッドやらで描画リソースを2つ、例えばAとBを持って
Aを描画中にBを更新→Bを描画中にAを更新 っていう意味じゃないのかな
全ての描画リソースを2倍って言ってるし

DXライブラリが勝手にそうしてるって>>141が勘違いしてるかもだけど
0164名前は開発中のものです。2014/09/10(水) 21:02:15.93ID:+NofARIs
シーンをクラスで管理して、シーン遷移する時
メインループの中のUpdate関数の中で
delete this;
return new NextScene();
ってやりたいんですが、ぬるぽエラーにならないでしょうか?
関数はインスタンスに関係無くstaticな存在だと聞いたことがあるんですが、イマイチよくわからないです

受け取り側では
while(true){
if((scene=scene->Update())==NULL)break;
}
こんな感じで、NULLが帰ってきたらゲーム終了です
0165名前は開発中のものです。2014/09/10(水) 21:14:44.14ID:yJISCIw+
>>164
「C++ delete this」でぐぐると吉
0166名前は開発中のものです。2014/09/10(水) 21:17:37.71ID:yJISCIw+
追記だけども

> while(true){
> if((scene=scene->Update())==NULL)break;
> }
この方式なら、変数sceneをshared_ptrとかunique_ptrとかのスマートポインタにしておけば
代入のタイミングで元々入っているインスタンスをdeleteしてくれるから
そっちの方がシンプルで安全かも知れない
0167名前は開発中のものです。2014/09/10(水) 21:24:41.93ID:+NofARIs
基本的にはokみたいな感じですか
ポインタでしか使わず、配置もしない
0168名前は開発中のものです。2014/09/10(水) 22:26:12.02ID:+NofARIs
座標クラスを作ってoperatorを定義したいのですが、cppファイルに定義しようとするとエラーが出てコンパイル出来ません。
ネット上のサンプルではクラス定義と一緒に書いてるみたいで実装と分かれていません
operatorもtemplate同様ヘッダーでしか定義出来ないんでしょうか?
0169名前は開発中のものです。2014/09/11(木) 00:03:08.79ID:asVl9LWg
std::mapにキャッシュしておいたリソースをdeleteしたく全探索したいんですが、
beginで得たイテレータにインクリメント重ねると必ずendで得たイテレータになるのでしょうか?
0170名前は開発中のものです。2014/09/11(木) 00:08:52.32ID:dW8hm7Dr
デストラクタ(スマートポインタ)つかえよ。
そしたら自ら開放しにいかなくても、参照が消えたら開放されるはずだろ。
0171名前は開発中のものです。2014/09/11(木) 00:32:27.41ID:U19JA4G4
物体Aと物体Bを衝突しないようにLayer Collision Matrixでオフにしたんだけど
その状態でAとBが重なったかだけ取得することってできる?
onTriggerEnterとかもコリジョンオフにしたから動作しないし、
自前で衝突判定プログラム作るしかない?
01721712014/09/11(木) 00:33:42.60ID:U19JA4G4
>171
書くスレ間違えました
■ このスレッドは過去ログ倉庫に格納されています