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

推薦図書/必読書のためのスレッド in ゲ製作技術 4

■ このスレッドは過去ログ倉庫に格納されています
0001名前は開発中のものです。2009/02/15(日) 16:17:17ID:1D3XRObN
推薦図書/必読書のためのスレッド in ゲ製作技術 3
http://pc11.2ch.net/test/read.cgi/gamedev/1206381315/

推薦図書/必読書のためのスレッド in ゲ製作技術2
http://pc11.2ch.net/test/read.cgi/gamedev/1136546780/

推薦図書/必読書のためのスレッド in ゲ製作技術
http://pc8.2ch.net/test/read.cgi/gamedev/1086023829/

■ゲーム製作に役立った本・雑誌
http://pc5.2ch.net/gamedev/kako/1005/10050/1005061185.html

推薦図書/必読書のためのスレッドinゲ製作技術まとめ
ttp://gamdev.org/w/?%5B%5B%BF%E4%C1%A6%BF%DE%BD%F1%2F%C9%AC%C6%C9%BD%F1%A4%CE%A4%BF%A4%E1%A4%CE%A5%B9%A5%EC%A5%C3%A5%C9in%A5%B2%C0%BD%BA%EE%B5%BB%BD%D1%5D%5D
0701名前は開発中のものです。2009/07/30(木) 14:37:25ID:NXWavbDM
>>700
”基本的な事”から今度は”実践に生かせる”ときたか



お前様がどんな企業のどんな部署に配属されるか知らないのに
”実践に”なんて分かるか、禿

とりあえず、自己啓発系の本か>>2でも読んでろ


0702名前は開発中のものです。2009/07/30(木) 20:16:32ID:PhHgDYJz
>>698
個人的には、デバック周りの本と、subversion(今後なら、mercurial当りかな?)
とかのバージョン管理系は入る前に読んで。と思った。
あと、基本的なPC知識(OSが何をやって、メモリとは?バスとは?GPUとは?とか)は
ちゃんとおさらいして欲しい。

あとはあんまOpenGLは知らんでも良いとおもうな。
概念的な所とかはともかく、実際にはどっかのライブラリーか
自社ライブラリーを叩くのが新人で、
根本を弄くってなんとかするのはもっと経験積んだ人の仕事になりがちだし。
それよりかは、その辺のコード(非ゲームで十分)を沢山読んでおいて欲しい。
それと、数学が苦手は言訳にならないよ。

チャート式でもいいから買ってきて、最低限高校Lvはモノにしておくこと。
ちゃんとしたベクトルとか、その他本格的な数学は一人じゃ歯が経たない事はあっても、
高校Lvの数学は独学で十分なんとかなるんだし。
0703名前は開発中のものです。2009/07/31(金) 00:57:26ID:Et80HlK+
この話、以前に荒れた原因になったからスルーした方がいいんじゃない?
0704名前は開発中のものです。2009/07/31(金) 09:10:59ID:Am5sq6bL
一番重要な事を”ちなみに”で書くゆとりが多すぎる
0705名前は開発中のものです。2009/07/31(金) 09:51:07ID:BeoHjFw7
つーか実践的な事って普通は本に書いてないだろ。
本から得た基礎知識に実務経験を積んで実践的なものを得ていくんだろ。

EffectiveC++だってGemsだってそれ単体で実践的な何かが書いてあるわけじゃない。
0706名前は開発中のものです。2009/08/12(水) 11:25:16ID:YBiXdQB7
DirectXのサンプルのskinned meshを解説してくれてる本ってありますか?
0707名前は開発中のものです。2009/08/12(水) 12:47:11ID:3tdXe5WR
ねえよ、ねえ
0708名前は開発中のものです。2009/08/12(水) 15:55:15ID:YBiXdQB7
すいませんでしたっ!;
0709名前は開発中のものです。2009/08/12(水) 20:46:37ID:t/TOyu7I
「 3D格闘ゲーム プログラミング 」
モーション付き3DモデルをXファイルで読み込んで、動かすまでを解説してある。
DirectXでモデルを読み込む方法を知ることが出来る、
半分くらいがXファイル読み込みとモデル再生で、格闘部分は少ない。
全体的に説明もさらっと流して あまり詳しくない。
ページ数326、CD付き
0710名前は開発中のものです。2009/08/12(水) 20:56:10ID:YBiXdQB7
>>709
その本読んだら
Xファイルの読み込みが独自だったんですけど
これが一般的な方法なんでしょうか?

