ゲームプログラミング相談室[3]
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNG駄スレ立てる前にココで聞きましょう。
■旧スレ
○パート1
http://piza.2ch.net/tech/kako/969/969984472.html
○パート2
http://piza2.2ch.net/test/read.cgi/tech/985540361
■関連スレ
○鬱だ氏のう DirectX 2 (DirectXに関する話題全般)
http://piza2.2ch.net/test/read.cgi/tech/997101556
○初心者はここで聞け!DirectX相談室 (おもに初級用らしい)
http://piza2.2ch.net/test/read.cgi/tech/991795568
0002デフォルトの名無しさん
NGNG, _ ノ)
γ∞γ~ \
曰 | / 从从) )
| | ヽ | | l l | / ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
ノ__丶从ハ~ ーノ___ < さくら!2番ゲットなんかしないもォォォォン!!
||ロリ||/)\>< | ¢、 \______________________
_ ||吟||/ 8 / ̄丶.)
\ ||醸|| . ̄ ̄ ̄ ̄\
||\`~~´ (<二:彡) \
||\|| ̄ ̄ ̄ ̄ ̄ ̄ ̄|| ̄
. || ̄ ̄ ̄ ̄ ̄ ̄ ̄||
0003デフォルトの名無しさん
NGNGおつかれさん!
0004デフォルトの名無しさん
NGNG| \
|Д`;;) ダメダ、、、・・・・モウゲ・・・ンカッ・・・・イ・・ダ
|⊂
|
♪ Å
♪ / \ ランタ タン
ヽ(;оД`)ノ ランタ タン
( へ) ランタ ランタ
く タン
♪ Å
♪ / \ ピカァ トコロント!
ヽ( оДо)ノ ティッカム!!
(へ ) キュピ ティチ
> ピカァ!
0006早起きさん
NGNGオーバーサンプリングなんてやってられないのだが。
00076
NGNG0008デフォルトの名無しさん
NGNG失敗する環境は存在するラシイ
素直に大きくGGO_BITMAPして縮小するか
オプション画面でも設けて失敗する環境ではGGO_BITMAPで取得するようにするべし
某プロばっかりのゲームプログラマーのMLでは無印Win95とNT,2000の特定環境で
不都合が出る場合があるのでGGO_GRAYn_BITMAPは使用してはいけない
GGO_BITMAPに関しては環境依存は存在しないという結論になってた
取り合えずこの程度のことを面倒くさがる奴はゲームプログラマーには向いてないので
趣味ならともかくプロなら転職をお奨めする
0009デフォルトの名無しさん
NGNGどこのこと?
0010デフォルトの名無しさん
NGNGどう失敗するのかおしえてくれ
それと
>GGO_BITMAPに関しては環境依存は存在しないという結論になってた
本気でそういうこといってるならばちょっとヤバい
http://support.microsoft.com/support/kb/articles/Q159/4/27.asp
0011デフォルトの名無しさん
NGNG>無印Win95とNT,2000の特定環境
それおしえてくれると助かるんだが
0012デフォルトの名無しさん
NGNG正直、
『不具合出る条件の特定作業が面倒くさい』尚且つ『不具合出したくない』ならば
Non-Antialiasedでやって。そんなん我慢できないよ嫌じゃ嫌じゃ絶対嫌じゃ
ってんなら素直にベジェの曲線情報からイメージ生成したほうが早えーだろ。
と言いたい。
00138
NGNGエロゲプログラマ御用達のところ
>10
真っ黒が返ってくるってのだったかな?>無印Win95
NT,2000での不都合に関してはあるらしいってんで詳細は書かれてないね>過去ログ見ると
おっと(・・)
NTでは依存発生するのか、いいこと知った
>11
明確な判断材料がないってんじゃなかったかなぁ
0014デフォルトの名無しさん
NGNG正直、あまり古い環境の奴を甘やかすのは好きじゃない。
ところで、GGO_GRAYn_BITMAPのパフォーマンスってどうなのかな?
誰か自前処理と比較してみた人いない?
「使い物にならないほど遅い」「信じられないほど速い」等の話があれば聞きたい。
俺が使うとしたら、DirectX Graphicsの文字描画ルーチン用だから、
GGO_GRAYn_BITMAPが使えないような環境は迷わず切り捨てだな。
まぁ、DirectX Graphics使うんなら1/2までの縮小はアクセラレータで処理できるから
無理にGGO_GRAYn_BITMAP使わなくてもいいんだけどね。ただ、それだとテクスチャ
サイズの制限が痛い。
Voodooも切り捨てていいのかな?
0015デフォルトの名無しさん
NGNG>もう無印Win95なんて切り捨てていいんじゃない?
>正直、あまり古い環境の奴を甘やかすのは好きじゃない。
>Voodooも切り捨てていいのかな?
趣味ならさ、そんなん好きなようにやっちゃっていいよ。
お友達同士でVoodoo持ってる人間がいないと分かればさ、
そこでスパっと切っちゃって全然大丈夫だろ?
それで済むならそうしちゃえ。
0016デフォルトの名無しさん
NGNGなんかパックマンのピンキーみたいに陰険なカキコだな。
0017デフォルトの名無しさん
NGNGえ、そう?
うがった読み方すれば確かに読めるとは思うけど・・・・。
でも、ここ相談室だから趣味でやってるほうが普通だし
漏れもその一人だし何とも感じなかった。
むしろ、あんま細かい互換性の確保にエネルギ注ぐより
完成にこぎつける方向で頑張ったほうが有意義だと漏れは思うYO
相談室的にいけば、だけどね
001817
NGNG○ うがった読み方すれば確かにそんな感じに読めるとは思うけど・・・・。
0019デフォルトの名無しさん
NGNGこれ、何の事なのかうまく読み取れんかったんだけど、
要するにテクスチャの縮小フィルタオプションでバイリニアフィルタリングを指定して
1/2縮小描画して2xサンプリングのAnti〜な出力を得るとかその辺の話だよね。
もしそうだとしたら、自前の2xサンプリングルーチンを使う場合と同様に、
例えば、ゲーム立ち上げ時とか必要なシーンの直前とか用途に合わせて
適当なタイミングでAnti〜な出力結果をまとめて生成して文字コードによる
UV参照テーブル作るような、ごく普通の使い方でいけばいい。
そうすれば、Voodooのテクスチャ寸法の制限(256×256)で生ずる手間は
他の方法と同様だし、ゲーム中文字描画が必要なシーンでのメモリ消費量も
同じになる。
というか、“あえて互換性とかを気にするんだとしたら”
この方法の場合、縮小フィルタでバイリニアが使えるかどうかとか
3Dカードのほうにも注意する必要があるし、もちろん代替処理が要る。
だから特別にメリットがあるというわけでもない。
0020デフォルトの名無しさん
NGNG好きにすれば良いと思うよ。誰も強制はしない。
0021デフォルトの名無しさん
NGNG0022_
NGNG0023デフォルトの名無しさん
NGNG0024デフォルトの名無しさん
NGNG多分職場のマシンでやってんだろうなぁ。たまらん。
0025デフォルトの名無しさん
NGNGうぇ〜ん。そんな大人、修正してやる。
00266
NGNGなにやら機嫌を損ねさせてしまったようだな。正直、悪かった。
ちなみにオーバーサンプリングやってられんってのは、実行時コストの話。
ま、それほど致命的な問題でもなさそうなので、GGO_GRAYn_BITMAPでいっとくわ。
趣味プログラムだしなー。
不具合が無視できないようなら、アドバイス通り、オーバーサンプリングに切り替えるよ。キャッシングしとけばコストも抑えられるかもしれんしな。
0027デフォルトの名無しさん
NGNG>キャッシングしとけばコストも抑えられるかもしれんしな。
あ、それやっておいたほうがいいよ。
00288
NGNGつーかここは失礼アマチュアの人のが多いんだね……
雰囲気読めてなかったよゴメン
キャッシングに関してはGetGlyphOutline()を使用しているといってる人
2人共に独自の方法でキャッシュしてるとのたまってたよ>そのMLでは
GetGlyphOutline()自体が比較的重いAPIだから
根本的に時間にクリティカルな処理を行うのには向かないと思う
画面中に一度に表示する文字数によっては
どの処理よりもボトルネックになる可能性があるよ
0029デフォルトの名無しさん
NGNG0030デフォルトの名無しさん
NGNGウダウダ言わんと好きなようにやれ。
0031デフォルトの名無しさん
NGNGvoodooといっても256*256テクスチャ制限のあるやつね(3以前)
003214
NGNG日本語の文字全部はテクスチャに入りきらないでしょう。
英数字だけならもちろん静的データとして持つよ。(そもそもGetGlyphOutlineなんて使わない)
主な使い道はチャットなんで、事前に用意するのはまず無理です。
でも、チャットにアンチエイリアスいらないか。
003319
NGNG>日本語の文字全部はテクスチャに入りきらないでしょう。
>英数字だけならもちろん静的データとして持つよ。(そもそもGetGlyphOutlineなんて使わない)
ちょっと待った。何故そんなトホホな話になるんだ。
うーん、そういう話は何処にも書いていないんだが。
スマンけど、なんか会話がスレ違ってきちまってる気がする。
整理された有益な会話を望むレスならば、まずは会話の流れとして
>要するにテクスチャの縮小フィルタオプションでバイリニアフィルタリングを指定して
>1/2縮小描画して2xサンプリングのAnti〜な出力を得るとかその辺の話だよね。
という確認部分について返事があると嬉しいんだが。
正直、この前提が当たってるのかどうかも分からんと
返答に窮してしまうよ。
よろしく頼むな。
00346
NGNGTextOut() を始めとする GDI のテキスト描画 API は、内部でこいつもしくは
相当なルーチンを呼んでいると思い込んでたよ。
つまり Windows でテキスト描画するのに最も高速なのは、
GetGlyphOutline() で独自にグリフを取得して、DC 絡みの調整処理を飛ばして
自力で描画する方法だと思ってた。
紳士プロフェッショナルな方がおられたら、教えていただけるとありがたい。
0035デフォルトの名無しさん
NGNG他の画面描画周りの演算と比べるとGetGlyphOutline()は重いってだけじゃない?
なのでテキスト描画のみに限れば6は正しいよ
ただキャッシングした場合と毎回GetGlyphOutline()するのを比べると
圧倒的にキャッシングが勝つってだけ
キャッシュが一切期待できないようなことをするならまた別だね
0036デフォルトの名無しさん
NGNGそれは通常使う意味でのキャッシュ(動的キャッシュ)ではないでしょ。
一回使った文字だけ、次はロードしなくてもいいようにキャッシュに
貯めておくのに使うテクスチャサイズは自由。
入りきらなくなれば利用頻度の少ない文字を捨てるだけ。
00376
NGNGつーかモノスケールって表現の方がおかしい気がする。
あんまり恥ずかしかったので自分で突っ込んでおく。
>35
フォローありがとう。文章読めない奴だな、俺は。
で、ふと思ったんだが、GetGlyphOutline() の GGO_GRAYn_BITMAP だけど
こいつの返すグレイレベル数からみて内部でオーバーサンプリングしている
のかもしれん。(n=2 で 5、n=4 で 17、n=8 で 65)
となると、GGO_BITMAP&自分でオーバーサンプリングでも、
実行コストをどうこう言うのは馬鹿げていたかもな。
GGO_GRAYn_BITMAP が異常データを返す条件がはっきり分かれば、
GGO_BITMAP に切り替えるふんぎりがつくのだが、本当に誰か知らないだろうか。
ゲームプログラマ失格でもいいからさ。知ってたら教えて欲しいよ。
0038デフォルトの名無しさん
NGNG>で、ふと思ったんだが、GetGlyphOutline() の GGO_GRAYn_BITMAP だけど
>こいつの返すグレイレベル数からみて内部でオーバーサンプリングしている
>のかもしれん。(n=2 で 5、n=4 で 17、n=8 で 65)
あなたはFreeTypeのソースでもよむとよかろう。
http://www.freetype.org/
ついでにいうと、これをつかえばOSに頼らずに
アンチエイリアス描画できるぞ。
00396
NGNG情報ありがとう。
でも、FreeType1 は高品質グリフを取得するのに
APPLE とのライセンス契約が必要みたいだし、
FreeType2 は GPL なんだね…。(;´Д`)
わがままでごめんよ。そろそろ逝くわ。
0040デフォルトの名無しさん
NGNGよく読めー
GPLじゃない、もっと制限の緩いFreeTypeライセンスを使えるよ。
それとVM(Appleの特許部分)はやってみればわかるがなくても十分。
0041通りすがりの
NGNGエロゲプログラマ御用達MLって、何処にあるのでしょうか?
少々興味が有りましたので...
00426
NGNGアーカイブの LICENCE.TXT を読んで理解した。
FTL と GPL の二者択一だったのねん。マヌケだたよ。
早い話、doc に FreeType コードを使用した旨を明記しとけばいいんだね。
ソースはまだ読んでない。へたれなんで多分理解できないしな。(;´Д`)
ただ FAQ を読むに、オーバーサンプリングやフィルタリング無しで、
256 level の anti-aliased イメージを生成しているわけか。優秀だな。
謹んで有効な選択肢の一つに入れさせてもらっておく。>FreeType2
00438
NGNGア○スソ○トの妹○雄○さんが運営してるところだよ
0044デフォルトの名無しさん
NGNG有用な議論してるのかと思ったら……
プロファイルしろや!!!!!
バカの巣窟。
0045デフォルトの名無しさん
NGNG0046デフォルトの名無しさん
NGNGコーディング前にベストな手法を他人から聞き出して楽しよーって話(w
004741
NGNG早速のレス、ありがとうございます。
ア○スソ○トは判るのですが、
妹○雄○と言う方の事は、私の知識ではまったく見当が付きません。
今回はあきらめることにします。
有り難うございました。
00488
NGNG○尾○大さんだよ>後はgoogleへ
0049デフォルトの名無しさん
NGNGゴミ溜め2chの情報乞食に自分で調べろゆーても話聞かんもん。
適当にあしらうなり放置プレイするなりホラ吹き込んで弄ぶなり
好きにしたらええがなー
0050デフォルトの名無しさん
NGNG良いアルゴあります?
17ms以内に処理を終らせたいので・・・
BBXに書いてた人?
0052デフォルトの名無しさん
NGNGBBX?
0053デフォルトの名無しさん
NGNG違〜う
SRPGを作りたいんです。
タクティクス・オウガみたいの
0054デフォルトの名無しさん
NGNGSRPGのマップ程度なら、どんなに糞遅いコード書いたとしても17msもかからん。
0055デフォルトの名無しさん
NGNGそれこそプロファイルかけろと言われかねん。
バリバリ3Dでもない限り描画以外の処理はそんなにかからんよ。
素直に実装してみそ。
0056デフォルトの名無しさん
NGNGまず、その17ms以上かかったという衝撃的ソースコードを
禿しくキボンヌー
0057デフォルトの名無しさん
NGNGは使えない?
0058デフォルトの名無しさん
NGNG0059デフォルトの名無しさん
NGNGW2K限定ならGDIでも一応は出来るよ。
使い方はここ(↓)に載ってるから。
http://www.microsoft.com/japan/developer/library/default.asp
0060デフォルトの名無しさん
NGNGhttp://www.microsoft.com/japan/developer/library/jpgdipf/_win32_alphablend.htm
0061デフォルトの名無しさん
NGNGWin98のAlphaBlendはバグバグで使い物にならん。
実質WinMe/2000以降限定。
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/bitmaps_6ig4.asp
0063デフォルトの名無しさん
NGNG感謝。ゲーム作成ソフトに、デザインのためのGDIのみでのABが必要だったのです。
もうwinXPも出るしwin98,95ユーザは範囲に入れないことにします。
0065デフォルトの名無しさん
NGNGゲーム用のツールでって意味だろ?
製作者側でしかつかわんなら問題ないでしょ。
オープン系の開発ならともかく。
0066デフォルトの名無しさん
NGNGそういえば、某フリーウェア雑誌は、
Win2kでの動作保証はしないと書いてあったな。
0067Win98ユーザー
NGNG0068デフォルトの名無しさん
NGNGはいはい。分かった分かった。悲ちい悲ちい。
■人生相談板
http://piza2.2ch.net/jinsei/
■心と宗教板
http://mentai.2ch.net/psy/
■人権問題板
http://ton.2ch.net/rights/
仲間に慰めてもらえ。
後、心療内科に行け。
0069デフォルトの名無しさん
NGNGまだ結構使われてるだろうWin95なんて、MSにも捨てられてるじゃん。
世の中には、Nimda防ぐためにIE6入れようとして、インストールできないやからもいるんだよ(藁
0071デフォルトの名無しさん
NGNG正直、そろそろ他所に逝ってほしい。
0073デフォルトの名無しさん
NGNGこの本買った人いますか?評価きぼんです。
0074デフォルトの名無しさん
NGNG昨日書店でパラパラ見たけど、要るか?
この手の〜の作り方本を買うくらいなら、他の基礎的な本を買って読んだ方が
いいんじゃないの?
基礎が出来れいればこの程度の応用ならできるだろうから。
0075デフォルトの名無しさん
NGNGこの板に「RPGの作り方教えてくださ」ってクソスレ立てる奴が一人でも減ってくれるなら、
俺的にはこの本の存在価値を認めてあげても良い。
0076デフォルトの名無しさん
NGNGかれらが作りたいのはFFだから(藁
0077デフォルトの名無しさん
NGNGっつうか、上げんな。
0080デフォルトの名無しさん
NGNG0081デフォルトの名無しさん
NGNG0082デフォルトの名無しさん
NGNG凄いじゃないか。Game Programming Gemsで消化不良おこして
腹をくだすぐらいなら、それ買ったほうがいい。いいよ。>>73
0083デフォルトの名無しさん
NGNG読んでないけど、キャラクタをクラスにするとか、スクロールのやり方とか、そういう簡単な事しか書いてないような気がする。
0084デフォルトの名無しさん
NGNG「よーし、パパはC++覚えてゲーム作っちゃうぞー」とか言ってるの。もう見て(以下略)
そりゃ売れるさ。
0085デフォルトの名無しさん
NGNGエディタってどれが良いの?
0086デフォルトの名無しさん
NGNG0087デフォルトの名無しさん
NGNG0088デフォルトの名無しさん
NGNG0089デフォルトの名無しさん
NGNGPSPってどうやって点打つの?
太いブラシとかエフェクトしかないんだけど。
ver7なんだけど機能が削られたのかな。
0090デフォルトの名無しさん
NGNG0091デフォルトの名無しさん
NGNG漢なら68エミュレータ上でEELを使うしか。
0092デフォルトの名無しさん
NGNG作者さんは、アドベンチャ−ゲームプログラミング書いた人だね。
これからはじめる人や挫折組みにはいいのでは?
0093デフォルトの名無しさん
NGNGEDGEとD-Pixedかな。
D-Pixedは昔使ってたけどアンドゥが一回しかできなかったり、
範囲選択中に不用意にクリックするといつのまにか変なところに貼り付け去れちゃってたり
したんで、徐々にEDGEに移り中。
うちのグラフィッカさんは移行が面倒らしく、何度もデータ消しながら泣く泣く使ってる。
データ消えて時に叫ばれる奇声はもう聞きたくないので、そろそろ乗り換えてほしい・・・。
EDGEもD-Pixedになれた身にはちょっと、操作の面倒くささがあってなかなか慣れられないけど。おれは
0094デフォルトの名無しさん
NGNGプログラム言語が理解できなくて挫折した人のほうが多いと思われるのでツクールを推奨。
009588
NGNG遅レス御免。
Ver.3の頃のPSPは今とは別物と考えた方がヨシ。
イラスト系の絵を描こうとすると相当使えないシロモノだけど、
逆にドット打つのにはかなり便利。
なんというか、アイコンエディッタ系のソフトを強化したという感じ。
レイヤー機能が無いのが痛痛痛々々・・・・
0096デフォルトの名無しさん
NGNG0097デフォルトの名無しさん
NGNG0098デフォルトの名無しさん
NGNG0099デフォルトの名無しさん
NGNG0100デフォルトの名無しさん
NGNGえっと、Game Programming Gemsの誤植表とかないですか?
クォータニオンの乗算とか盛大に間違えてる気がする。
とりあえず自分で導出したからいいけど、
他にもたくさんあるんちゃうかみたいなー。
0101デフォルトの名無しさん
NGNG初版に手を出してはいけないの法則。
0102100
NGNG0104デフォルトの名無しさん
NGNGマジっすかー。
せっかくだから正誤対応表つくろうよ。
0105デフォルトの名無しさん
NGNGMSXや68時代のドットエディタみたく、右ドラッグで連続コピーできるし。
0106デフォルトの名無しさん
NGNG例えば、相互参照するようなものの場合、
片方解放しちゃうともう片方からアクセスした場合、
中身は保証されないよね?(運良くアクセスできるかもしれない程度)
やっぱ、生ポインタは危険だから、1クッションおく?
それとも、片方解放した時に、もう片方に解放したというメッセージを渡す?
なんかスマートでこの方法で管理しておけば、ラクだし応用きくぜっ
て言う方法は無いかな?
あ、ここでのオブジェクトは、「敵A」とか「自機」とかのレベルね。
0107デフォルトの名無しさん
NGNG0108デフォルトの名無しさん
NGNG私も知りたいですね。>スマートな管理
Singleton なら static なポインタを仲介して
1クッションですが、そうでないときは
メッセージ流すくらいしか思いつきません。
0109デフォルトの名無しさん
NGNG>それとも、片方解放した時に、もう片方に解放したというメッセージを渡す?
これが一番いいんじゃない?
0110106
NGNGいや、むしろ用途的には片方参照しかしない場合でもいい。
参照しているオブジェクトがいつのまにか不定になっている場合の問題を想定してる。
その場合でも、オブジェクトを解放する時に参照している側にメッセージを送るとなると、
どのオブジェクトに参照されているかをリストかなんかで管理しないといけなくなる。
すると結局相互参照になっちゃうわけで。
>>108-109
やっぱ、メッセージ流すのがはやいか・・・。
0111106
NGNGオブジェクトを生成したときには、ユニークなIDを割り振り、管理者に通知(管理者側はリストに追加)。
オブジェクトを破棄するときには、管理者に通知(管理者側はリストから削除)。
オブジェクトを参照する場合は、管理者にIDを渡してオブジェクトの実体をもらう、と。
IDに対するオブジェクトが存在しない場合は、オブジェクトが無いよということを返してもらえばOK。
0112106
NGNGとりあえず、オブジェクト生成時に管理者に登録、破棄時に削除するのは前と同じ。
管理者がオブジェクトを削除するときには、リストに登録してある全オブジェクトに
削除メッセージをブロードキャストする、と。
0113デフォルトの名無しさん
NGNG生成・消滅が頻繁に発生する場合だと
メッセージ配信のコストがリストにつながる数に比例するので
それがネックですね。許容できるかどうか…。
1フレーム毎に100超えるとキビシイ気もします。
よりスマートな方法はないものでしょうか。
0114デフォルトの名無しさん
NGNG生成消滅が頻繁ならばブロードキャストせずに管理リストの方にインスタンス判定
の仕組みをつくっておいて、必要に応じて各オブジェクトがアクセスする。
リストからターゲットのインスタンス情報を取り出すアルゴリズムが勝負になる。
0115114
NGNGグループ分けして検索対象を最初から絞り込めるようにしておくか。
これ以上は汎用的な話ではなく、ケースバイケースで対象のHit率の偏りを
利用してゆくしかなさそう・・・。
0116デフォルトの名無しさん
NGNG信じられない!
表示オブジェクト1個1個に実スレッド割り当てる馬鹿は居ない。
0117デフォルトの名無しさん
NGNGそりゃそうだ。
つーか >>106はそんなこと言ってないんじゃ?
メッセージっていってもスレッド間の非同期メッセージだけじゃないでしょ。
単なる同期関数コールだって、メッセージといえないことはない。
というか文脈からそう思った、常識的に。
0118sage
NGNGカウンタが0になった時点で自分自身を削除する。
カウント処理漏れはスマートポインタでなんとかする。
ただしこれはあまり根本的な解決では無いような気もする。
0119デフォルトの名無しさん
NGNGスレッドでないにしても消滅するとワーク解放するのが駄目。
0120106
NGNG>>116-117
まぎらわしくてすまんのぉ。
オブジェクト間どおしの通知のことだわ。117のとおりで。
>>119
で、ワーク解放しないでどうするの?ほっておくとメモリ食いつぶすけど。
0121デフォルトの名無しさん
NGNG質問。
デフォルトのnew演算子を使ってるのだろうか。
つまり、「オブジェクト毎のワークの解放動作」がすなわち
「ヒープの解放動作」となってるのだろうか。
もし仮にそうならば、
例えば、解放後のオブジェクトにアクセスしても、OSに叱られない
ようにする方法も模索してみてはどうか。
0122121
NGNGそのメモリ領域が所望の情報をまだ格納してるのか(まだ解放されずに無事なのか)
どうかを吟味すればいいのではなかろうか。
0123デフォルトの名無しさん
NGNGシステム屋がゲーム作ってはいけない見本。
0124デフォルトの名無しさん
NGNG表示オブジェクトの終了状態とそのメモリを使用しているプログラムの
状態とは別のものです。
よって、表示オブジェクトの終了をもってメモリを解放するのは
間違ってます。
0125デフォルトの名無しさん
NGNG0126デフォルトの名無しさん
NGNG0127デフォルトの名無しさん
NGNGオブジェクトのアクティブ化、非アクティブ化と読み替えても
今までの話は当てはまるんじゃない?
それほど目新しい話でもなかったけど。
0128106
NGNG無能さが露呈したか
こちらのシステムは、今は「オブジェクト解放=ヒープ解放」になってる
# はず。処理系のメモリマネージャまかせなんで
で、オブジェクト解放しちまうと、メモリを参照したときに危ないと。
だもんで、
・解放したことを他のオブジェクトに知らせる
・インスタンスがまだあるか(解放されずに無事か)調べて対処する
などと、解決策を考えているところ。
ところで、メモリマネージャを自作して「オブジェクト解放≠ヒープ解放」としたところで、
いつかその解放した領域を再割り当てしてしまっては、
結局間違って参照したときに問題が起きるのでは?
>>123
イタイイタイ石投げないで・・・
>>124
了解
0129デフォルトの名無しさん
NGNG>結局間違って参照したときに問題が起きるのでは?
例えばどのような問題を懸念する?
0130吾輩は名無しさんである
NGNGゲーム内のオブジェクトは相互参照しまくっててややこしいので、
どうフールプルーフを確保したものかと。
吾輩も新オブジェクト管理システム設計中なのでしばし待て。
0131デフォルトの名無しさん
NGNG死んだオブジェクトという状態(死体)が必要無いわけでしょ?
上記の等式が成り立たないなら
状態を持って管理しなきゃ。
0132デフォルトの名無しさん
NGNG>>131
勉強になる。
0133デフォルトの名無しさん
NGNG0134デフォルトの名無しさん
NGNG>要するにワイルドポインタとかダングリングポインタの問題であろう。
すいません。
後者(dangling pointer)をここで懸念する理由が分からないです。
(前者は定義が分からないので省きます)
つまり、アプリ側が管理するメモリ領域(例えば固定長メモリプール)内の
オブジェクトを指し示すポインタがあるとして、例えばそのオブジェクト内の
固有のIDを調べたら『システムエラー』が発生してしまう、などとという
状況が想像できません。
単にアプリのメモリ管理自体がバグバグのヘボヘボというだけのような
気がするんです。どうなんでしょうか。
0135デフォルトの名無しさん
NGNG0136デフォルトの名無しさん
NGNG単なる整数型のIDだったら問題ないだろうけど、
ポインタだったりすると変なとこりードライトしたり。
関数ポインタだともっとヤバイでしょ。
0137デフォルトの名無しさん
NGNGラスタースクロールこそ時代の先端
0138デフォルトの名無しさん
NGNG0139デフォルトの名無しさん
NGNGラスタースクロールって何?
0140デフォルトの名無しさん
NGNG0141デフォルトの名無しさん
NGNG0142デフォルトの名無しさん
NGNG0143デフォルトの名無しさん
NGNG0144デフォルトの名無しさん
NGNG0145デフォルトの名無しさん
NGNGもうやってる人がいる。
http://homepage1.nifty.com/open-prog/wonderwitch/index.html
0146134
NGNG>Windowsとかのアクセス保護エラーのイメージなんじゃないの?
勿論です。
>単なる整数型のIDだったら問題ないだろうけど、
>ポインタだったりすると変なとこりードライトしたり。
>関数ポインタだともっとヤバイでしょ。
勿論です。
文章がうまく伝わってなかったみたいで、すみません。
補足すると、134では以下の話の流れを元に質問しました。
>>106 → >>121-122 → >>128 → >>129 → >>130 → >>134
元の>>106の話題としては>>119,>>124,>>131辺りの解答が
どうも話の本筋みたいなので、それとは少しズレた質問かもしれません。
0147134
NGNG○ 回答
0148デフォルトの名無しさん
NGNGマジレスされてしまった。鬱氏。
0149デフォルトの名無しさん
NGNGワラタ、同情するよ
0150デフォルトの名無しさん
NGNG敵オブジェクトを弾オブジェクトの判定メソッドに引数として渡すべきか、
弾オブジェクトを敵オブジェクトの判定メソッドに引き渡すべきなのか、
わかりません。
順当にいくと弾に引き渡すほうが自然だと思うのですが、
またはぜんぜん違う方法でやるべきでしょうか。ちなみに言語はC++です。
0151デフォルトの名無しさん
NGNG0152150
NGNGそれだ!
3Q!
0153デフォルトの名無しさん
NGNG例えばオブジェクトの生成はそのシーンの始めに必要な分を配列で一括して
行い、解放もシーンの最後にまとめて行う、じゃ駄目なの?
んで、オブジェクトに flag を持たせて、その flag を見てオブジェクトが
再利用可能か現在使用中なのか判別して管理する、と。 例えば、シーンの
途中で、そのオブジェクトがいらなくなったら解放するのではなく flag を
立てて、再利用可能状態 = そのオブジェクトは解放されている、とする、
みたいに。
0154デフォルトの名無しさん
NGNG通はOOOOO(企業秘密)
0155デフォルトの名無しさん
NGNG一文字多いぞ(w
0156デフォルトの名無しさん
NGNG単純なフラグだと、使用を終了した後の配列を直後に別のオブジェクトが
使用した場合、子が死ななくなるのでマズイ。
0157デフォルトの名無しさん
NGNGそれ、一言でいえばメモリプールだと思う。
>>121-122や>>134辺りで出てる話と仕組みは同じ気がする。
0158デフォルトの名無しさん
NGNGこれが正しい一家心中。
0159デフォルトの名無しさん
NGNG0160デフォルトの名無しさん
NGNGオブジェクトのデータ構造と、相互参照をどうするかは別々の問題でしょ。
0161デフォルトの名無しさん
NGNG0162デフォルトの名無しさん
NGNG0163デフォルトの名無しさん
NGNGC++ の場合は operator new を override すれば良いだけですな。
0164デフォルトの名無しさん
NGNG気になる〜。ご教授お願いいたします。
0165デフォルトの名無しさん
NGNGまず、インスタンスは解放しないってのは前提だよね。
それで相互参照してる相方が非アクティブになったことを知りたいんだよね。
子が死なないとか、一家心中とかってそれと関係あるの?
オブジェクトの集団を管理するオブジェクトを親とよんでる?
子オブジェクト同士の直接の相互参照をさせずに管理オブジェクトを介して
情報やり取りする、という話?
0166150
NGNGまぁ、確かに、OOでいくと、チェックするクラスを独自に作るのは変かもしれないが、
俺の設計がクソだったので、チェックするクラスを追加するとうまいぐあいにいった。
0167デフォルトの名無しさん
NGNGオブジェクトを生成したオブジェクトが親、生成された方が子。
親子の話は違ったかも。
単に一つの配列の決まった場所、あるいは範囲に各々のオブジェクト用の
ワークを配置して配列番号で見に行けば済む事です。
0168153
NGNGんん? 子って、どれのことを指してる?
>>157
うん。121-122 の具体例の一つとして上げているだけだね。
>>160
もともと、相互参照が主題ではなくて、オブジェクト解放後
の参照(と解放動作による時間的ロスも?)を防ぐのが目的じゃないの?
相互参照してる相方が生きているかどうかは flag で判断できるし。
0170デフォルトの名無しさん
NGNGミサイルとか考えてしまった>親子
0171106
NGNGリソースにアクセスする方法がかいてあった。
よく読んでないのがバレバレだ。逝って来る・・・。
0172デフォルトの名無しさん
NGNGでもこーゆーネタ載ってるGame Programming Gems(・∀・)イイ!!
0173デフォルトの名無しさん
NGNGttp://www2.tky.3web.ne.jp/~yosshin/memo/000213.html
0174デフォルトの名無しさん
NGNG0176デフォルトの名無しさん
NGNG0177デフォルトの名無しさん
NGNGiアプリ開発者は皆一度は導入してみて、やっぱSOには効かないのであきらめて
gc消したりしてると思うのは俺だけ?
0178iアプリ開発者
NGNGていうか、昨夜から致命的に的外れなカキコが散見されるのは何よ。
0179デフォルトの名無しさん
NGNGextrinsicな情報を領域解放せずにどうやりくりするかである。
混乱するから止めれ、意味深な的外れは。
0180デフォルトの名無しさん
NGNG0181106
NGNG0182デフォルトの名無しさん
NGNG0183sage
NGNG0184デフォルトの名無しさん
NGNGここでは・・・
なんか具体例が無いとこれ以上はやりにくい。
0185デフォルトの名無しさん
NGNG1つの関数に、それと同じくらいの(関数ソースと同程度、もしくはそれ以上の文字数の)
コメントは要るだろ。バグ出して速攻修正出せないゲームメーカーのプログラマは、
大抵このケースだな(コメント書いてない)。
ナイキスト曲線の計算もいいけど、ソース設計をもちっと勉強したほうがいいんじゃない?
って奴が、この業界たくさんいるからなぁ・・・
結論:
コメントがないソースは、自慰ソースという事で。
0186デフォルトの名無しさん
NGNGのんきに馬鹿にも理解できるように大量のコメント書いてるほど
ゲームプログラムは暇じゃない。
0187デフォルトの名無しさん
NGNG見てみたい
0188デフォルトの名無しさん
NGNGi = 5; // 変数 i に 5 を代入する
とか書いてあるんじゃないのかな
0189デフォルトの名無しさん
NGNGMind 使えと言いたくなるね。
0190デフォルトの名無しさん
NGNGなんすかなんすかそれ?
0191デフォルトの名無しさん
NGNG日常言語に近い言語。
みていて非常につかれる。
コメントってのはわかりづらいと思われる場所に書くべきものであって
みて明らかな部分にコメントをつけるのはナンセンスでしょ。
0192185
NGNG関数作ったなら、必ずインターフェイス(引数、返り値)のコメント
も作りなさい、って事だ。例えば、
/********************************************************************************
矩形アルファブレンド処理
BOOL AlphaBlendingRect( GRAPHICPLANE PlaneDst,
int PointXDst, int PointYDst
GRAPHICPLANE PlaneSrc1,
int PointXSrc1, int PointYSrc1,
int XSize, int YSize,
GRAPHICPLANE PlaneSrc2,
int PointXSrc2, int PointYSrc2,
int AlphaIn, int MMXFlg ){
引数
GRAPHICPLANE PlaneDst : 出力先プレーン
int PointXDst : フェード開始X座標
int PointYDst : フェード開始Y座標
GRAPHICPLANE PlaneSrc1 : 入力プレーン1
int PointXSrc1 : フェード開始X座標
int PointYSrc1 : フェード開始Y座標
int XSize : 幅
int YSize : 高さ
GRAPHICPLANE PlaneSrc2 : 入力プレーン2
int PointXSrc2 : フェード開始X座標
int PointYSrc2 : フェード開始Y座標
int AlphaIn : アルファ値
int MMXFlg : MMXフラグ
返り値
int 0 : 正常終了
1以上 : エラーコード(異常終了)
*********************************************************************************/
とかな。
最近見た他人のソースで、しっかり書いてる奴あまり見かけん。
まずは!バグ出したくなかったら綺麗にソース書け!
注釈は書いても損にならないし、逆にメリットタプーリだぞ?
っていうか、ある程度プロでやってるのならわかるっしょ?>186氏
(プロじゃなかったらスマソ)
0193185
NGNGイッテキマース
0194デフォルトの名無しさん
NGNGおお!長い引数派発見!
同士よ!
0195デフォルトの名無しさん
NGNG0196デフォルトの名無しさん
NGNGしてみてはどうでしょう。
0197長い引数派
NGNGそれはDQNプログラムの見本のようなもの。
一見綺麗に見えるが、可読性はかえって悪くなる。
何を渡しているか見るときにいちいち構造体に置きに行く部分を
見に行かなければならないし、使わない構造体だから忘れる。
結論。引数を縮めるためだけの構造体はDQN。
0198デフォルトの名無しさん
NGNG0199デフォルトの名無しさん
NGNGそういう場合もあるけど、定数いれて使う場合は不便。
0200185
NGNGあまり得策ではないと考えたため、今に至る。
なぜなら、
void TestProg( POINT a );
のような関数の場合、引数に直接数値を入力する場合
{
POINT Test;
Test.x = 100;
Test.y = 100;
RectProg( Test );
}
と渡さなければいけないけど、構造体を使わずに引数を作成すると、
void TestProg( int x, int y );
の場合、
RectProg( 100, 100 );
の1行で済んでしまうわけDa!
0201デフォルトの名無しさん
NGNGやはり同士は同じ考えのようだな。w
0202デフォルトの名無しさん
NGNGってかプロさんよ。BOOLに対して
> 返り値
>int 0 : 正常終了
>1以上 : エラーコード(異常終了)
は、一応 int 0 と書いてあるからBOOLを int にキャストした場合の
値の事なんだろうけれども、いかがなものだろうか。
0203デフォルトの名無しさん
NGNGC++でPOINTが適切に定義されていれば
RectProg(POINT(100,100));
ですむがな。しかもわかりやすい。
0204デフォルトの名無しさん
NGNGせめて、
POINT Test = {100,100};
RectProg( Test );
にしてくれよ。
0205デフォルトの名無しさん
NGNGTest = (Point *)malloc(sizeof(Point));
SetPoint(Test, 100, 100);
RectProg(Test);
なぞはもってほかでしょうか。
0206デフォルトの名無しさん
NGNGでも遅い。
0207デフォルトの名無しさん
NGNGまぁ、Cだったらそれは使えないし、
結局は全体としてどう体系化されているかだろうね。
自分だけがインタフェースこだわっても仕方なかろう、インタフェースなんだから。
0208長い引数派
NGNGエラーの種類増やしたい時不便、というのは言い訳で、単純な
構造を好むから扱う型は増やしたくない。
ついでにいうとINTは機種依存だから使わない。
0209デフォルトの名無しさん
NGNG0210デフォルトの名無しさん
NGNG0211デフォルトの名無しさん
NGNG俺は思った。
機種依存性なんて気にする方が馬鹿じゃないかと。
だってintが32bitのコードが16bit環境でまともに動くわけないじゃん。
結局全部書きなおす必要があるんだしね。
0212185
NGNG今、Pieceちゅー奴のプログラムやっとるけど、RiscCPUは
WORDが32Bitなんだな。この前知った俺はやっぱヘボですか?
データ転送でなーんか失敗してたのよね(;´Д`)
0213デフォルトの名無しさん
NGNG208の発言を好意的にみて、たぶんただのintは使わずに
typedefされたものをつかうぜ!という意味だと思う。
大文字でINTと書いてあるのが謎だけど。
0214デフォルトの名無しさん
NGNG> 結局全部書きなおす必要があるんだしね。
あんたが一般的なプログラマならば「全部」は言い過ぎだろ・・・
それとも全部書き直さなきゃいけないようなコードをいつも書いてるのか?
0215デフォルトの名無しさん
NGNGintだとちゃんと適正なビット長になってるかどうか判断できないってこと
じゃないの? 速度を極めるならレジスタ長なんかも気にするだろうし。
ま、普通はintは適正なビット長をとるもんだけど。
0216デフォルトの名無しさん
NGNGソース量は関係ないだろう、
どっちかというと大事なのはコンパイル後のバイナリサイズだ。
0217デフォルトの名無しさん
NGNG全部というか、変数の型に依存する部分の話ね。
例えtypedefでUint32とかUint16とか定義しても、
16bitCPUでのUint32演算の速度なんて比較にならないくらい遅いし。
ちなみに当方ゲームPGね。
0219デフォルトの名無しさん
NGNG暇なのでコメントを昔の俺流に書き換えてみた。
引数いちいちコピってると、うっかり不整合を出してしまったりして
メダパニになるのでこうなったのだ。
今はドキュメント生成ツールを使ってるからどうでもいいんだけどー。
//***************************************************************************
//* 矩形アルファブレンド
//*
//* 返り値
//* 0 : 正常終了
//* 1以上 : エラーコード
//***************************************************************************
int AlphaBlend(
GraphicPlane dstPlane // 出力先プレーン
int dx, // フェード開始X座標
int dy, // フェード開始Y座標
int width, // 幅
int height, // 高さ
GraphicPlane srcPlane1, // 入力プレーン1
int sx1, // フェード開始X座標
int sy1, // フェード開始Y座標
GraphicPlane srcPlane2, // 入力プレーン2
int sx, // フェード開始X座標
int sy, // フェード開始Y座標
int alpha, // アルファ値
int mmxFlag) // MMXフラグ
{
...
0220デフォルトの名無しさん
NGNGふーん、ってかんじだけど、
192よりはこっちのほうがシンプルでいいと思う。コメントのつけかた。
0221デフォルトの名無しさん
NGNGちゃうよ。
char,short,long、+unsignedを使ってる。
intが機種依存なのはCの入門書に書いてあることだし、多機種扱う
PGが機種依存なコード書くのは間違い。
0222デフォルトの名無しさん
NGNG0223デフォルトの名無しさん
NGNG速度を求めるなら構造体のポインタ渡しなりにすべきだけどね。
保守性って意味ではそうなのかもね。
ケースバイケースってやつだよね。
ね。
0224デフォルトの名無しさん
NGNG依存しないと思ってる。
0225デフォルトの名無しさん
NGNGでは、K&Rでもお読みあれい。
0226デフォルトの名無しさん
NGNG引数の数が2、3個なら値渡しにした方が高速な場合も多い。
RISC系はレジスタで渡すしね。
0227デフォルトの名無しさん
NGNGそういうのはsys/type.h(だったかな?)書き変える。
0228デフォルトの名無しさん
NGNGいらない。問題起きたら自分で解決する。
0229デフォルトの名無しさん
NGNG0230デフォルトの名無しさん
NGNG依存します。知っておいた方がよい。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGってことはそのソースは永遠にあなたの手を放れなくて
永遠にあなたがメンテをおこなうってことね。
気楽でいいなあ
0233デフォルトの名無しさん
NGNGそうだけどなにか?
0234デフォルトの名無しさん
NGNGcharが8bitでない可能性を考慮するより、
charが8bitでないコンパイラを使わないようにした方が
幸せになれると思うのだが。
0235デフォルトの名無しさん
NGNG凄く勘違いしてる。
0236デフォルトの名無しさん
NGNGそういう勝手なことするのはいただけないなぁ。
せめてユーザー定義のtypedefにして欲しい。
あんたがプロジェクトの開発の最高責任者とかなら止めないけど。
0237デフォルトの名無しさん
NGNG標準のヘッダファイル書き換えか・・・
綺麗じゃないが手っ取り早そうだ。
一緒に仕事はしたくない人種ではある(藁
0238デフォルトの名無しさん
NGNGえ、じゃあおしえてよ
自分のソースを自分がメンテしなきゃいけないってことじゃないの?
それともあなたのまわりはそういうソースをかく人間でいっぱい
ってこと?
まぁ俺の周りもそういうやつでいっぱいだけどさあ
0239デフォルトの名無しさん
NGNG自分で全部メンテできる範囲でしか仕事しないのか?
過去から未来にかけてあわせて。
他人に引き継げるようなソースを書いて仕様書書いて、
新たなプロジェクトに向かってゆくのがプログラマのあ
るべき姿だろ。
これは、分野関係ないぞ。
0240デフォルトの名無しさん
NGNGはい、タケコプ^H^H^H^HK&R第2版p.44から。
> char 1バイト、ローカルな文字セット内に1文字を保持しうる
> int 整数、通常ホスト計算機の自然な整数サイズ
(注:1バイト=8ビットとは限りません(マジで))
> (…)守るべき唯一の条件は、shortとintは少なくとも16ビット、
> longは少なくとも32ビット、shortはintより長くてはならず、
> intはlongより長くてはいけないということである。(…)
んで。やっぱり固定長な型が必要だってんで、
C99からはint16_t、int32_tなどが追加されております。
今後はこれを使いましょう。↓
プログラミング言語 C の新機能
ttp://seclan.s5.xrea.com/c99d/
あー疲れた。
0241デフォルトの名無しさん
NGNG「 自分のソースを自分がメンテしなきゃいけないってこと」
ってのは、さすがにそれは俺も思ってない。228に対して
いってるんだよーん
0242デフォルトの名無しさん
NGNG最終製品は特定機種でしか動きません。
ゲームにメンテなど有りません。(DL型ネットゲーを除く)
いいかげんというような意味ではなく、ゲームの品質検査は
出荷前にシステム系では考えられないような人員を動員して
行います。
問題が起きるとしたらそのソースを使った別機種での開発中のこと
なので、問題が起きてから解決しても問題無いです。
0243デフォルトの名無しさん
NGNGあ、誤爆したかな。だったらスマソ。
0244デフォルトの名無しさん
NGNG0245デフォルトの名無しさん
NGNGそんな例外を持ち出して得意になる方がどうかしてる。
0246デフォルトの名無しさん
NGNGほんとだ、全然匿名になってない不思議(藁
0247デフォルトの名無しさん
NGNGもうしわけない、考えてるコンテキストがまったくちがったようだ
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNG食い違ってるな>>242は。
0250デフォルトの名無しさん
NGNG___
|◎□◎|
ε≡⊂⌒~⊃`Д´>⊃<アイゴー!アイゴー!
◎ ̄ ̄◎
0251デフォルトの名無しさん
NGNGあんたのいってる「メンテはイラナイ」ってほうが
プログラミングの世界じゃ例外っぽいぜ。
そんな例外を持ち出して得意になる方がどうかしてる。
0254デフォルトの名無しさん
NGNG> ゲームにメンテなど有りません。(DL型ネットゲーを除く)
昔の小規模なプログラムだったら「毎回スクラッチから開発」でも良いけど、最近の規模になると
やってられません。確かにゲーム業界では、バグフィックスの意味のメンテナンスは存在しませ
んが、機能追加やソースの再利用という意味のメンテナンスは日常茶飯事です。
それに、ソフトウェアを別のプラットホームに移植することだってありますし。
0255185
NGNGうーん、いろいろゲーム作ったけど、発売後のお色直しは半分位アッタヨ。
その辺で稼動している1コイン物も然り。
それを世間様に公表してるかしてないかの差だな。俗に言うマイナーUPかな。
プレス初版と2版でデータ違うってのは良くあることカモネ。
0256242
NGNGだーかーらー、文脈を読めつうの。
開発中にchar型が変わるなんてことないだろが。
0257デフォルトの名無しさん
NGNGここに居るやつらは単体テストという言葉を知らないらしい
コメントは関数の概要だけで詳細まで書く必要は無い。
0258デフォルトの名無しさん
NGNG0259242
NGNGもし、型が違ってたらソースを変更しなくて済む方法を考える。それだけ。
0260デフォルトの名無しさん
NGNGとりあえず sage ろ。話はそれからだ。
0261デフォルトの名無しさん
NGNG0262デフォルトの名無しさん
NGNG機種依存じゃないコードを書いていれば日曜日のこんな時間に仕事しなくて
済むものを。
0263デフォルトの名無しさん
NGNGこれ以上やっても時間の無駄でしょ、お互いに。
0264デフォルトの名無しさん
NGNG賛成。機種依存がどうとかという以前の問題なのだが、賛成。
終わり。お休み。
0265デフォルトの名無しさん
NGNG意見など気にしないようにしましょう。
0266デフォルトの名無しさん
NGNG185>1つの関数に、それと同じくらいの(関数ソースと同程度、もしくはそれ以上の文字数の) コメントは要るだろ。
こんなにコメントがあったら逆に読みづらいと思わんか?
ってか、コメントに書いてあることと実処理が違うことがあるから鬱なんだが。
0267185
NGNG移植マジ死ねる
0269デフォルトの名無しさん
NGNGそして書いたら忘れる。
0270デフォルトの名無しさん
NGNGとくに、型の機種依存性を回避するなんてのは
基本中の基本で、そんなのをやるのに「暇さ」が
もとめられるようじゃ終わってるんだが・・・
謎過ぎ
0271デフォルトの名無しさん
NGNGだから文脈読めってば。
機種依存性を無くす話を最初にしたのは俺で、
K&R持ち出して存在しない機種への依存性を持ち出したのが居たの。
存在しない機種の型を気にしてchar型放棄するか?
0272デフォルトの名無しさん
NGNG一番文脈よめてないのはおまえだと思われ。
0273デフォルトの名無しさん
NGNG0274名無しサソ
NGNG個人でWinのゲームを作る人は、そこまで互換性は気にしないし、
プロでコンシュマー機扱っている人は他機種への移植や、他の
プログラマとの連携も考えるだろうし。一人で組む場合は、効率を
考えると他の人に読ませるための手間をわざわざ掛けたくないという
意見もあると思うよ。それでも、最低限のコメントは必要だとは
思うけどね。自分のために。
とりあえず、コードのメンテ性については状況によるのだから、
どっちが良いと言うことはないと思う。
0275デフォルトの名無しさん
NGNG相手にしちゃダメだって。放置、これに限る。
0276デフォルトの名無しさん
NGNGなくなります。他のスレッドは上がってゆくので結果的にそのスレッドは
下がってゆくことになります。
0277デフォルトの名無しさん
NGNG無視無視。
0278デフォルトの名無しさん
NGNG0279デフォルトの名無しさん
NGNGいいます。これは大事ですので知らない人は覚えておきましょう。
0280デフォルトの名無しさん
NGNGみならず、板の住人全員に迷惑を掛け恨みを買う行為ですので避けましょう。
0281デフォルトの名無しさん
NGNGいかん無視無視。
0282デフォルトの名無しさん
NGNG仕切り屋は嫌われます。恨みを買う行為ですので避けましょう。
0283デフォルトの名無しさん
NGNGもちろん多機種に移植の可能性が無い場合はそれで良いと思うよ。
0284デフォルトの名無しさん
NGNG個人のプログラムスタイルの話がしたい人はそれでスレ立ててそっちでやってくれ。
0285デフォルトの名無しさん
NGNGそれを「個人のプログラム(?)スタイル」という認識の方が
一般的でない。
0286デフォルトの名無しさん
NGNG0287デフォルトの名無しさん
NGNGなんか age てるヤツは一人に見えてきたよ。主張はどうでも良くて、単に構って欲しい
だけちゃうんかと。
……寝よう。
0288デフォルトの名無しさん
NGNG0289デフォルトの名無しさん
NGNG0290デフォルトの名無しさん
NGNG>>288
文句があるなら具体的に言えや。でなきゃ荒らしだ。
0291デフォルトの名無しさん
NGNGsage
と書くこともやってみたらどうだい
電波加減が増して泣けてくるよ
0292デフォルトの名無しさん
NGNG0293デフォルトの名無しさん
NGNG0294デフォルトの名無しさん
NGNGでもだれだかわかっちまうところがおもしろい
0295デフォルトの名無しさん
NGNG0296261
NGNG結局age荒らしだったのかも知れんな。おつかれさん。
0297デフォルトの名無しさん
NGNGchar shot long が機種依存すると言うことに。
担当者だけがわかってればよいソースを書くことは時代遅れであるということに。
それらが常識であることに。
0298デフォルトの名無しさん
NGNG笑える。
0299デフォルトの名無しさん
NGNG天然でageてるオッサンもオッサンだったが、それに執拗に
粘着して悦に浸ってるタチの悪い人間の存在も見逃せない。
ジサクジエン等の常套手段で狡猾に話題をそらし、fjチックな
湿り気たっぷりの論調で因縁を付ける。
なんとファンタスティックな
0300デフォルトの名無しさん
NGNG0301デフォルトの名無しさん
NGNG0302デフォルトの名無しさん
NGNG(・∀・)ユルシテヨ
0303デフォルトの名無しさん
NGNG0304185
NGNGごと俺なら入れ替えてしまう。それが一等早い。
愚痴:
何人でProg組むにしてもコーデックだけはキチンと決めなきゃダメね。
引継ぎのとき大変なんだぞゴルァ>○▲□の村×!見てるかオイ!
0305デフォルトの名無しさん
NGNGここ、ゲームプログラミング『相談室』だよね・・・。
0306デフォルトの名無しさん
NGNG書き込み無いよりいいんじゃない。最近全然、賑わって無かったし
0307デフォルトの名無しさん
NGNGお祭り好きはマ板とかゲハ板とかゲロ板に逝けば
幾らでもエンジョイできるしな。
http://pc.2ch.net/prog/
http://game.2ch.net/ghard/
http://game.2ch.net/gsaloon/
0308デフォルトの名無しさん
NGNGこちらに持ち込まないでほしい
0309デフォルトの名無しさん
NGNG0310デフォルトの名無しさん
NGNG(´ー`) 話題ネーヨ
\ \
0311デフォルトの名無しさん
NGNG0312デフォルトの名無しさん
NGNG0313100
NGNG0314デフォルトの名無しさん
NGNG0315デフォルトの名無しさん
NGNGbioのとこにも書いたんですけど、、
ttp://www.bio100.co.jp/cgi-bin2/3df/flashviw.cgi?no=5092&reno=no
もしかしたら、訳わかんないことを言ってるのかもしれないんですけど…。
よかったらレスください。。
0316デフォルトの名無しさん
NGNG0317名無しサソ
NGNGマルチポストよりは良いかも知れないけど、なんだかなぁ・・・。
DirectX関連のスレは
http://pc.2ch.net/test/read.cgi/tech/991795568/
だから、ちゃんと探してそっちに書こう。
3Dのライティングは、モデル→ワールドに座標変換(正トランス
フォーム)をした法線・頂点座標を、さらにワールド→ライトに逆
座標変換(逆トランスフォーム)を行ってライト座標系にしてから
行う。何故ライトが逆かというと、ライト座標系もワールド座標系の
子に当たるから。スケーリングによってライティングの結果が
おかしくなるというのは、変換行列がちゃんと正規化されていないと、
変換された法線の大きさまで変わって、ライティング結果がおかしく
なる言う話。多分。
この部分が理解できてないと言うのは、3Dについての知識が
足らない気がする。Direct3Dを本格的に勉強する前に3次元CG
について勉強した方が良いと思う。自分も人のこと言えるほど出来る
訳じゃないけど。
0318名無しサソ
NGNGモデル→ワールド=ライト→ワールド
ワールド→ライト=ワールド→モデル
最終的にライト座標系で持たれているライトの緒元
(方位、範囲、位置)をモデル座標系に変換して計算
するという話。勘違い。
自分も到らないね。吊ってくるよ・・・
0319デフォルトの名無しさん
NGNG荒らし屋のいる時に上げると、荒らされるみたいだね
経験則なんで、いつなのかはわからんケド
0320デフォルトの名無しさん
NGNG荒らし一歩手前のワナビー学生らしいんだけど
それは公然の秘密だから。
0321デフォルトの名無しさん
NGNGそれでだまって引き下がるのはゆるせん!
徹底抗戦age!
0322デフォルトの名無しさん
NGNGヒー勘弁してぇ
0323デフォルトの名無しさん
NGNG自作自演でした
0324デフォルトの名無しさん
NGNGいいな俺らなんてHTMLタグ辞典だよ
0325324
NGNG0326315
NGNGスレ違いも…
317さんありがとうございます。
スケーリングされるとおかしくなるのは分かりました。
”一様でない”とあったのでちょっとよく分からなくなってました。。
行列の正規化は…調べてみます。(汗
正規化すれば大丈夫なんですよね?
でもあと、、DXのドキュメントには
「ライトの位置座標と方向をモデル空間に
トランスフォームし、次に逆トランスフォームする」
ってあるんですが…。
ライトの座標を ライト→ワールド→モデル って変換するんですよね…?
0327名無しサソ
NGNG>正規化すれば大丈夫なんですよね?
大丈夫だと思う。大きさが1の直交座標行列を
かけておけば心配ないはず。ただ、View行列には
最初から逆行列をセットしないと行けないので注意。
>ライトの座標を ライト→ワールド→モデル って変換するんですよね…?
ライティングは元々D3Dに任せているから、実際にそうやって計算
している現場を見た訳じゃないけど、説明としてはそう書いてあるよ。
IDirect3DDevice8->SetTransformで指定すれば勝手にそうやって
くれるのだから、自前でライティングしない限りは意識する必要はないよ。
0328名無しサソ
NGNG上に書いたDirectXスレで書いてね。
ゴメソ。
0329315
NGNGスレ違い失礼しました。。
0330デフォルトの名無しさん
NGNGいつ移転するのよ?
0331デフォルトの名無しさん
NGNGあっちに移設しちゃっていい?
0332デフォルトの名無しさん
NGNGいいと思う。
本来あるべきスレは早々と向こうに立てるべきだと思う。
0333デフォルトの名無しさん
NGNGhttp://game.2ch.net/test/read.cgi/gamedev/1005040025/
では皆様、今後はあちらにて。
0334デフォルトの名無しさん
NGNG0335デフォルトの名無しさん
NGNGよりによって、ゲーハー板の真下かよ。最悪だな。
0336デフォルトの名無しさん
NGNG擬似スレッドの話題を振ってみます。
0337デフォルトの名無しさん
NGNG0338デフォルトの名無しさん
NGNG引っかからないようにしましょう。
0339プチ9627m
NGNGそんなことすると思う?(;_;
0340332
NGNGでも確かに向こう今の状況じゃ、そういいたいのもうなづける
0341デフォルトの名無しさん
NGNGこのまま安定してくれりゃいいんだが。
0342デフォルトの名無しさん
NGNG0343342
NGNG0344ほげほげ
NGNG皆さんどういう風に叱咤激励して、やってもらってます?
ちなみに私の場合、誰もやってくれないので、私がやる羽目に・・・
プログラマーにシナリヲ書けちゅうのはどうか・・・死にそう。
0345デフォルトの名無しさん
NGNG0346デフォルトの名無しさん
NGNG0347Kusakabe Youichi
NGNG> 誰もやりたがらない作業を、進んでしてもらう方法って
金か女を餌にすると効果的です。
0348Kusakabe Youichi
NGNGアホですな。とっととしにませ。
0349デフォルトの名無しさん
NGNG> 女を餌にすると効果的です
クサカベさんとも思えない、女性蔑視の発言ですが。
0350Kusakabe Youichi
NGNG> In article >>344, 344 デフォルトの名無しさん wrote:
>
> > 誰もやりたがらない作業を、進んでしてもらう方法って
>
> 金か女を餌にすると効果的です。
わたしだったらこの場合の「エサ」はカタカナで書くでしょうね。
0351デフォルトの名無しさん
NGNG0352Kusakabe Youichi
NGNG0353デフォルトの名無しさん
NGNG「RPG」というRPG専用言語があります。
IBMがサポートしていて安心感もあり、おすすめです。
0354Kusakabe Youichi
NGNG> わたしになりすました知能障害者の発言は無視してください。
「なりすました」とは言わないでしょうね。私なら。
0355Kusakabe Youichi
NGNG> >351
> 「RPG」というRPG専用言語があります。
> IBMがサポートしていて安心感もあり、おすすめです。
RPG IIは? ;)
0356デフォルトの名無しさん
NGNGが用意されて いるので、このスレでは書かないようにお願いします。そのような
書き込みにコメント をつけるのは、彼と一緒に一緒になって荒らし行為をしてる
のと変わりません。
日下部 陽一先生の隔離スレッド void ***
http://pc.2ch.net/test/read.cgi/prog/1006918877/
#同意も反論も不要。なんかあったら↑のスレで言ってくれ。
0357Kusakabe Youichi
NGNG> Kusakabe 先生のスレ違い/意図不明な書き込みに対する苦情には専門のスレ
> が用意されて いるので、このスレでは書かないようにお願いします。そのような
> 書き込みにコメント をつけるのは、彼と一緒に一緒になって荒らし行為をしてる
> のと変わりません。
っていうか、問題なのは私じゃないでしょう。
こういうのをいちいち書く人間では? :)
0358Kusakabe Youichi
NGNG> っていうか、問題なのは私じゃないでしょう。
「っていうか」とは書かないでしょうね。私なら。
0359デフォルトの名無しさん
NGNGあんたも相手にするな。
0360Kusakabe Youichi
NGNG> In article >>357, 357 デフォルトの名無しさん wrote:
>
> > っていうか、問題なのは私じゃないでしょう。
>
> 「っていうか」とは書かないでしょうね。私なら。
それははつみみですね。
0361デフォルトの名無しさん
NGNGが用意されて いるので、このスレでは書かないようにお願いします。そのような
書き込みにコメント をつけるのは、彼と一緒に一緒になって荒らし行為をしてる
のと変わりません。
日下部 陽一先生の隔離スレッド void ***
http://pc.2ch.net/test/read.cgi/prog/1006918877/
#同意も反論も不要。なんかあったら↑のスレで言ってくれ。
0362Kusakabe
NGNG> それははつみみですね。
「それは」のあとに「、」をいれるでしょうね。私なら。
0363Kusakabe Youichi
NGNG> In article >>360, 360 Kusakabe Youichi <[email protected]> wrote:
>
> > それははつみみですね。
>
> 「それは」のあとに「、」をいれるでしょうね。私なら。
入れないって。
0364デフォルトの名無しさん
NGNGが用意されて いるので、このスレでは書かないようにお願いします。そのような
書き込みにコメント をつけるのは、彼と一緒に一緒になって荒らし行為をしてる
のと変わりません。
日下部 陽一先生の隔離スレッド void ***
http://pc.2ch.net/test/read.cgi/prog/1006918877/
#同意も反論も不要。なんかあったら↑のスレで言ってくれ。
0365ゆっけ
NGNGなどでできるようなのですが、情報が何もなく困ってはいないのですが、
どんなことでもいいので教えてください。現在使用している人いますか?
■ このスレッドは過去ログ倉庫に格納されています