skinnedmeshのサンプルではライブラリで
読み込んでやってるみたいなんですが
0711名前は開発中のものです。2009/08/12(水) 21:33:49ID:gyYxJrA3
XファイルよむならD3DX使うわ。
なんでわざわざパーサーからつくらんとあかんのよ。
0712名前は開発中のものです。2009/08/14(金) 10:48:33ID:jvLkj7aF
ゲームプログラマになる前に〜 のp121の下のほうに
書かれている「クラス定義をヘッダに書く慣習がある理由は
複数のcppから見るからにほかならず単一のcppからしか見ない
場合はその理由は無くなる」の意味が良く分からないんですが
誰か教えてくれませんか?

ここでいう「クラス定義をヘッダに書く」ってのはクラスのメンバ
関数の定義までヘッダに書くって意味ですよね?
そうすると複数のcppから見るのに都合のいいことがあるんでしょうか?
0713名前は開発中のものです。2009/08/14(金) 11:27:01ID:hfqlofkb
ない。その文章はおかしい。恐らく著者の平山さんが何か考え違いをしている。
テンプレートとインライン展開以外でヘッダーファイルに定義を書かなければならないor
書いた方がいい理由は存在しない。

”ところで、cpp内にクラス定義を書くことに抵抗を感じるかもしれない”と書かれているので、
セガでは何でもかんでもヘッダーに書くのがデフォルトなのかもしれないが、いい習慣ではない。
0714名前は開発中のものです。2009/08/14(金) 12:46:30ID:VU+zOlln
>ここでいう「クラス定義をヘッダに書く」ってのはクラスのメンバ
>関数の定義までヘッダに書くって意味ですよね?
の部分が間違ってる。

クラス定義っていうのは構造体の定義と同様に、
クラスに含まれるメンバとメンバ関数の宣言が書かれる部分のこと。
C++ではよく定義は宣言を兼ねるけど、この場合メンバ関数の定義とは関係ない。
クラス定義がヘッダに無かったら他のcppファイルからは
そのクラスをvoidポインタとしてくらいしか扱えないわけで、都合が良い悪い以前の問題だよね。

ローカルに使われるクラスの定義は別のファイルに分ける必要が無い、
っていうのはそんなに珍しい話じゃないんじゃないかね?
07157122009/08/14(金) 13:42:41ID:k2fwC7uC
分かりました。
ありがとうこざいます
0716名前は開発中のものです。2009/08/14(金) 21:21:15ID:t2stfLyP
>715
そこはSEGAだろう。
JK
0717名前は開発中のものです。2009/08/15(土) 09:02:28ID:G5SdUnql
ちょっと疑問に思ったんですがクラスのメンバ関数の扱いってなんか
変じゃないですか?

たとえばa.cppとb.cppがあって、それぞれにclass Aがあったとしても
別なクラス扱いで、a.cpp内のclass Aとb.cpp内のclass Aがまったく
違ったものでも普通にコンパイルできますよね?

でも「ヘッダにクラス定義を書いて複数のcppから読み込む。
ヘッダのメンバ関数は他のcppで定義」ってやりかただと
クラスは別物扱いのはずなのにその中のメンバ関数は
同じもの扱い? になってませんか?

それ以前に以下のようなプログラムが普通にコンパイルされるのは
明らかにおかしい気がするんですが…
07187172009/08/15(土) 09:03:18ID:G5SdUnql
a.cpp
#include <iostream>
using namespace std;

class A{
void func(int a);
};
A fun();

int main(){
A ob;
ob = fun();

return 0;
}

b.cpp
class A{
public:
void ahya(int b);
int a;
int cici(int b);
};

A fun(){
A ob;
ob.a = 1;
return ob;
}
これってmain()内のobには何が入ってるんでしょうか?
0719名前は開発中のものです。2009/08/15(土) 09:09:48ID:FLgf6yWy
main()があるcppから読み込んでないから別に問題ないんじゃ
07207172009/08/15(土) 11:37:30ID:G5SdUnql
A fun();って関数はa.cppで宣言されて
定義はb.cppに書いてありますが、Aっていう型は
a.cppとb.cppでまったく別なものなのに動くのは
おかしくないですか?
0721名前は開発中のものです。2009/08/15(土) 11:58:42ID:xmBegnxf
なにいってるんだ・・・?
0722名前は開発中のものです。2009/08/15(土) 12:33:15ID:bniN4FJh
エスパーしたら何を言いたいか判った。
>>718はコンパイル・リンク時の検査を通過しているが非合法。
クラスや構造体の大きさが違うとスタック異常が起こることもある。

要するにC, C++では
グローバルな変数や関数やクラスの宣言を
プログラマの責任で一致させる必要がある。
それを守らなければ暴走しても知らん、という方針なんだよ。
0723暴走サンプル2009/08/15(土) 12:35:41ID:bniN4FJh
------ main.c --------
#include <stdio.h>

struct A {
int i;
};

extern struct A test();

int main() {
struct A a = test();
printf("%d\n", a.i);

return 0;
}
------ test.c --------
struct A {
int i;
int j;
};

struct A test() {
struct A a;
a.i = 0;
a.j = 1;
return a;
}
0724名前は開発中のものです。2009/08/15(土) 12:44:16ID:MWM1GoRZ
>>723はすんなり理解できたのに、>>718がよく分からん俺はどうすればいい?
0725名前は開発中のものです。2009/08/15(土) 21:07:36ID:/T5o3l5t
>717
つ 『無名ネームスペース』
0726名前は開発中のものです。2009/08/15(土) 21:16:13ID:FLgf6yWy
AAAAAAAAそんなにAサイズが好きなのかyo
紛らわしいコトしないでシンプルに行こうyo
0727名前は開発中のものです。2009/08/21(金) 10:13:19ID:FnN6vuyd
シリアスサムみたいなFPSのゲームを一人で作りたいなって思ってるんですが
セガの人の本を読むだけで可能なんでしょうか?
0728名前は開発中のものです。2009/08/21(金) 12:38:51ID:JJqXCuQc
いちいち可能なんでしょうかと聞くような
消極的な人には無理でしょう
0729名前は開発中のものです。2009/08/21(金) 16:57:04ID:xHxao0np
quakeのソースを読むべし!
0730名前は開発中のものです。2009/08/21(金) 18:02:32ID:F+GgPSDy
>シリアスサムみたいなFPSのゲームを一人で作りたいなって思ってるんですが
>セガの人の本を読むだけで可能なんでしょうか?

ひらしょう本を理解すれば3Dゲームを作れるだろう、
ただ、この本はゲームプログラマーの為の基礎を身に付ける為の本だから
余分な事も多いし、不足する部分も多い。ひとつの基準として良いと思う。

本を読むときに、あなたの技術レベルに似合った本を選ばなければ無意味になる
難しすぎても簡単すぎてもよくない。だから、あなたの技術レベルを知らないから最適な本を推薦できない。
0731名前は開発中のものです。2009/08/22(土) 08:43:24ID:mYYGbF+u
というのは甘えでプロならば1流になれるための最短コースを理解していなければならない
0732名前は開発中のものです。2009/08/22(土) 10:29:57ID:uAcmRt2C
??
0733名前は開発中のものです。2009/08/22(土) 11:45:46ID:jlkKrjDW
>1流になれるための最短コース

3Dやるなら
英語、数学、物理 を必要とする。
特に数学が主要部分を占めるから高等数学まで必要になる。

もし学生諸君であれば、英語、数学、物理を力いっぱい勉強しなさい。
0734名前は開発中のものです。2009/08/22(土) 19:34:30ID:UJPlGrDF
高等数学でいいのか
簡単すぎワラタ
0735名前は開発中のものです。2009/08/22(土) 19:41:07ID:PziF5/tU
微分積分、微分方程式、ベクトル解析、フーリエ変換、複素数、線型代数・・・
0736名前は開発中のものです。2009/08/22(土) 20:32:38ID:qTaZcYT6
物理エンジン作るなら数値解析とか
大学で研究するレベルがほしいけどな。

いずれにしろ一番難儀なのが英会話。
普通にビジネスレベルの英会話を習得するのが一番苦労する。
0737名前は開発中のものです。2009/08/22(土) 23:40:38ID:GwXOe4M4
高校のころ数学の使い道が全然見出せなかった俺に、3Dゲームで使うと早く言ってくれていれば…
ってか、使用目的を教えもしないで公式だけ覚えても無意味だよな
0738名前は開発中のものです。2009/08/22(土) 23:48:15ID:C3PmLLaq
高校数学程度なら二十歳過ぎてからでもすぐマスターできるよがんばれ。
数学をツールとして使うだけだから厳密な証明なんか出来る必要無いし。
0739名前は開発中のものです。2009/08/23(日) 13:26:48ID:dcZWL0fw
いま英語やってるけど何万後もある英単語覚えてると
まだ数学の方が楽に感じるわ・・・
0740名前は開発中のものです。2009/08/23(日) 14:49:09ID:YDjKOuOO
自分の頭が悪いのをネットで公言しちゃう男の人ってかっこわるい
0741名前は開発中のものです。2009/08/23(日) 16:37:17ID:j81uImd1
単語の暗記なんて問題にならねえだろ。
一番やばいのはネイティブの発音を聞けて
通じるように喋れるかどうか。
0742名前は開発中のものです。2009/08/23(日) 17:12:00ID:Tunz/wRV
>>737
>使用目的を教えもしないで公式だけ覚えても無意味だよな

昔の数学の偉い人は数学に実利を求めた弟子を破門にしたそうな
そういう人たちは、ひたすら公式見つけたり、新しい概念生み出したりして、数学の世界を探求するのが好きなだけなんだよな
そこが原点としてあるわけだから、実利的な教え方になってないんじゃないかと
0743名前は開発中のものです。2009/08/23(日) 17:32:57ID:xcieHNUS
まあ・・・違うだろうな・・・
0744名前は開発中のものです。2009/08/23(日) 17:37:26ID:j81uImd1
そもそも実利的な数学とかいうなら
大半の人間に微分積分三角関数なんていらねえよ。
0745名前は開発中のものです。2009/08/23(日) 18:19:04ID:iYL9j5nG
速度も加速度も回転も、大半の人間には関係ないと申すかw
0746名前は開発中のものです。2009/08/23(日) 18:30:29ID:j81uImd1
加速度の計算しながら車の運転でもすんのか?
0747名前は開発中のものです。2009/08/23(日) 18:38:24ID:xcieHNUS
これがゆとりか・・・
0748名前は開発中のものです。2009/08/23(日) 18:45:26ID:nBAQZJhY
>>742
教えなければいけない量に対して時間が少なすぎる。
受験に関係ないことを教えてるとPTAからクレームが来る。

高校教師でも数学の実利や面白さを教えられる優秀な人はいるんだけど
数が少ないのはこうした背景がある。
0749名前は開発中のものです。2009/08/23(日) 18:49:34ID:R/IHYMqd
727 名前:名前は開発中のものです。[sage] 投稿日:2009/08/21(金) 10:13:19 ID:FnN6vuyd
シリアスサムみたいなFPSのゲームを一人で作りたいなって思ってるんですが
セガの人の本を読むだけで可能なんでしょうか?
0750名前は開発中のものです。2009/08/23(日) 19:17:48ID:j81uImd1
数学の面白さが教えられたところで
数学者が増えるわけでもないし
まじめに数学をやろうつーやつなんてほとんど居ないだろ。
0751名前は開発中のものです。2009/08/23(日) 20:12:59ID:U3nM4D/V
高卒は黙ってろ
0752名前は開発中のものです。2009/08/23(日) 21:48:37ID:j81uImd1
日常生活で大学レベルの微分積分を使うほど
高尚な世界に住んでる人はやっぱ違うな。
0753名前は開発中のものです。2009/08/23(日) 22:05:36ID:TwI5YTSE
>>749
あなたの技術レベルを示しなさい。
セガ本を読んでから書き込みしみなさい。

この本で3Dゲームの完成までを丁寧に書いてある
しかし、読者の対象として大学入試レベルの数学と物理、
そしてC++言語の経験者を要求する。
別途勉強すればよい。

別の方法で3Dゲームを作るには
3Dライブラリを使う事です。2Dゲームと同様の技術で3Dゲームが出来る。
手軽ですが、ライブラリの範囲内でしか作る事ができないだろう。
ここで、ライブラリ以上のものを作ろうとすると 基礎数学が必要になり
セガ本などを読まなければならない。

ここで初級の3Dライブラリを紹介しておく
DarkGDK, Easy3D/C++ など

新規に新しいものを作るには、大学で学ぶ数学の考え方が必要になる
論理を組み立てて、証明して、論文にする。
0754名前は開発中のものです。2009/08/23(日) 22:23:34ID:iimlVNwc
グラフィックやサウンドの芸術的素養がすでにあるのなら
セガ本だけでも作れるかも。
普通はこれら全部をひとりでこなすのは無理だから
絵を描く人,サウンドを作る人,プログラムを書く人
というようにチームを編成する。
0755名前は開発中のものです。2009/08/24(月) 09:11:17ID:HajoB1Pv
週末に質問が入ると薄識共が身勝手な自論を展開した結果スレが荒れて困る
0756名前は開発中のものです。2009/08/24(月) 17:53:44ID:Przaadqt
>>753
2Dゲームと同様の技術

というのは例えばどういう技術ですか?
具体的に教えて頂けると、そこの部分を集中して学習したいです。

0757名前は開発中のものです。2009/08/24(月) 18:51:33ID:HajoB1Pv
まず”自分で調べる”を集中して学習すべきだ
0758名前は開発中のものです。2009/08/24(月) 23:09:48ID:kZJIFzmK
しかし昔に比べるとかなりネットから資料が消失しているきがするな。
0759名前は開発中のものです。2009/08/25(火) 04:56:34ID:PiLWQQgm
総量は増えてると思うが。
ただ、ブログの隆盛で分散してしまった感はある。
0760名前は開発中のものです。2009/08/25(火) 08:55:43ID:ClRPI9+V
シェーダーがどうとかグラフィックがどうとかの流行りもののネタばっかりで
3Dの概念的なものから消失されているようなサイトってかなり消失してないか?
ソフトウェアレンダリングしてる3Dエンジンをソース付きで公開してるようなサイトももうないし。
0761名前は開発中のものです。2009/08/25(火) 15:36:58ID:O4HkHgHG
ライブラリを使うと、2Dも3Dも同じ

具体的な方がわかりやすいから、サンプルで示す。

http://gamdev3.hp.infoseek.co.jp/cgi-bin/up/No_0460zip.html

2D.dba 3D.dba をテキストで開くと
ソースコードが見える。

.exeファイル
矢印キーで移動する。

3Dであっても単純なコードになる、
だから 2Dのゲームを作れるのなら、3Dもかんたんにできる。
0762名前は開発中のものです。2009/08/25(火) 15:47:49ID:YcewJeTt
>>760
> ソフトウェアレンダリングしてる3Dエンジンをソース付きで公開してるようなサイトももうないし。

Mesa + OpenGLを利用する3Dエンジン = ソフトウェアレンダリングしてる3Dエンジン

だと思うけどな。Mesaでは何が駄目なん?
0763名前は開発中のものです。2009/08/25(火) 18:42:12ID:FsvPbbFr
Mesaはスパゲッティコードになっているので
学習用途には適さないかな
0764名前は開発中のものです。2009/08/25(火) 18:42:52ID:FsvPbbFr
あとソースだけでもいいけど
最初はやっぱり簡単でも良いから解説が欲しい
0765名前は開発中のものです。2009/08/25(火) 19:55:37ID:PlDmfvEq
D3DXライブラリの実装についてまとめてある書籍ありませんか?
0766名前は開発中のものです。2009/08/25(火) 23:59:56ID:ClRPI9+V
ないだろ。
ていうかD3DXならヘッダ見ればいいだろ。
0767名前は開発中のものです。2009/08/26(水) 00:07:37ID:/c4HqP6Z
本当はD3DXについてわざわざ学びたくないのですが
なんかD3DXを自分で実装できないとダメみたいな空気がただよっているので
しかたなく勉強しようと思って・・
0768名前は開発中のものです。2009/08/26(水) 00:09:28ID:560ZEaiR
3DAPIを作りたいのかゲーム作りたいのか仕組みを知りたいのか
0769名前は開発中のものです。2009/08/26(水) 00:23:47ID:SECO3fLW
算術ライブラリのこと言ってんなら
そのへんに転がってるの3Dエンジンのソースでも見れば?
0770名前は開発中のものです。2009/08/26(水) 01:35:37ID:Dty72iqf
D3DXを作る必要があるなんて誰も言ってないと思うんだが。
他人が作ったライブラリを的確に使える技術のほうが会社では重宝するよ。

8割の人間が用意されたライブラリを使ってゲームを作るのが仕事で、
ライブラリをつくるのはほんの一部の人間の仕事だし。
0771名前は開発中のものです。2009/08/26(水) 04:09:07ID:7Qo8yLie
>>770
> 他人が作ったライブラリを的確に使える技術のほうが会社では重宝するよ。

他人が作ったライブラリを的確に使える技術を養うためには
自分でライブラリを作った経験があったほうがいいだろうけどな・・。
0772名前は開発中のものです。2009/08/26(水) 10:27:27ID:Dty72iqf
>>771
そりゃもちろんそうだけど。
それを新人に求めるのは酷だろう。
DirectXあたりで3Dゲーム1本作れればとりあえず十分だよ。

その後伸びるかどうかは本人次第だし駄目ならそれまでってこった。
門前払いでチャンスも与えないっていうのはやっぱ避けたいしな。
0773名前は開発中のものです。2009/08/26(水) 12:51:16ID:6uSz3LMP
せっかくの3Dライブラリも使いこなそうとすると、数学の知識とかが必要になって
結局ライブラリの中身も理解しないといけないのが鬱
0774名前は開発中のものです。2009/08/26(水) 14:56:18ID:pyO4A0On
>>733の「高等数学」を「高等学校の数学」と勘違いしている流れにワロタ
0775名前は開発中のものです。2009/08/26(水) 18:17:59ID:hZDebDg3
君は簡単な読み替えもできずしかも、この程度で笑いのネタにできるんだ
0776名前は開発中のものです。2009/08/26(水) 21:37:43ID:Dty72iqf
まぁ現実にはネットワーク特化とかGUI特化とか
色々なジャンルが存在するから数学と物理ができりゃいいってのは
グラフィックや3D系に特化する場合の話だけどな。

数学物理が大学院レベルで3Dプログラム余裕ですしって
やつがMMORPGのサーバーを組めるわけじゃない。
0777名前は開発中のものです。2009/08/26(水) 23:22:30ID:bJ5HhYok
質問です。

GPUに関する書籍を探しています。
ゲーム・3Dのプログラミングにかかわる書籍は多数ありますが、
GPUをはじめとするハードウェアの仕組みを解説した本は見かけません。

基礎的な仕組みからしっかり解説した本があれば理想的です。

洋書和書問いません。お勧めがあれば教えてください。
0778名前は開発中のものです。2009/08/27(木) 01:31:22ID:dAC+eNdw
Realtime Rendering読めばいんじゃね
0779名前は開発中のものです。2009/08/27(木) 08:33:52ID:vS5/hD0D
>>760
> ソフトウェアレンダリングしてる3Dエンジンをソース付きで公開してるようなサイトももうないし。

もうそのレイヤーが時代遅れという説
最近組み込みの雑誌かなんかでそういうの見た気もするが。
0780名前は開発中のものです。2009/08/27(木) 09:55:45ID:yIyLlncc
3Dのゲームエンジンが時代遅れってのは始めて聞くなあ
確かに「ライブラリを使うだけ」の人間は必要だが、
「ライブラリを作れる人」はもっと必要だよ。
フルスクラッチからOpenGLパイプラインを作れる人は
仕事にあぶれることはないよ。
0781名前は開発中のものです。2009/08/27(木) 10:39:13ID:vS5/hD0D
>>780
OpenGLってあんたそれレイヤー全然上。
ソフトウェアレンダリングってのは、ポリゴンを自前でクリッピングしてアセンブリャーでラスタライズしてって領域の話だぞ。

あと「フルスクラッチから」とか気持ち悪い言葉やめてほしい、俺的に。
0782名前は開発中のものです。2009/08/27(木) 10:41:24ID:vS5/hD0D
つかライブラリ屋もそろそろ仕事ないだろ。特に中小でしょぼい描画エンジンメンテしてるやつとかピンチ
昔アーケード基盤設計してた連中みたいに。
0783名前は開発中のものです。2009/08/27(木) 17:50:43ID:QKZx/rS1
脱線が著しいんでそろそろ自重せんかね
0784名前は開発中のものです。2009/08/28(金) 03:14:36ID:BCv73LP8
「土壇場プロジェクト成功の方程式」て本読んだ
読んだけど翻訳が分かりにくくて理解できなかった
0785名前は開発中のものです。2009/08/29(土) 16:10:55ID:hFJ/+Aiy
ゲームプログラマになる前に〜の本ってスマートポインタの作り方は書いてなかったよね?
0786名前は開発中のものです。2009/08/29(土) 17:17:23ID:P9iaH9Pe
別になくてもこまらねえし。
0787名前は開発中のものです。2009/08/29(土) 18:09:49ID:ZlIyMtQS
リソースの解放処理がされるのを保障出来るのは良いことじゃん
0788名前は開発中のものです。2009/08/29(土) 18:23:17ID:DRNIUSbQ
>>787
boost::shared_ptr を車輪の再発明しても仕方ないんじゃ..
0789名前は開発中のものです。2009/08/29(土) 18:42:32ID:ZlIyMtQS
まあそれを言ってしまうと
0790名前は開発中のものです。2009/08/29(土) 19:44:17ID:vUkK9z1w
VC 2008 SP1じゃstd::tr1::shared_ptrとして提供されてるし、
じきにstr::shared_ptrになるからね。
気になるならどれかの実装のソース読めば良い。
0791名前は開発中のものです。2009/08/29(土) 20:19:18ID:KU6O6Ntd
EffectiveC++(More だっけ?)読めばいいんでない?
スマートポインタの話それだけなら。
0792名前は開発中のものです。2009/08/29(土) 21:56:25ID:an/Ykmat
ちょっと聞きたいんだが、世間一般ではスマートポインタ使ってんの?
0793名前は開発中のものです。2009/08/29(土) 23:20:51ID:jxw4J9DF
うん
0794名前は開発中のものです。2009/08/30(日) 01:10:53ID:gOB5Vx9W
世間一般の事をココできいてもわかるわけねぇだろ
0795名無しさん@そうだ選挙に行こう2009/08/30(日) 07:11:04ID:5URTaSOh
>>791
巻末にauto_ptrの実装が2例載ってるのはMoreのほうだな
本当に載ってるだけだから、ソースが見たいなら手持ちのコンパイラに付属のヘッダファイルを見た方が早い
0796名無しさん@そうだ選挙に行こう2009/08/30(日) 08:36:48ID:Vp+tSpyX
機能やライブラリーは必要に応じて使いたいものを使うだけだ。
一般も糸瓜もない。俺はポインターに苦労し取らんから、あんまり使わないけどな。
0797名無しさん@そうだ選挙に行こう2009/08/30(日) 09:25:28ID:gOB5Vx9W
携帯機とかだとそんな所で無駄なメモリや処理使うわけにいかねえしな。
0798名無しさん@そうだ選挙に行こう2009/08/30(日) 10:54:56ID:5xkEFmOu
>>797
制約された環境で作業をしているなら
http://www.research.att.com/~bs/Performance-TR.pdf
の内容は把握しておくべき。
なんでこれ和訳されないのかねえ。

RAIIは便利なのはもちろん、例外安全性のためにもC++に不可欠だと思うけどね。
auto_ptrは問題外として、shared_ptrは参照カウントのコストが確かに存在するし、
将来的にはコンテナに入れない限りはunique_ptrだな。
0799名無しさん@そうだ選挙に行こう2009/08/30(日) 12:21:06ID:vZOSwWOe
>>798
797じゃないけど、面白そうなレポ サンクス。
これから、じっくり読んでみる。
0800名無しさん@そうだ選挙に行こう2009/08/30(日) 12:46:52ID:RMLe3lIS
携帯機向けでスマートポインタ使ってるよ。
それにパフォーマンスが問題になったことは一度も無いです。
boost::shared_ptrは遅すぎるので車輪を再発明する必要があるけど、
開発効率は上がると思う。

ゲーム(組み込み)向けのテンプレートライブラリ作るときに参考になると思う。(798と若干内容ダブってるかも)
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2271.html

書籍なら↓もありますね。
Effective STL
Windows プロフェッショナル ゲームプログラミング
■ このスレッドは過去ログ倉庫に格納されています