3Dグラフィックスプログラミング

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
DirectXやOpenGL、あるいは言語などにとらわれず、
純粋に3Dグラフィックスのプログラミング技術(アルゴリズムや数学など)
について語るスレです。
2デフォルトの名無しさん:2006/08/10(木) 06:09:00
ずるしてらくしてかれいに2げっとかしらかしら?
3デフォルトの名無しさん:2006/08/10(木) 18:54:47
3 3
4デフォルトの名無しさん:2006/08/11(金) 07:50:13
クオータニオンとか頂点ブレンディングとかのスレ?
5デフォルトの名無しさん:2006/08/13(日) 23:35:34
自前でワイヤーフレーム表示させたいんだけど
どんなキーワードでググればいい?
6デフォルトの名無しさん:2006/08/14(月) 00:15:41
「ワイヤーフレーム描画 DirectX」
7デフォルトの名無しさん:2006/08/14(月) 10:10:11
「ワイヤーフレーム OpenGL」
8デフォルトの名無しさん:2006/08/14(月) 11:09:01
glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
9デフォルトの名無しさん:2006/08/15(火) 04:00:05
>>5
ブレセンハム
10デフォルトの名無しさん:2006/08/15(火) 10:31:08
>>6
>>7
>>8
いやいやいや、3DAPIを使わない方法をおながいします

>>9
直線を描くのはコレですね


3Dの座標からスクリーンの座標に変換する方法を教えてほしいのですよ
11デフォルトの名無しさん:2006/08/15(火) 10:51:09
ビュー変換行列
透視投影変換行列
スクリーン変換行列
12デフォルトの名無しさん:2006/08/16(水) 00:44:40
13デフォルトの名無しさん:2006/08/16(水) 05:46:56
>>12
14デフォルトの名無しさん:2006/09/13(水) 05:27:45
3DAPIを使わないと、ローカル座標上にある物体を
常にグローバルなxyz固定3軸を基準に回す操作が不可能だったような
ジンバルロックに悩まされる以前の問題
15デフォルトの名無しさん:2006/09/13(水) 06:19:11
ではまず三次の平方行列から
16デフォルトの名無しさん:2006/09/13(水) 07:03:08
それは回転した結果で置き換えてしまうからでは?
17デフォルトの名無しさん:2006/09/13(水) 08:03:27
回転軸を前の回転に依存させないってこと?
18デフォルトの名無しさん:2006/09/13(水) 08:31:05
ホームページ制作王は、世界の権威として名高いCOMDEXが
21世紀のワールドスタンダードに認定したWebパブリッシングアプリケーションである。

ホームページ制作王に不可能はない。
不可能があるとすれば、そこが人類の英知の限界点である。

21世紀、世界のWebはホームページ制作王を中心に回っていくのである。
にもかかわらず、ここ日本では、心ない風評のため、まだまだ普及に
遅れがみられる。

ホームページ制作王を普及させないかぎり、我が国のWebは、
世界の趨勢の後塵を拝するばかりである。

世界が認めた高性能!ホームページ制作王
http://pc8.2ch.net/test/read.cgi/hp/1106508682/
19デフォルトの名無しさん:2006/09/13(水) 18:57:24
3Dの座標軸はXYZの3つなのに、なぜPCの世界では4つあるのですか?
20デフォルトの名無しさん:2006/09/13(水) 19:01:09
は?
21デフォルトの名無しさん:2006/09/13(水) 19:22:54
>>19
それは同次座標という表現方法で、ただの3次元ベクトルよりも色々と都合がいい。
22デフォルトの名無しさん:2006/09/13(水) 19:41:21
なぜこの世界は3次元なのに、時間を指定して4次元にしないと待ち合わせができないのですか?

         ___                _
     / ____ヽ           /  ̄   ̄ \
     |  | /, −、, -、l           /、          ヽ ・・・・
     | _| -|○ | ○||         |・ |―-、       |
, ―-、 (6  _ー っ-´、}         q -´ 二 ヽ      |
| -⊂) \ ヽ_  ̄ ̄ノノ          ノ_ ー  |     |
 | ̄ ̄|/ (_ ∪ ̄ / 、 \        \. ̄`  |      /
 ヽ  ` ,.|     ̄  |  |         O===== |
   `− ´ |       | _|        /          |
24デフォルトの名無しさん:2006/09/14(木) 03:59:05
>>19
単純に計算の都合だから、深い意味は全く無い。
数学は皆そんなもん。
25デフォルトの名無しさん:2006/09/14(木) 20:28:24
たとえば
(3/2) / (5/7)
を計算するときに
(3/2) * (7/5)
とするだろ?
その程度のことだよ。
意味を求めると訳わからなくなるだけ。
26デフォルトの名無しさん:2006/09/17(日) 12:48:36
>>17
んなことできんの?
y軸z軸が動くからこそx軸を中心に回転する像ができるんだろ
27デフォルトの名無しさん:2006/09/17(日) 13:42:53
ヒント:線対象造形と造形表面打点法と点動作プログラムと背景360x360x360゜移動処理
28デフォルトの名無しさん:2006/09/17(日) 13:43:30
そもそも突っ込むところは、14がトンチンカンな事を言っている点だと思うんだが。
29デフォルトの名無しさん:2006/09/17(日) 16:40:31
>>14
既存の3DAPIを使わないで
自前で同じ処理を書けばいいだけだよ。
不可能なんて事はない。
30デフォルトの名無しさん:2006/09/19(火) 23:41:28
3D APIがやってることだって、ようは回転行列の計算だもんな。
2×2の回転行列なら高校でも習っただろ?
それの3次元版を自前でやればいいだけのことだ。
31デフォルトの名無しさん:2006/09/20(水) 00:44:34
3D関係は用語が分かり辛いよ。概念が分かってしまえば何の事は無いのに。
32デフォルトの名無しさん:2006/09/20(水) 01:40:33
>>31
用語が分かりやすい分野って言うと、例えば何?
33デフォルトの名無しさん:2006/09/20(水) 02:09:23
>>31 が分かりやすい用語で3Dを説明してくれ。
34デフォルトの名無しさん:2006/09/20(水) 07:04:24
クォータニオンを理解した上で処理を作れる輩なんてあまり居ないだろうな
35デフォルトの名無しさん:2006/09/20(水) 09:29:56
>>34
できないと処理作れないで困ると思うが。
36デフォルトの名無しさん:2006/09/20(水) 17:23:22
>>26
クォータニオンだと角度は一つしか指定できないしな。
結局は順番に乗算することになるからオイラー角と同じ動きになる。
37デフォルトの名無しさん:2006/09/20(水) 20:36:48
>>36
先生ノ似たようなオクターニオンはどうですか?
38デフォルトの名無しさん:2006/10/03(火) 11:24:03
角度の話が出てきたのでついでに、
航空機を旋回させる動きを再現するにはクォータニオンと他に何が必要ですか?
39デフォルトの名無しさん:2006/10/03(火) 13:37:11
力わざが一番
40デフォルトの名無しさん:2006/10/03(火) 14:49:58
飛行機の画像
41デフォルトの名無しさん:2006/10/03(火) 15:23:08
航空力学
42デフォルトの名無しさん:2006/10/04(水) 09:49:43
Sin Cos Tan
これさえあれば3Dは怖くない?
43デフォルトの名無しさん:2006/10/04(水) 10:00:38
なくてもなんとかなるけど、スマートにいきたいなら四元数も
44デフォルトの名無しさん:2006/10/04(水) 23:33:05
3D で表示・運動させることが目的ならば vpython が一番簡単です。独楽な
どの単純な図形ならば、10 数行で回転運動をプログラム可能です。

VPython は OpenGL や DirectX の知識なしに、3D での立方体/三角錐/楕
円体/ 凸型オブジェクト/カーブなどを組み合わせて三次元表示させられま
す。マウスによる回転や拡大などはデフォルトで組み込まれています。拡大
を続けると立方体の中に入り込んで内部の三次元表示に移ることには驚かさ
れました。それが何も書かなくても最初から組み込まれているのですから
vpython の凄さがわかると思います。

下が vpython 本家の URL です。
http://www.vpython.org/

三次元での座標変換は python の numarray 行列モジュールを使います。そ
の意味で、行列の掛け算や逆行列演算は vpython に組み込まれています。

プログラミング経験がなくても感の良い学生ならば半日程度で vpython を使
った実験が行い始められると思います。下に英語ですが vpython の使い方の
教育ビデオがあります。英語ですが簡単な言葉しか使っていないので分かりや
すいはずです。

http://vpython.erikthompson.com/
45デフォルトの名無しさん:2006/10/04(水) 23:55:40
>立方体の中に入り込んで内部の三次元表示に移る
視野角を狭くするんじゃなくて、カメラを動かしてるってことだな。
46デフォルトの名無しさん:2006/10/05(木) 08:26:37
>>38
色々と考える必要がある。角度とか。
47デフォルトの名無しさん:2006/10/05(木) 16:12:20
懐かしいなあ・・・角度とか。

元ネタ忘れたw
48デフォルトの名無しさん:2006/10/05(木) 16:28:04
ドムの背中のカタナって、自分じゃ抜けないよな。

ちゃんと計算されてる。 角度とか。
49デフォルトの名無しさん:2006/10/05(木) 17:32:15
>>48
ガンダムの話だったのか・・聞かなきゃよかったw
50デフォルトの名無しさん:2006/12/26(火) 08:59:06
グラフや作業工程表を3Dで表示するプログラミングでお勧め環境や勉強書籍ない?
51デフォルトの名無しさん:2006/12/26(火) 10:33:15
そんな物はない。
52デフォルトの名無しさん:2006/12/26(火) 22:45:32
そもそも、自由軸回転やるのにクォータニオンは必須じゃない。

>>42
行列は?
53デフォルトの名無しさん:2007/01/04(木) 23:27:39
質問なんですが、日本の大学で
3Dグラフィックスに強い学校ってありますか?
香港人の友達に聞かれたんですが
日本よりアメリカとかの方が強そうなイメージが
あるのですがどうでしょうか?
54デフォルトの名無しさん:2007/01/05(金) 00:56:03
>>53
例えば君は本気で日本の大学がMITに勝てると思っているのか?
5553:2007/01/07(日) 09:31:56
>>54
いや、そこまで極端な話じゃなくて・・・。 
>>53は少し端折りすぎたかもしれないです。
その香港人は3Dグラフィックスを学びたくて
日本の大学に行きたいと言っているのですが
お勧め出来るような大学はどの辺りですかって
事です。
56デフォルトの名無しさん:2007/01/07(日) 14:50:44
CG系の学会を見ていればわかると思うけど、
CGで世界的な競争力を持っているのは東大くらいだよ。
57デフォルトの名無しさん:2007/01/07(日) 17:18:40
昔は阪大ががんばっておったんだぢゃがのぉ。

ゲホゲホ
58デフォルトの名無しさん:2007/01/07(日) 19:43:05
>>54
思ってる。ただ大学じゃなくてオレがな!!
59デフォルトの名無しさん:2007/01/07(日) 21:39:05
俺が大学の頃は、CG関係は阪大と岩手大学をよく見た希ガス。
メタボールがまだ新しい技術だった頃の話だが。
60デフォルトの名無しさん:2007/01/07(日) 21:52:47
何の参考にもならん気が駿河、情報処理学会の論文検索だと、東京大学が検索一致が多いようだ。
61デフォルトの名無しさん:2007/01/08(月) 00:03:21
阪大のころって、LINKSが頑張っていたころだろ?
62デフォルトの名無しさん:2007/01/08(月) 00:06:28
ちなみにMITの話が出ているが、MITよりもユタ大学の方が
CGに関してはいい研究をしているよ。
他の研究分野は、ぱっとしないけど何人も有名なCG研究者を抱えている。

それからStanford大もNVIDIAと共同研究するなどして、GPU関連は強い。
63デフォルトの名無しさん:2007/01/12(金) 02:44:19
若いの オラが村では派遣の問題を口にしちゃなんねーだ
お前さんはまだわけぇから言いたいこともあるべぇ
だべな、派遣問題を口にすると怒る者がおるでよぉ
問題の指摘は駄目だっぺぇ
派遣のことは口にしちゃなんねぇ
この村みたいな糞田舎で悲惨な生活するためにはよぉ
駄目のものを駄目と言ってはなんねえだべさ
64デフォルトの名無しさん:2007/01/12(金) 02:44:54
3Dに反応するコピペスクリプトか
65デフォルトの名無しさん:2007/01/16(火) 08:53:00
>>44
俺VPython使わないといけないんだけど、ちゃんとPythonインストールして
VPythonのexeファイル開いたまでは良かったんだけど、なぜかプログラムが
動きません。(Exampleのフォルダに入っているやつです)変なエラーメッセージ
がでて、報告しますか?とでる。
OpenGLが必要と書いてあるんですが、これのせいかな?
具体的に何をすれば良いのでしょうか?
66デフォルトの名無しさん:2007/01/16(火) 11:18:16
Sketchup(スケッチアップ)が簡単でいいよ
http://sketchup.google.com/

インストール後、メニューのWindows>Ruby Consoleで
Rubyコンソールを開く。

次を2行を実行すると、四角形ポリゴンが描画できる。

  v=[[0,0,0],[100,0,0],[100,100,0],[0,100,0]]
  Sketchup.active_model.active_entities.add_face v

もっとやりたければ、
Help>Ruby Helpの開発者用リファレンスを読めばよい。英語だけど、内容は試してみれば分かる。
67デフォルトの名無しさん:2007/01/16(火) 11:23:56
英語が分からなければ、翻訳サイトを使えばよい
http://honyaku.yahoo.co.jp/url
68デフォルトの名無しさん:2007/01/17(水) 06:10:07
>>66-67

親切にありがとう。でも仕事の関係でVPythonでなきゃだめなんです。
どうも、自分のパソコンのビデオカードが古すぎたようです。
もうちょっと新しいパソコンでは問題なしでした。

69デフォルトの名無しさん:2007/02/13(火) 00:49:07
質問っす。

【目的】
3D製作ソフトなんかで作成されるマテリアル情報を読み込んで表示させたい。
【質問1】
参考になるページなどがあれば見てみたい(出来れば日本語…)
【質問2】
有効な検索キーワードなどを教えて欲しい
【質問3】
良い本などがあれば紹介してほしい

以上です。
70デフォルトの名無しさん:2007/02/13(火) 01:13:58
>>69
【目的への返答】
それは会社の1プロジェクトとしてやってもかなりの時間と苦痛を伴うことだ。
できない会社はこれができないままだ。
シェーダで凝ったことなんてしないで組んでるところは結構ある。
しかも、研究するには莫大(個人からすると会社だと大したことないプロジェクトの合間にでもみんなでやればおk)な金が必要になる。
【質問1】
俺が調べた感じでは国内では無い。皆無といっていい。
【質問2】
maya 3dsmax xsi
でも多分みつからんと思う。
【質問3】
国内では本無し・サイト無し
同人レベルではスキニングでも掛けられれば御の字ってところ多い。
かろうじてスキニングをかけられるのがrokdeboneとか六角大王と連携するソフトだが
これもスキニングだけなのでもうこの辺に不満があるならぶっちゃけ自分でなんとかするしかない。

すべての答え:海外のサイトなら資料たくさんあるかも!
71デフォルトの名無しさん:2007/02/13(火) 02:00:24
>>69
Advanced Animation and Rendering Teqniques Alen Watt, Mark Watt供著
ちと古いがレンダリングの基本はコレがいいんじゃないかな。
72デフォルトの名無しさん:2007/02/18(日) 10:11:26
裏切派遣って知ってる?
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて派遣やってるバカのことw

前の会社を裏切り、結局派遣先からも騙されてる。
そもそも信頼されてるなら直接契約するか正社員にするはずだが、派遣会社経由って舐められ杉

自分でも騙され裏切れられてることは薄々わかってるから派遣問題の話が出るとウッキー!って逆ギレw
73デフォルトの名無しさん:2007/02/18(日) 10:41:52
>>72
ゲームだと月収20万そこらなので、
普通に直接契約したほうが高額なのはたしかだぞ。
その場合、掛け持ちで月100万とか余裕で超えるから(大抵60万X2とかなる:その場合携帯ゲーム1月で2本ぐらいかな?)
根性あるならやってみるのも吉。と言っておく。ただし、過労で死んでも俺は知らん。
3Dとは関係無いな。この話題はここまで。
74デフォルトの名無しさん:2007/02/18(日) 13:57:38
直接契約でなく派遣会社経由って書いてあるじゃん
75デフォルトの名無しさん:2007/02/18(日) 22:27:08
>>74
それでも派遣にすると35〜50万になる。(理由:残業代が全額出るから)
多分、中小ITのあまりの賃金の安さに見かねて教えてくれたのだろう。
俺は中小ゲーム会社で働いてたときの賃金が3年目で月収18万の銀行振り込み額12万だったから
単純に2倍ぐらいになる不思議。
76デフォルトの名無しさん:2007/02/19(月) 00:24:17
50万だとしても何も保障もなしで年収600万にしかならんじゃん

お前みたいな香具師が裏切り派遣になるんだよ
77デフォルトの名無しさん:2007/02/19(月) 00:30:26
ボーナス厚生なしww
78デフォルトの名無しさん:2007/02/19(月) 06:43:21
>>76
だから、月収18万とかで働かされてる奴って以外と多いんだよ。
そういうのだったら別にいいじゃん。

>>77
ボーナスはなかったけど、厚生年金、その他手当てと保険はあったな。
月収18万の方だってボーナスでたって1.2が精々だもん。
どう考えたって派遣のがいいよ。
79デフォルトの名無しさん:2007/02/19(月) 06:48:23
てか、ゲーム会社の賃金なんてどうやっても派遣の給料に届かないじゃないw
安くてw
人材確保しておきたかったらそれなりの金を出すべきだと思うよ。
せめて、月収30万は出してやれよ。
なんで18万そこらで使ってて裏切りだのなんだのなんて単語が出るんだw
頭悪いのかw
金の切れ目が縁の切れ目と心得るべき。
80デフォルトの名無しさん:2007/02/19(月) 10:11:10
>>78-79
ワーキングプアのキミ必至だね
ちゃんと勉強してまともな会社にいこうに

でないと働いても働いてもキミの暮らし楽にならないよw
81デフォルトの名無しさん:2007/02/19(月) 10:26:31
身体壊した時点で死亡確定
そんなギャンブル張る奴は馬鹿
82デフォルトの名無しさん:2007/02/19(月) 15:52:25
体壊れるってあるのか?
俺は毎日終電まで睡眠3時間で数年働いたが
体は何ともなかったぞ。体は。
83デフォルトの名無しさん:2007/02/19(月) 15:53:05
おっとマ板と間違えた、誤爆すまそ
84デフォルトの名無しさん:2007/02/19(月) 17:18:56
>82
運が良かっただけ。何の自慢にもならん
子供相手ならともかく、リアルでそんな事言ってもバカ扱いされるだけ。
85デフォルトの名無しさん:2007/02/19(月) 18:14:39
月収18万で底辺這い蹲って生きている方がよっぽど身体壊しそうだがw
86デフォルトの名無しさん:2007/02/19(月) 19:11:46
たまにいるよな、>>82みたいなやつ。
過労死ってのは前兆なしに突然ポックリ逝くから気をつけろよ。

人間、みんな一度も死んでみたことがないし、殺した経験もたぶんないから、
どれくらいでヒトが死ぬのかよくわかってない。
87デフォルトの名無しさん:2007/02/20(火) 00:35:12
まあ、履歴書の中身が派遣ばかりだったら、いずれ職には就けなくなって、

ルンペン -> 路上でDQNにボコボコ -> 死亡 -> 無縁仏 -> 人体解剖教材 -> ホルマリン漬け

となるわけだがw
88デフォルトの名無しさん:2007/02/20(火) 03:05:44
>体は何ともなかったぞ。体は。
頭を壊した(鬱)にはなったんだろ
89デフォルトの名無しさん:2007/02/20(火) 05:19:03
>>88
廃人になったwwwwwwwwwwwww
90デフォルトの名無しさん:2007/02/20(火) 05:52:34
>>82
こういう奴に限って、仕事中寝てるとか、
昼出社とか仕事いい加減なくせにこういうことだけ自慢する奴多い。
あんまり相手にしないほうがいい。
武勇伝だけ聞いて信じるのは危険。
実際にそいつと仕事してみると大分違う場合が多い。
91デフォルトの名無しさん:2007/02/20(火) 06:14:49
普段から会社に泊り込む香具師:
のんびり夕飯食べに行き、帰ってきたらWeb見放題。ちょっと仕事したら後は高鼾。
誰か出勤するまで寝た挙句に昼過ぎに眠いと管巻いて早退。

たまに本当に切羽詰って徹夜する香具師:
夕飯はコンビニ、気付くと終電がなくなってるから逆にラッキーとばかりに仕事に集中。
始発まで仮眠を取ったら一旦帰宅して昼前に出社。
92デフォルトの名無しさん:2007/02/20(火) 07:31:14
ホワイトカラーエグゼンプションとか出てくる理由がよくわかるな。
93デフォルトの名無しさん:2007/02/20(火) 12:30:08
>>92
エレベーターの中で、
「来月○○が発売されるから、今月は残業代稼ごう」
とか平気で言ってる奴とかいるしな。そういうやつはWEでいいよ。
94デフォルトの名無しさん:2007/02/20(火) 12:44:43
残業しないと買えないようなものを買うのは、社会人として如何なものかと。
#まさか毎月車を買い換えるわけじゃなし。
95デフォルトの名無しさん:2007/02/20(火) 13:39:54
>>94は独身
9694:2007/02/20(火) 13:45:24
一応配偶者はいますが何か。
#所謂DINKSだね。
97デフォルトの名無しさん:2007/02/20(火) 19:03:09
経済的には独身みたいなもんじゃねーか
98デフォルトの名無しさん:2007/02/20(火) 22:21:58
【ネガティブ派遣根性チェック】

3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。

□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社に仕事を持ち帰れるように言われるとムカつく
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなく自分のプライベートについても指示して欲しい
□自分の月額金額を知らないのは当然だ
□派遣先社員より自分の生涯収入が低いのは当然だ
□派遣先とに尻尾を振り、いつまでも派遣を続けることが大切だ
9994:2007/02/22(木) 08:38:50
確かに子供育てる気はないし、不健全ですから。
100デフォルトの名無しさん:2007/03/02(金) 09:36:23
ローカル→ワールド変換行列から、ワールド→ローカルの変換行列を求めるのってどうやるの?
101デフォルトの名無しさん:2007/03/02(金) 09:42:07
逆行列
102デフォルトの名無しさん:2007/03/02(金) 21:44:16
Graphics Gemsって本の事たまに聞くけど、持ってたら役に立つ物なの?
高いからちょっと買ってみるってわけにもいかないし、10年以上前の本だし…
103デフォルトの名無しさん:2007/03/02(金) 22:58:36
>>102
他にまとまった資料がないので、手元にあって損は無い、と思っている
104デフォルトの名無しさん:2007/03/03(土) 17:10:49
>>103
なるほど、確かにまとまった資料って無いですよね。
考えて見ます
105デフォルトの名無しさん:2007/04/09(月) 16:58:34
ダイレクトXやオープンGL使うと
手動で出来ないとおもうけど
やる場合なにつかってやるの?
ビデオカードのハードウェア使えないから
処理遅くなるとおもうんだけど
どうやってやるの?
106デフォルトの名無しさん:2007/04/09(月) 18:28:00
君は何の話をしているのだね?主語がないぞ。小学生か?
107デフォルトの名無しさん:2007/04/09(月) 18:33:48
主語が入るのは話題からずれている証拠だろ
主語は明らかに3Dグラフィックスプログラミングに決まりきったことだが
言った君は何をいってるのかね
108デフォルトの名無しさん:2007/04/09(月) 18:47:38
>105=107は気違いなので相手にしてはいけません
109デフォルトの名無しさん:2007/04/09(月) 18:51:24
107は別人です
主語はあってます
それではお願いします
110デフォルトの名無しさん:2007/04/09(月) 19:00:18
>言った君は何をいってるのかね
「君」が「言った」ことを「いってる」と思うのだが。
111デフォルトの名無しさん:2007/04/09(月) 19:04:54
脱線した話題はこれくらいにして
そろそろ本題に入ろう
112デフォルトの名無しさん:2007/04/09(月) 20:41:21
>105=>107は気違い
113デフォルトの名無しさん:2007/04/09(月) 20:54:55
>>106>>108>>109>>110>>111=キチガイ
114デフォルトの名無しさん:2007/04/09(月) 21:05:05
DirectXやOpenGLを使うだけで自動でやってくれるなら
何も苦労しないよなw
115デフォルトの名無しさん:2007/04/10(火) 21:28:53
俺、ほっといたらマインスイーパーできてたわ
116デフォルトの名無しさん:2007/04/11(水) 14:47:13
それ、寝てる間に小人さんがやってるんだよ
117デフォルトの名無しさん:2007/04/20(金) 19:33:34
ttp://d.hatena.ne.jp/kataho/20061025/p1#c
の「7, 5を使ってかけた京アニフィルタ」が分かりません。
画像を使ってフィルタをかけるとはこれいかに? です^^
初心者丸出しの質問かもしれませんが、よろしくお願いします。
118デフォルトの名無しさん:2007/04/20(金) 19:36:53
本人に聞けよ
119デフォルトの名無しさん:2007/04/20(金) 19:38:09
フィルタ係数に画像を使ったんでしょ。
120デフォルトの名無しさん:2007/04/20(金) 20:55:44
>>117
元のイメージと5の画像を合成しているだけ。
具体的には、ピクセル毎に2枚のイメージの明るい方の値を選んでいる。

それと、その処理全体が「京アニフィルタ」であって、京アニフィルタは
7のステップだけを指しているわけじゃないよ。
5の画像を使ってフィルタを掛けているというより、フィルタをかけるために
5を使っているという文脈。

京アニフィルタはその人の造語で一般的な言葉ではないので、他所で
使わないように。
121デフォルトの名無しさん:2007/04/20(金) 21:19:11
>>118
そうですね^^

>>119
>>120
京アニフィルタも合成の仕方も理解できました!
ありがとうございます。
122デフォルトの名無しさん:2007/04/22(日) 00:56:41
テセレーションについて質問です。
これのアルゴリズムの考え方を教えてもらえないでしょうか?
123デフォルトの名無しさん:2007/04/22(日) 21:14:53
何もかも丸投げで質問か。
図々しいにも程がある。
124デフォルトの名無しさん:2007/04/22(日) 22:13:07
>123
何様だよお前
125デフォルトの名無しさん:2007/04/22(日) 22:36:00
俺様。
126デフォルトの名無しさん:2007/04/22(日) 22:58:18
俺も俺も!
127デフォルトの名無しさん:2007/04/23(月) 00:04:59
じゃあ、俺も!
128デフォルトの名無しさん:2007/04/23(月) 12:05:09
オレだよ!オレ、オレ
129デフォルトの名無しさん:2007/04/24(火) 11:07:24
俺も漏れも
130デフォルトの名無しさん:2007/04/24(火) 22:57:12
俺だわ。
131デフォルトの名無しさん:2007/04/25(水) 00:57:33
これがオレオレ詐欺か
132デフォルトの名無しさん:2007/04/25(水) 12:30:59
どうぞどうぞ
133デフォルトの名無しさん:2007/04/25(水) 21:20:51
いやいや、あなたからどうぞ
134デフォルトの名無しさん:2007/04/25(水) 22:42:01
じゃあ俺が
135デフォルトの名無しさん:2007/04/26(木) 18:56:19
みんなひどすぎwww

>>122
ttp://cm.bell-labs.com/who/hobby/93_2-27.pdf
136デフォルトの名無しさん:2007/04/26(木) 21:04:48
それテセレーションとあまり関係ない気がするが・・・
137デフォルトの名無しさん:2007/04/26(木) 21:15:01
catmull crack
nurbs
138デフォルトの名無しさん:2007/04/26(木) 21:24:33
間違えた、catmull clarkだ
139デフォルトの名無しさん:2007/05/19(土) 23:30:38
プログラミングは、20年前に数値計算と結果の可視化を
BASICやFORTRANでやっただけだけど、このたび一念発起して、
Visioみたいなソフトを自作してみたい!と思い立ちました。

最初に読むべき書籍は、何でしょうか?
140デフォルトの名無しさん:2007/05/20(日) 00:12:21
>>139
Cairo のマニュアル
141デフォルトの名無しさん:2007/05/20(日) 01:16:56
そもそも3Dと関係ない
142デフォルトの名無しさん:2007/05/20(日) 01:47:15
>>141
バッカ、おめ!
>>139は3D空間を使ったVisioが作りたいって言ってるんだよ!
俺は絶対に使いたくないけどきっとゴイスーな3DVisioが出来てくるに決まってる!
俺は信じてるぞ!
143デフォルトの名無しさん:2007/05/20(日) 04:10:44
Visioは普通に3Dで図表とか作れる機能搭載しているが・・
144デフォルトの名無しさん:2007/05/20(日) 05:27:58
それ何?
ポリゴンモデラみたいな機能がついてんの?
145デフォルトの名無しさん:2007/05/20(日) 09:59:01
>>144
>>143の言ってる機能は知らないが、>>139の作るもんは
バンプマップや被写界深度程度なら余裕でサポート
146デフォルトの名無しさん:2007/06/11(月) 03:24:32
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて
結局派遣やってるバカがいるんだけどw
なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw
最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w

そもそも信頼されてるなら直接契約するか正社員にするはずだが、
いつでも切れる派遣会社経由って舐められてんだよ

派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw
バカで頑固だから何度言っても理解できない
騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ
人間として本当に恥ずかしい
147デフォルトの名無しさん:2007/06/11(月) 07:17:17
>>146
>派遣がまねぇじゃぁ?はあ!?w
事実は小説より奇なり
148デフォルトの名無しさん:2007/06/11(月) 08:07:36
コピペにレスすんなカス
149デフォルトの名無しさん:2007/06/16(土) 23:23:32
球面調和関数使ったPRTのやり方誰か教えてください
150デフォルトの名無しさん:2007/06/17(日) 06:46:17
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) < PRT!!!
⊂/  9)  \____
q(   /
  >  >
151149:2007/06/19(火) 23:02:41
ddofile5253.zip
comment:RFX
KEY:4649

余弦項をピクセルシェーダーで表示するプログラム?を書いてみました
(ATI RenderMonkey 1.62で)
視線方向のベクトルを頂点の法線として、(面の位置-カメラの座標)との内積
を求めて表示するプログラム・・・のつもりですがどうでしょうか。

ZIPの中のファイル名 余弦項.rfxにしといた方がよかったかも
152149:2007/06/19(火) 23:03:42
うpローダのURL忘れてた
http://ddo-jp.ddo.jp/
余弦項について
http://journal.mycom.co.jp/articles/2006/09/23/cedec4/003.html
153デフォルトの名無しさん:2007/06/19(火) 23:31:04
ddofile5263.zip RFX2
KEY:4649
Sphereに対して余弦項を求めるよう修正
154デフォルトの名無しさん:2007/06/19(火) 23:32:31
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) < SH!!!
⊂/  9)  \____
q(   /
  >  >
155デフォルトの名無しさん:2007/06/20(水) 01:18:41
>>151
ダウンロードキーが一致しません。>4649
156デフォルトの名無しさん:2007/06/21(木) 22:55:17
http://ddo-jp.ddo.jp/download.php?no=5531

今度こそ大丈夫なはずです。(DLKEY:4649)
157デフォルトの名無しさん:2007/06/21(木) 23:09:31
>>156
こんなの渡されたってどうしろっていうのよw
158デフォルトの名無しさん:2007/06/21(木) 23:13:49
ほうほう、ピクセルシェーダで余弦を計算したみたいですね。
お疲れさまです。
159デフォルトの名無しさん:2007/06/22(金) 00:17:20
少しでもプログラマとしての意地があるなら
サンプルプログラムぐらいは付けてみろ
160デフォルトの名無しさん:2007/06/22(金) 00:53:37
rfxってRenderMonkeyか
161デフォルトの名無しさん:2007/06/22(金) 01:55:06
どうやって実行するのか謎ぷー
162デフォルトの名無しさん:2007/06/22(金) 21:35:51
163デフォルトの名無しさん:2007/06/22(金) 21:46:23
レンダーモンキーなんてここ5年くらい触ってないや
164デフォルトの名無しさん:2007/06/23(土) 01:34:56
>>162
何それ?バッカじゃねぇのw
165デフォルトの名無しさん:2007/06/24(日) 22:51:51
>>164
口を慎みたまえ。君は楽太郎の前にいるのだ
166デフォルトの名無しさん:2007/06/28(木) 23:34:45
>>149
PRTの何が知りたいの?
167166:2007/06/29(金) 00:02:25
あー、とりあえず僕の勉強したリソースを晒しておく。
http://www.research.scea.com/gdc2003/spherical-harmonic-lighting.pdf
あと名前は失念したが紫色の英語の本。
上の2つで、PRTの基礎は大体勉強しました。

で、僕は数学が苦手なので、そこいらへんのことは適当に読み飛ばして
DXDSKのPRTDemoのソースを読んで、適当に勉強しました。

で、で、僕の結論なんですが細かいことは気にせずにD3DXSHhogehogeの
関数を使うと細かいことは気にせずにPRTの実装が出来ます。
いじょ。
168デフォルトの名無しさん:2007/06/29(金) 02:42:17
>>167
149じゃないけど「紫色の英語の本」の題名がわかったら教えてください。
169デフォルトの名無しさん:2007/06/29(金) 07:14:08
PRTってなーに
170デフォルトの名無しさん:2007/06/29(金) 15:22:22
紫ってAdvanced Lighting and Materials with Shadersじゃね?
171デフォルトの名無しさん:2007/06/29(金) 18:12:21
源氏物語じゃね?
172デフォルトの名無しさん:2007/06/29(金) 18:23:23
そりゃ式部
173166:2007/06/29(金) 23:44:05
>>168
>>170が当たりです。
174デフォルトの名無しさん:2007/06/30(土) 12:54:55
PRTってなんですか?
175デフォルトの名無しさん:2007/06/30(土) 12:55:41
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) < PRT!!!
⊂/  9)  \____
q(   /
  >  >
176デフォルトの名無しさん:2007/06/30(土) 18:14:00
>>174
ググれよ

ttp://journal.mycom.co.jp/articles/2006/09/23/cedec4/
↑が分かりやすいかも
177デフォルトの名無しさん:2007/07/01(日) 10:26:34
http://pc11.2ch.net/test/read.cgi/tech/1179168569/606
うちでコンパイルして実行しようと思ったら
ちゃんと動かないんですけど
どこがおかしいのでしょうか?
178デフォルトの名無しさん:2007/07/01(日) 21:50:59
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。
派遣契約を切られたにもかかわらず「今の派遣契約では生活できません」などと
言って泣き落としで再契約した派遣のことです。
今月初め、半年前に辞めた派遣が出社してきてみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず
複数の会社を渡り歩いてください。
ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。
身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
179デフォルトの名無しさん:2007/07/01(日) 21:59:23
>>178
意味がわからない

>派遣契約を切られたにもかかわらず
これは外勤先との契約が切れたでいいんだよね?

>「今の派遣契約では生活できません」などと言って泣き落としで再契約
はぁ?契約切れてるのにどういうこと?
180デフォルトの名無しさん:2007/07/01(日) 22:10:19
契約切れたから再契約したんだろ?
何の問題も無いじゃん
契約切れてないのに再契約するのか?
181デフォルトの名無しさん:2007/07/01(日) 23:04:19
>>180
>「今の派遣契約では生活できません」
これ↑、外勤先に派遣会社との契約内容について語って泣き落としをしてるってこと?
糞文章でわかりにきぃよ
だったら別に派遣会社にとってみれば仕事自分でとってくる優秀な奴だってことだろ?
外勤先だって納得して入れてるんだし何が問題なんだ?
182デフォルトの名無しさん:2007/07/01(日) 23:44:23
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。
派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」
などと 言って泣き落としで再契約した派遣のことです。
今月初め、半年前に辞めた派遣が出社してきてみんなびっくりしました。
影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・
そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。
派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず
複数の会社を渡り歩いてください。
ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。
身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、
いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、
契約終了を通知されれば泣き落とし。悲惨な人生ですね。
氏んだほうがいいんじゃないですか。
183デフォルトの名無しさん:2007/07/01(日) 23:45:24
>>182
よし!今度は理解できる!Go!
184デフォルトの名無しさん:2007/07/01(日) 23:48:55
社員でも派遣でも出戻り認める会社って相当腐ってるよな
185デフォルトの名無しさん:2007/07/02(月) 10:53:26
>>184
そう?どうして?
186デフォルトの名無しさん:2007/07/02(月) 12:29:21
>>185
就職したことないの?
187デフォルトの名無しさん:2007/07/02(月) 12:47:37
出戻りなんて普通だけど、
この業界じゃ、押してるときにトンズラしても、
あとでしれっと戻ってる、なんてとこもあるからなあ
188デフォルトの名無しさん:2007/07/02(月) 13:15:43
>>186
あるよ?で?
189デフォルトの名無しさん:2007/07/03(火) 08:19:16
大企業じゃ二度目の入社は認めない規則になってるのが普通
190デフォルトの名無しさん:2007/07/03(火) 10:22:07
退社理由による。
191デフォルトの名無しさん:2007/07/04(水) 13:31:30
>>184
出戻りって結構あるよ
まあ辞めるときはちゃんと引き継ぎして
きっちり好感印象のまま辞めるように
しなきゃいかんよってことじゃないかな
192デフォルトの名無しさん:2007/07/04(水) 22:04:16
俺の会社じゃ出戻りは就業規則で明確に禁止
研修で聞いた話だと組織運営の基本だそうだ
193デフォルトの名無しさん:2007/07/05(木) 01:43:15
転職した会社が元の会社にM&Aされたら、即効お辞め頂くのかい?
194デフォルトの名無しさん:2007/07/05(木) 02:00:43
>>193
真先にリストラ候補になるだろうね
195デフォルトの名無しさん:2007/07/05(木) 09:38:24
政治活動で退社して戻るなんてのは普通にある
196デフォルトの名無しさん:2007/07/05(木) 10:07:51
ねーよ
そもそも、てめえの意思で辞めたくせに恥知らずもいいとこ
197デフォルトの名無しさん:2007/07/05(木) 10:23:01
会社の組合から立候補に出して、その際に退社
その後復帰ってのはあるって。
世間知らずは黙ってろ
198デフォルトの名無しさん:2007/07/05(木) 10:28:05
会社の決まりじゃなくて、自分の感情で決めつけてる人がいるね。
そんなに出戻りがいやなのかね。
そりゃ自己都合でやめたやつはそうそう戻ってこないだろ。
199デフォルトの名無しさん:2007/07/05(木) 11:12:23
退社して立候補して落選したら復社するのかよ
きっと選挙中は退社で排水の陣で臨んでます
とか言って同情票集める目論みなんだろう
そういうのを恥知らずの詐欺死と言うんだよ
200デフォルトの名無しさん:2007/07/05(木) 12:37:46
公務員でさえ立候補と同時に職を失い、復職はできないと公務員法できめられている
出戻りOKって一体どういうお遊び会社なんだよ
201デフォルトの名無しさん:2007/07/05(木) 12:47:24
なにこのマ板状態(笑
202デフォルトの名無しさん:2007/07/05(木) 17:41:26
出産とか長期療養だと一時退職ってのはありだがな。
転職じゃありえんだろ。
203デフォルトの名無しさん:2007/07/05(木) 19:16:14
バックレOK、偽装請負どんと来い!

みたいな業界じゃしょうがないような気もする
204デフォルトの名無しさん:2007/07/05(木) 20:11:38
>>202
そりゃ産休とか長期休暇だよ

一度辞めてまた雇ってくれ、と言ってくるような恥知らずとは根本的に異なる
205デフォルトの名無しさん:2007/07/05(木) 20:24:33
そろそろPRTについて語ろうぜ
206デフォルトの名無しさん:2007/07/05(木) 21:40:07
そろそろ出戻りがダメだという論理的な理由が出て来ないかな。
恥知らずとか組織運営の基本とかじゃ理由になってないよね。
社内で積めない経験をしてきている上に自社の仕事の仕組みも
理解してるから、ウチの会社ではむしろ歓迎されてるんだけど...
感情的になってでも出戻りを否定したい理由を教えて欲しいな。
207デフォルトの名無しさん:2007/07/05(木) 21:55:31
俺より出来るから追い出したのに、
上司のコネ使って、また戻ってきやがって・・・。
208デフォルトの名無しさん:2007/07/06(金) 11:46:01
公務員は税金もらってるから槍玉にあがりやすく、仕事以外厳しいんだがそれを理由に上げられても・・・・
209デフォルトの名無しさん:2007/07/06(金) 11:52:16
まともな就業規則がある会社で出戻り禁止してないとこなんてあるのか?
210デフォルトの名無しさん:2007/07/06(金) 11:56:54
>>209 の勤めてた会社がまともじゃないんだろう
211デフォルトの名無しさん:2007/07/06(金) 12:04:12
>>210
212デフォルトの名無しさん:2007/07/06(金) 12:26:49
>>210
お前の会社って社員数何人?
社長と社員がおまえ1人とかそういうレベルの会社なんじゃね?
213デフォルトの名無しさん:2007/07/06(金) 12:38:44
>>212
エート、世界で?本社のみ?
214デフォルトの名無しさん:2007/07/06(金) 12:41:12
そういえば、こないだ電話機出したとこも創業者が追い出されてCEOで帰って来てたな。
215デフォルトの名無しさん:2007/07/06(金) 12:41:57
>>209は「まともな就業規則がある会社なら出戻り禁止してる」という
当たり前のことを言ってるだけなのに>>210は何に対して突っかかってるんだ?
216デフォルトの名無しさん:2007/07/06(金) 12:50:00
出戻りをわざわざ規則でうたってる会社なんてどんな小さい会社なんだ?
217デフォルトの名無しさん:2007/07/06(金) 12:52:53
出戻りが気に入らないから煽ってるだけで、
そんな規則がわざわざ書いてあるとこなんてないだろw
218デフォルトの名無しさん:2007/07/06(金) 18:02:14
>>214
>創業者が追い出されてCEO

創業者もCEOも従業員じゃなくて経営者だから
そもそも従業員が対象の就業規則はあてはまらない
219デフォルトの名無しさん:2007/07/06(金) 18:22:01
それを言うなら国を指摘したらどうだ?
米国じゃあっちこっちの会社を行ったり来たりするのは普通だろ。
日本ではそんなに会社移ることが少ないから目立たないだけ。
もちろん、どちらの国でもそんなアホな規則は作らないけどな。
220デフォルトの名無しさん:2007/07/06(金) 20:46:24
>>215
それが当たり前という感覚がおかしいから突っ込まれているのだろう。
現に出戻りするメリットを論理的に説明出来ていないし。

単純に言えば、出戻り禁止は会社を辞めさせない為の規則だよね。
もう二度と戻って来れないという縛りを設け、辞職のハードルを高める
事で、社員を会社に縛り付ける為の方便。普通の会社なら、働き易さ
とか待遇の良さ等の職場の魅力で従業員を繋ぎ止めておく物だけど、
それが出来ない様な会社であれば、そういう方策も有効かもしれん。
221デフォルトの名無しさん:2007/07/06(金) 20:47:40
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) < PRT!!!
⊂/  9)  \____
q(   /
  >  >
222デフォルトの名無しさん:2007/07/06(金) 21:07:38
よし、PRT!
223デフォルトの名無しさん:2007/07/07(土) 13:07:59
>>213
なんだ、日本営業所の社員かw
224デフォルトの名無しさん:2007/07/07(土) 22:41:17
何事もなかったかのようにPRTの話がはじまるよ↓
225デフォルトの名無しさん:2007/07/08(日) 15:16:48
ttp://journal.mycom.co.jp/articles/2006/09/23/cedec4/
まずはこれでPRTがどんなものかをちょっと勉強しとくか
226デフォルトの名無しさん:2007/07/08(日) 22:23:33
光源の移動だけはどうしようもないんだよな。
227デフォルトの名無しさん:2007/07/08(日) 22:41:10
PRTと出戻り派遣はどういう関係があるのですか?
228デフォルトの名無しさん:2007/07/09(月) 06:33:09
ありません
229デフォルトの名無しさん:2007/07/09(月) 08:05:27
大気の射光加減はどうしたらできますか?
230デフォルトの名無しさん:2007/07/10(火) 20:18:06
遮光
231149:2007/07/20(金) 23:32:23
シェーダーなくしちゃった
232149:2007/07/21(土) 00:00:54
ttp://www.pyramid-inc.net/technical/index.php
わからねええ
1.キューブマップをdecompose_SH_cube_rgbで球面調和関数展開
2.各頂点の遮蔽情報をdecompose_SH_cube_rで〃
3.何とかしてライティング計算(SHDoubleProductを使う?
でもこのライブラリにはTripleProductしかない
233デフォルトの名無しさん:2007/07/21(土) 00:10:13
がんばれー
234デフォルトの名無しさん:2007/07/21(土) 00:22:05
ttp://journal.mycom.co.jp/articles/2006/09/23/cedec4/007.html
よく見たらDoubleProductの前には「SH」とついていない。普通の内積?
>>233
期待に添えません
235デフォルトの名無しさん:2007/07/21(土) 00:32:49
ディフューズ伝達はただの内積だよ
なんで内積でOKなのかくらいは数式的に理解してから実装しようね
236デフォルトの名無しさん:2007/07/23(月) 00:56:07
質問です.
GPU の HW アーキテクチャについて勉強したいのですが,書籍でいいのありま
すか?(洋書可)
237デフォルトの名無しさん:2007/07/23(月) 01:03:06
gpugems
238デフォルトの名無しさん:2007/07/23(月) 01:24:59
>>237
もうちょと HW の設計についてトップダウンで書かれたものがいいんですが...
239デフォルトの名無しさん:2007/07/23(月) 01:32:51
どの程度の情報が欲しいのか具体的にお願いします。
240デフォルトの名無しさん:2007/07/23(月) 07:42:08
【派遣ネガティブ根性チェック】

3つ以上、チェックがつけばアナタの性格はひん曲がっており、
ネガティブ負け組派遣人生を歩んでいます。

□派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う
□派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする
□仕様とは正社員から口伝されるものだ
□耳で聞いた仕様を正確に覚えていないのは自分の責任だ
□昼食は必ず派遣先の社員と行くべきだ
□自分の仕事で問題が発生しても解決するのは派遣の仕事ではない
□派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい
□自社で仕事なんてできるわけがない
□派遣労働の問題点の話題が出ると感情剥き出しにして反論する
□派遣労働の問題を指摘する人は嫌いだ
□派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい
□奢ってくれる派遣先正社員を尊敬する
□自分の月額金額を知らないのは当然だ、単金を聞いてはいけない
□派遣先正社員より自分の生涯収入が低いのは当然だ
□チビは派遣先にかわいがってもらいやすいから派遣には有利だ
241238:2007/07/23(月) 21:04:27
>>239
ヘネパタの Computer Architecture を GPU にとっかさせたかんじのやつです.
242デフォルトの名無しさん:2007/07/23(月) 21:43:11
エピ曲線とか、そういう話題はここのスレに含まれるの?
243149:2007/07/24(火) 18:24:40
>>235
>なんで内積でOKなのかくらいは数式的に理解してから実装しようね
なんで内積でいいの

PRTの前計算プログラムを作ってるけど計算に20〜30分かかっている・・
遅杉?頂点数は18,000ぐらい。
244デフォルトの名無しさん:2007/07/24(火) 18:46:30
Sloanの論文くらい読めよカス
245デフォルトの名無しさん:2007/07/24(火) 22:49:32
1.キューブマップをdecompose_SH_cube_rgbで球面調和関数展開
2.各頂点の遮蔽情報をdecompose_SH_cube_rで〃
↑普通は、頂点からレイを1000方向くらい飛ばして交差判定をしてSHを作るよ
多分その方法でも出来るけど
3.何とかしてライティング計算(SHDoubleProductを使う?
でもこのライブラリにはTripleProductしかない
↑TripleProductは遮蔽項の追加とかで使うんだったよーな気が。
ライティング計算は大体
for ( int i = 0; i < 16; ++i )
light += cube_sh[i] * occluder_sh[i];
みたいな感じでok。ホントはもう少し複雑なので、論文とか本を読んでくれ。

>PRTの前計算プログラムを作ってるけど計算に20〜30分かかっている・・
>遅杉?頂点数は18,000ぐらい。
そんなもんじゃね? がんばって当たり判定にKDTreeとか使えばたぶんもっと速くなる。
246デフォルトの名無しさん:2007/08/06(月) 16:48:35
ttp://gamdev.org/up/img/9924.png
こんな感じのレンダリング結果になりました。

>ホントはもう少し複雑なので、論文とか本を読んでくれ。
?違う??
247デフォルトの名無しさん:2007/08/06(月) 17:12:33
どう見ても間違ってると思う
248デフォルトの名無しさん:2007/08/06(月) 19:13:13
エッジ部分が変だなw

遮蔽項等の計算をするときは、データ上は共有されてないが
同じ位置にある頂点(何かいい呼び名ある?)も共有させて
計算しないと駄目だよ。
249デフォルトの名無しさん:2007/08/06(月) 19:22:18
250デフォルトの名無しさん:2007/08/06(月) 19:24:44
>>248
>同じ位置にある頂点(何かいい呼び名ある?)も共有させて計算しないと駄目だよ。
???
メッシュのデータは頂点のデータと頂点インデックスとに別れていて、
計算時及び表示時は頂点データの方を参照しています。
251デフォルトの名無しさん:2007/08/06(月) 19:26:23
ソースの方は色々試してみた跡があって滅茶苦茶なのでまた今度に・・
描画には3Dエンジン「Irrlicht 1.3.1」を使っています。
252デフォルトの名無しさん:2007/08/06(月) 19:31:04
>>248

要するに、頂点インデックスのあるメッシュデータを用いて遮蔽項の計算をしているから
同じ位置での遮蔽項を何回も計算したりなんて事にはなっていないはず、
と言いたかったんです
253デフォルトの名無しさん:2007/08/07(火) 22:31:43
254デフォルトの名無しさん:2007/08/10(金) 18:08:04
age
255デフォルトの名無しさん:2007/08/11(土) 00:47:23
245です
ソースざっとみました。
今ん所特におかしい所は見当たらないです
またヒマが出来たら眺めてみます。
256デフォルトの名無しさん:2007/08/11(土) 00:59:39
あとあと、
今更ながら動画見た。
影の動く方向と光源の動く方向が異なってるのが怪しい
SHの座標系とsceneの座標系合ってますか?
Z-upとY-upは統一してる?

D3DXSH系はなにげにZ-upだったよ
257デフォルトの名無しさん:2007/08/12(日) 16:06:53
ポリゴンについてです。

○−−−−−○−−−−−○
|       |       |
|       |       |
|       |       |
○  A    ○  B    ○
|       |       |
|       |       |
|       |       |
○−−−−−○−−−−−○

という頂点を持つ隣接した2つのポリゴンを、

○−−−−−○−−−−−○
|                |
|                |
|                |
○       C         ○
|                |
|                |
|                |
○−−−−−○−−−−−○

一つのポリゴンにする為には、
どのようなアルゴリズムが必要ですか?
258デフォルトの名無しさん:2007/08/12(日) 16:10:49
>>257
1〜N辺を共有してればなんでもいけんじゃね?
凹とか凸とか関係ないっしょ?
259デフォルトの名無しさん:2007/08/12(日) 19:00:13
>>258
具体的には?
260デフォルトの名無しさん:2007/08/12(日) 19:07:47
AとBで共有している点と辺は、データ上も共有されているの?
それとも共有されていることを見つけるアルゴリズムが知りたいの?
261デフォルトの名無しさん:2007/08/12(日) 19:17:16
AとBで別々で頂点を持っています。
二つの一次元配列に各頂点が納められているイメージです。

やりたいことは、隣接している複数のポリゴンを
一つのポリゴンに変換したいのです。

隣接している頂点(同一地点がある頂点?辺?)、
変換後に不要となる頂点の判断が必要かなと考えてみるのですが。
262デフォルトの名無しさん:2007/08/12(日) 19:20:32
凸多角形にこだわらないなら簡単だな
263デフォルトの名無しさん:2007/08/12(日) 19:24:07
>>262
といいますと?
264デフォルトの名無しさん:2007/08/12(日) 19:24:23
空間は三次元かね?(スレタイからするとそうだが・・・)

3点でつくる三角形は必ず平面になるが、
4点以上は平面にならないことは分かってるかな
265デフォルトの名無しさん:2007/08/12(日) 19:26:00
>>264
2次元です。(スレタイから外れますが。。)
Z座標は無いですね。
266デフォルトの名無しさん:2007/08/12(日) 19:42:06
頂点数の見込みは?
AとBは2つだけ?それともまだ他にある?
267デフォルトの名無しさん:2007/08/12(日) 20:29:04
多角形の凹凸を気にしないなら簡単だね。
268デフォルトの名無しさん:2007/08/12(日) 20:37:20
複数面を想定しています。
凸凹を気にしないとは?
269デフォルトの名無しさん:2007/08/12(日) 20:43:14
>>268
たとえばこういう場合はどうしたいの?
統合したら凹多角形になるけど

○              ○
|\          /|
|  \      /  |
|    \  /    |
|      ○      |
|  A  |.  B  .|
|      |      |
○───○───○
270デフォルトの名無しさん:2007/08/12(日) 20:47:00
○              ○
|\          /|
|  \      /  |
|    \  /    |
|      ○      |
|  A     B  .|
|            |
○───○───○

ですね。
要は複数の面が一つの面になるようにしたいです。
271デフォルトの名無しさん:2007/08/12(日) 20:50:18
凹凸を気にせずに単に外周をとりたいということか
272デフォルトの名無しさん:2007/08/12(日) 20:52:32
>>270
ソリッドモデル 境界表現法
でググれ
273デフォルトの名無しさん:2007/08/12(日) 20:56:01
>>268
でこぼこワロタ
274デフォルトの名無しさん:2007/08/12(日) 22:14:57
>>271
そうなりますね。

>>272
ググってみましたが、
ちょっと理解しずらいです。

今回のケースの場合、
どうすればよいのでしょうか?
275デフォルトの名無しさん:2007/08/12(日) 22:17:02
2つの形状が必ずぴったり隣接してるのなら、表裏だけ違う同一の2面を単に取り除けばいいんじゃないか。
276デフォルトの名無しさん:2007/08/12(日) 22:20:08
>>274
条件が少なすぎる
Z座標はなくてもUVとか全部ずれるぞ

もっと全体のやることを掲示してくれ
後付けでZはありませんとか大事なこと後だしで出してるところからいって
お前が重要だと思い込んだ内容しか出せてないだろ?
この状態で返事はできん
277デフォルトの名無しさん:2007/08/12(日) 22:34:40
>>275
隣接しています。
(ぴったり隣接しなくても結合できる方法があれば知りたいです。)

取り除きたいのですが、
隣接(=頂点が同一で2点以上になる辺)の
部分の判断方法がわからないのです。

例では2面だけ示していますが、
複数の面が隣接するケースもあるとしてください。

>>276
言葉たらずですみません。

条件ですが、

・2次元(2D)
・複数の面が空間上に存在。
・面は全て同じ頂点でなく、いろいろな凸凹面が存在。
・1つの面の頂点数は10〜100程度になりそうです。
・それぞれの面で隣接しているオブジェクトを一つの面として変換。

です。
278デフォルトの名無しさん:2007/08/12(日) 23:23:10
>>277
くっついてるかどうか見るのは辺だけじゃないの?
279デフォルトの名無しさん:2007/08/12(日) 23:36:59
まず、点・辺・面の定義について勉強してくれ。
用語の使い方が間違ってるから、言ってることがめちゃくちゃ。
280デフォルトの名無しさん:2007/08/12(日) 23:42:42
>>279
そこまで戻らなくてもいいような・・・
281デフォルトの名無しさん:2007/08/13(月) 00:17:00
でも正直もうちょっと勉強してから質問した方がいい気はする・・・
今の状態で解るように説明するのって難しいんじゃない?
案外用語整理したら解き方思いつくかも
282デフォルトの名無しさん:2007/08/13(月) 00:21:57
>>279
すみません。

明確なことは「二つの面を一つの面に変換する」です。
283デフォルトの名無しさん:2007/08/13(月) 00:39:02
>>282
実はすっげ面倒じゃね?

めちゃくちゃでっかい三角形2ポリで構成された四角形に隣接する
めちゃくちゃちいせぇ三角形って単純な方法じゃくっつかないだろ?w
284デフォルトの名無しさん:2007/08/13(月) 01:34:26
>>283
外周の頂点だけ抽出できればいいのかなと思うのですが、
その判断が想像つきません。。
285デフォルトの名無しさん:2007/08/13(月) 01:43:42
>>284
とりあえず面1と面2の共有頂点でなければ外周の頂点候補じゃねの?
286デフォルトの名無しさん:2007/08/13(月) 08:25:38
>>285
そうですね。
ただ、共有頂点の一部(面1と面2のどちらか)は
外周として扱わないと、同一の面は維持できないですよね。

両方の頂点座標で同一の座標値を持つインデックスを走査したとして、
それが共有頂点で外周として扱う必要である頂点か否かの判断方法が
思いつかないのです。
287デフォルトの名無しさん:2007/08/13(月) 08:40:41
>>286
そりゃなんとかなりそうじゃねぇの?
だって条件があるじゃん
頂点が共有頂点にしかつながってなかったらそれは消滅候補だな
とりあえず上の条件だけで共有頂点をとっぱらって循環してない共有頂点も消滅候補だな

で、だいたい消えるんじゃねぇの?
つか、紙に書いて考えてみた?
288デフォルトの名無しさん:2007/08/13(月) 10:32:27
最終的につながった形がでけー四角形に穴が開いてる形になったらどうすんだろうな?
289デフォルトの名無しさん:2007/08/13(月) 12:07:44
元質者は具体例のイメージができてナインジャマイカ?
290デフォルトの名無しさん:2007/08/13(月) 12:12:03
ここまでの議論をまとめればレポート完成です。
ありがとうございました。
291デフォルトの名無しさん:2007/08/13(月) 18:57:18
俺が教官なら、この程度の内容じゃ「不可」だな。
292デフォルトの名無しさん:2007/08/13(月) 23:08:06
頂点が共有頂点しかつながっていない
頂点は消滅させるのは理解できますが、
循環していない共有頂点とは?

必ずしも頂点が共有頂点にしか繋がっていない頂点について、
どちらの面の頂点を適用すればいいんだろう。(きめの問題かな)

たとえば、

A[0] A[1] A[2] A[3]
(0,5)(0,0)(0,-5)(-5,0)
B[0] B[1] B[2] B[3]
(0,5)(5,0)(0,-5)(0,0)
のひし形が存在したとして、

変換後は、
C[0] C[1] C[2] C[3]
(0,5)(5,0)(0,-5)(-5,0)
としたいんですけどね。
293デフォルトの名無しさん:2007/08/13(月) 23:17:08
>>288でも出てるけど、

○───────○
|\    C     /|
|  ○───○  |
|    \D /    |
|      ○      |
|  A  |.  B  .|
|      |      |
○───○───○
(Dは領域外)

の場合はどうするの?

○───────○
|      C       |
|  ○───○  |
|    \D /    |
|      ○      |
|  A    .   B  .|
|              |
○───○───○

これでいいのか?
294デフォルトの名無しさん:2007/08/13(月) 23:21:58
ダメだこりゃ。
295デフォルトの名無しさん:2007/08/13(月) 23:25:08
○───────○
|            |
|         |
|           |
|             |
|          |
|              |
○───○───○
ですかね。
296デフォルトの名無しさん:2007/08/13(月) 23:31:46
すげぇ、gdgdだぜ。
297デフォルトの名無しさん:2007/08/13(月) 23:51:39
○───────○
| C || ○───○  |
| \D / |
| ○ || A B |
| |
○───○───○
298デフォルトの名無しさん:2007/08/13(月) 23:52:31
もうなにがなんだか
299デフォルトの名無しさん:2007/08/13(月) 23:53:07
○───────○
|      C       |
|  ○───○  |
|   \(^o^)/.   |
|      ○      |
|  A    .   B  .|
|              |
○───○───○
300デフォルトの名無しさん:2007/08/14(火) 03:12:31
○───────○
|              |
|      ○      |
|  /(^o^)\   .|
|  ○───○  |
|  フッジッサーン  |
|              |
○───○───○
301デフォルトの名無しさん:2007/08/14(火) 04:11:04
>>292
ていうかお前、仕様が確定してない状態っしょ?
具体的に言え、何をどうしたいからそんなことやってんだ?

面をくっつけたいのはわかった、でも、
それだけの条件だと多角形なんてもんで表せない図形になるでしょ?
網目みたいな簾みたいなもんだってできるわけじゃん
俺は、正直、こんなもんの用途なんて無いと思ってる
外枠も糞もドット絵で白黒表現したほうがよっぽどはえーぐらいだよ

だから、俺が知りたいことは「面をくっつけたい」って部分じゃなくて
「なんのために」面をくっつけたいのか?って部分なんだよ
絶対そっから仕様が確定するはずなんだ

いまの質問は限りなく無駄なことをしてるとしか思えない
302デフォルトの名無しさん:2007/08/14(火) 04:13:53
>>292
合成した後、共有してる辺を消したときに繋がって無い辺(図形を構成していない辺)だけが残る
ときがあると思うからそれを消すためのもん
紙に書いてみればわかる
303デフォルトの名無しさん:2007/08/14(火) 04:14:40
あ、

>循環していない共有頂点とは?

に対しての返答ね
304デフォルトの名無しさん:2007/08/14(火) 09:54:17
NURBS同士の交点を求めるにはどうすればいい?
っていう質問はどこですればいいでしょうか?
305デフォルトの名無しさん:2007/08/14(火) 10:12:15
ここの連中は頭悪いから無理
もう少し真面目なところを探しな
306デフォルトの名無しさん:2007/08/14(火) 10:28:08
例えば?

数学板行ってみたんだがカオスだった。
307デフォルトの名無しさん:2007/08/14(火) 12:17:17
>>304
そういえば、2次元の幾何学系のスレってム板にないな。
ちなみに自由曲線の交点を求めるのは、ニュートンラプソン法を使うのが一般的。
308デフォルトの名無しさん:2007/08/14(火) 12:24:10
>>307
そーなのか。
CADとかどうやってんだとかずっと考えてたw

トンクス
309デフォルトの名無しさん:2007/08/14(火) 14:23:00
キューブ環境マッピングのことで質問なのですが、
パフォーマンスが出なくて困ってます。
手法は以下の通り、

・3Dオブジェクトごとに1枚のキューブマップを持つ。
・シーン描画の前に、それぞれのキューブマップを更新。
・キューブマップによって、反射・屈折エフェクトを実行。

例えば、3Dオブジェクトが3つあると、3x6回シーンを描画しなければ
ならない訳で、重くなる理屈はわかるんですが、
HALO2など、完璧な屈折エフェクトなのに全然重くなっていないあたり
何かうまい方法がありそうなのですが、何か知りませんか?
310デフォルトの名無しさん:2007/08/14(火) 21:07:45
なぜに3×6?
311デフォルトの名無しさん:2007/08/14(火) 21:10:39
遠くにあるもののマップは小さくするとか
312デフォルトの名無しさん:2007/08/14(火) 21:53:44
>>310
キューブマップを描画のたびにオブジェクトごとに更新してるってことなんかな?
いや、ようわからんけどw
313デフォルトの名無しさん:2007/08/14(火) 21:57:13
俺、マップ(シーン?ワンフレではない)で共通のキューブマップしか
使ったことねぇからさっぱりわからないや

拡大具合によっちゃワンフレ更新も意味あるけど、
そんなオブジェクトが3体も入るようなカメラでオブジェクトごとのキューブマップなんているのか?
かなーり近づいてキャラの表情が物体に映りこむぐらいしないと演出としてあんま意味無い希ガス
314デフォルトの名無しさん:2007/08/14(火) 22:34:29
>309
参考までにその完璧な屈折エフェクトを見てみたい
315デフォルトの名無しさん:2007/08/14(火) 22:44:26
あれは疑似屈折だぞ。
316デフォルトの名無しさん:2007/08/14(火) 22:51:40
つーことはバックバッファをとってきてテキトーにずらして描画するタイプ?
317デフォルトの名無しさん:2007/08/14(火) 22:52:48
318デフォルトの名無しさん:2007/08/14(火) 22:54:16
まちがった
そのページから「次へ」を押してくれ。
319デフォルトの名無しさん:2007/08/14(火) 22:59:21
>>301
GISで多角形で構成される地物を一つの地物に変換したいです。
面の中が空の物は作る必要はありません。

二つの面から外周頂点を求めるアルゴリズムが知りたいです。
320デフォルトの名無しさん:2007/08/14(火) 23:04:32
レースゲームのボディの映り込み用のキューブマップとかって
毎フレーム更新してたりするの?
321309:2007/08/14(火) 23:50:01
>>310
キューブマップは6面あるので
6回描画しなければいけません。

>>311
それはすぐに出来そうな方法なので
試してみます。

>>313
凄く近いオブジェクトは動的キューブマップ
それ以外のオブジェクトはシーン共通の静的キューブマップ
こんな形で使い分ける感じでしょうか。

>>314-316
アービターの異端者制圧のステージで
味方のキャラが光学迷彩をした際、
背後の死体もちゃんと透けていたんで
まじめに処理しているのかなと思ったんですが
擬似なんですかね・・確かに反射を含まない屈折だけなら
その方法でいい感じにいけそうな気がします。
322デフォルトの名無しさん:2007/08/15(水) 00:07:02
そうだよな?
俺、3Dのゲーム組むようになってから最適化したことねーしw
ストリップ化だってやったことねぇw
最適化するぐらいならポリ数と塗り面積落とすわw
だって見た目全然かわんねーもん
323デフォルトの名無しさん:2007/08/15(水) 07:18:17
>>332
324デフォルトの名無しさん:2007/08/15(水) 07:57:22
>>323
将来のレス番がどうした。
325デフォルトの名無しさん:2007/08/15(水) 10:10:37
NURBS曲線・曲面を扱いたいのですが、ライブラリとかないでしょうか?
2Dのみでもかまいません。
326デフォルトの名無しさん:2007/08/15(水) 11:11:09
>>325
Parasolid
327デフォルトの名無しさん:2007/08/15(水) 23:36:48
>>325
glut
328デフォルトの名無しさん:2007/08/15(水) 23:38:13
ごめんgluだった
329デフォルトの名無しさん:2007/08/16(木) 10:56:34
325です。
表示にはgluをつかう予定ですが、表示しかできません。。。
途中の点の座標とか面の向きを知りたいのですが。
Cから使いたいのですが、DLLとかになっているものでも
かまいません。よろしくおねがいします。
330デフォルトの名無しさん:2007/08/16(木) 11:00:54
>>329
GLU 1.2
331デフォルトの名無しさん:2007/08/16(木) 11:42:36
調べたところ、gluNurbsCallback等がありました。
ありがとうございます。

たとえば、Nurbs面と交わるz平面の交線を抽出する
ことなどは可能でしょうか。
332デフォルトの名無しさん:2007/08/16(木) 12:08:37
無理
333デフォルトの名無しさん:2007/08/16(木) 19:33:03
Parasolidカーネルってどこで買える?
334デフォルトの名無しさん:2007/08/16(木) 20:25:15
そしてハウマッチ?
335デフォルトの名無しさん:2007/08/21(火) 23:30:25
質問です.

3D プログラミングに興味を持って,「リアルタイムレンダリング」を読んでい
るのですがクォータニオンが良くわかりません.具体的には,42 ページで脱落
しました.

こんな人間がクォータニオンを理解するのによい書籍等はないでしょうか?
336デフォルトの名無しさん:2007/08/21(火) 23:42:07
>>335
クォータニオンを使いたいだけだったら理解する必要は無いと思うよ。
解説なんか見ないでソースコードを読んだ方が納得出来るんじゃないかな。

ttp://gamdev.org/w/?QuaternionPowers
ttp://marina.sys.wakayama-u.ac.jp/~tokoi/?date=20040321
ttp://homepage1.nifty.com/seagull/math3d.html
ttp://staff.aist.go.jp/toru-nakata/quaternion.html
ttp://tpot.jpn.ph/t-pot/program/35_quaternion/quaternion.html
337デフォルトの名無しさん:2007/08/22(水) 01:00:24
>>336
有り難うございます.

教えていただいた中では,
http://tpot.jpn.ph/t-pot/program/35_quaternion/quaternion.html
が非常にわかりやすく良く理解できました!
338デフォルトの名無しさん:2007/08/24(金) 22:04:20
ttp://lucille.sourceforge.net/blog/archives/000300.html
やってみたいんですが何をやっているのかさっぱり分かりません。
ググってもほとんど情報が無いし・・
339338:2007/08/24(金) 22:15:48
とりあえず、表示に必要な前計算をやりたいです
340デフォルトの名無しさん:2007/08/24(金) 22:30:25
がんばって!
341デフォルトの名無しさん:2007/08/24(金) 22:53:44
3ページ目
We define a combined transport function for the k-th BRDF
term as:

Tk(x,ωi) = gk(ωi)V(x,ωi) (ωi・n(x))
xはサーフェイス上の位置
ωiは入射光の角度
Vは遮蔽項
nはxでの法線

これでtransport matrixが計算できるんでしょうか?
でもKとかBRDF termとかview map とか light mapとかわからない・・
8ページ目で、Kが上がれば上がる程レンダリング結果がよくなっていますが。
342デフォルトの名無しさん:2007/08/24(金) 22:56:33
くっ・・俺はこの論文を、ただ眺めていることしか出来ないのか?
こんな事じゃ、いつまで経っても実装に移れないというのに!
343デフォルトの名無しさん:2007/08/24(金) 23:06:23
KはBRDF関数をSVDで分解して近似したときの項数だろ
344デフォルトの名無しさん:2007/08/26(日) 21:20:57
そうなんだ
345338:2007/08/27(月) 23:34:42
同じ人が「All-Frequency Interactive Relighting of Translucent Objects
with Single and Multiple Scattering
」を・・

しかし、これもやっぱり分からないことには変わりありません。
346デフォルトの名無しさん:2007/09/01(土) 14:33:28
>>345
英語だめすぎておれもわからん。

ひそかに、そのへんを解説してそうな、オーム社からでるCG MAGICに期待している。
347デフォルトの名無しさん:2007/09/01(土) 17:57:28
SVDとかWaveletは数値計算ライブラリを使って計算するつもりです。
ライセンスがGPLなのが気になりますが。GPLよくわかんないので。
348デフォルトの名無しさん:2007/09/01(土) 19:26:40
分解する前に、BRDFをどうやって用意するのか・・
349デフォルトの名無しさん:2007/09/01(土) 19:44:58
>>348
論文ではAshikhmin-ShirleyやLafortuneのモデルを使ってますよ☆
350デフォルトの名無しさん:2007/09/01(土) 19:54:56
351デフォルトの名無しさん:2007/09/01(土) 19:59:15
このままじゃ挫折します HELP ME!
352デフォルトの名無しさん:2007/09/01(土) 20:05:03
>>350
どんな行列を分解するかなんて論文見渡せば10秒で見つかるだろカス
353デフォルトの名無しさん:2007/09/01(土) 20:05:52
ttp://www.tmps.org/index.php?GSL%A5%D9%A5%AF%A5%C8%A5%EB%A1%A4%B9%D4%CE%F3%A5%AF%A5%E9%A5%B9%A4%CE%BA%EE%C0%AE

によると、
>gsl_linalg_SV_decomp関数は,m行n列(m<n)の行列Aの特異値分解を計算します.引数Aは計算結果の行列Uで上書きされ,ベクトルsは対角行列Sの対角成分を格納します.また,workはn次元の作業用ベクトル領域です.
日本語でも何が書いてあるのかワカンネ
354デフォルトの名無しさん:2007/09/01(土) 20:34:27
>>338を読むための前提知識が足りなすぎる
線形代数からやりなおせ
355デフォルトの名無しさん:2007/09/01(土) 20:53:50
ttp://ja.wikipedia.org/wiki/%E7%B7%9A%E5%BD%A2%E4%BB%A3%E6%95%B0
無理です。やり直すどころかやってもいない
詳しい理論が分からなくても実装方法だけ分かればいいやと
思っていましたがやっぱりそうも行かないですね。

To construct the BRDF matrix, we sample both incident and
view directions on a unit disk embedded in a 2D texture
map of 48x48 resolution. The memory required to store
the tabulated BRDF is approximately 37.5 MB.

incident and view directions→incidence and view directions→入射光と視点の角度?

BRDF分解できないと先に進めない・・
356デフォルトの名無しさん:2007/09/01(土) 21:46:47
おまえは英語も駄目だな
357デフォルトの名無しさん:2007/09/02(日) 15:52:03
分かるかこんなの!
358デフォルトの名無しさん:2007/09/03(月) 10:38:15
>>352>>356

アドバイスできないなら、ひっこんでろカス
傍で見ていても不快になる
359デフォルトの名無しさん:2007/09/03(月) 14:08:40
すみませんでした
360デフォルトの名無しさん:2007/09/10(月) 22:02:51
(´・ω・`) ショボーン
361デフォルトの名無しさん:2007/09/12(水) 12:19:31
スクリーン座標→ワールド座標の変換をする関数を作りたいのですが(D3DXVec3Unprojectみたいな)、

これどういう風に計算するんですか?教えてください
もしくはどこか参考になるサイトがあれば。逆の場合なら解説しているサイトはたくさん見つかるんですけど…
362デフォルトの名無しさん:2007/09/12(水) 12:20:28
 
363デフォルトの名無しさん:2007/09/12(水) 12:32:38
投影行列の逆行列を求めて、座標を表すベクトルを掛ける。
364デフォルトの名無しさん:2007/09/12(水) 12:45:08
>>363
ありがとうございます
365デフォルトの名無しさん:2007/09/12(水) 13:40:51
>>358

アドバイスできないなら、ひっこんでろカス
傍で見ていても不快になる殺すぞ!!
366デフォルトの名無しさん:2007/09/12(水) 18:26:53
   ∧_∧  / ̄ ̄ ̄ ̄
  ( ・∀・) < PRT!!!
⊂/  9)  \____
q(   /
  >  >
367デフォルトの名無しさん:2007/09/13(木) 23:39:40
3Dアクションの当り判定って一般的にはどうやってとってるの?
進行方向ベクトルのさす1点がポリゴンに交差しているかだけを
見ると、曲がり角に肩をぶつけるような状況の時に抜けちゃうと
思うんだよね。進行方向から扇状に何点か見る感じですか?
368デフォルトの名無しさん:2007/09/13(木) 23:51:19
モデルを構成する全ポリゴンと交差判定すればいい
369デフォルトの名無しさん:2007/09/13(木) 23:56:19
それ重杉でしょ…。
370デフォルトの名無しさん:2007/09/14(金) 00:12:18
当たり判定用のモデルを用意したら良いんじゃないの。単純なフォルムの奴を。
371デフォルトの名無しさん:2007/09/14(金) 00:45:18
ポリゴン同士の交差判定は出来ればしたくないなぁ。
「辺の数」+「辺の数」x「線分とポリゴンの交差判定」を
「モデル1のポリゴン数」x「モデル2のポリゴン数」
やるわけでしょ?重いなぁ。
372デフォルトの名無しさん:2007/09/14(金) 00:46:16
こまかいけど、
「辺の数+辺の数」x「線分とポリゴンの交差判定」ね。
373デフォルトの名無しさん:2007/09/14(金) 07:42:12
単純図形でとる
374デフォルトの名無しさん:2007/09/14(金) 08:02:19
単純図形で取ってもさ、早く移動する物体だと検出すりぬけちゃうでしょ
みんなどうやってるんだろう
375デフォルトの名無しさん:2007/09/14(金) 08:50:55
もまいらおはようさん。
この話ってキャラとBGの当りのことだよね?確かに一般的な
方法論があるか気になる。やったこと無いけど、円(球)とモデルの
当り判定は軽く正確に取れないのだろうか。
376デフォルトの名無しさん:2007/09/14(金) 21:54:36
素人考えの疑問への答えならこの本に大体載ってるだろう
ttp://www.borndigital.co.jp/book/program/4-939007-91-X/4-939007-91-X.html
377デフォルトの名無しさん:2007/09/14(金) 22:50:28
>>376
ゴメン、どの辺が素人考えなの?その当り、素人で無い人は
どんな感じでやってるの?
378デフォルトの名無しさん:2007/09/14(金) 23:39:21
素人じゃない人は>>376に載ってるような方法(or さらに発展したもの)をやってると思う。
衝突判定とか詳しく勉強したいなら買っておいて損はない。

おおざっぱに説明すると
1, キャラの境界箱みたいのをあらかじめ作る。
2 空間を分割
3 各分割した空間にどんなキャラがいるか調べる。
4 キャラと衝突するのは同じ空間または隣接する空間にいるキャラだ
5 4で衝突する可能性のあるキャラ同士を集め、1で求めた境界箱の衝突チェック
5 境界箱が衝突したらもうちょい細かいモデルで衝突チェック

詳しく知りたい人は BVH(bounding volume hierarchy),
BSP treeとかググればいいかも
379デフォルトの名無しさん:2007/09/15(土) 00:13:50
>>378
境界球とかBoxで処理切るのとか、視推台との位置関係で
表示に関係無いモデルの座標変換を省いたりっていうやつは、
今の話題ではないと思うんだよね。>>367は、背景とキャラクタの
厳密で高速なあたりの取り方を聞いてるんじゃないの?

頂点を減らした簡素な背景の当りモデルを一定の区間で分割して、
>>378が言うように自分が存在する周辺27(XZで済む場合は9かな)
区間に対応した当りモデルに対して、キャラが持つ簡素な当り
モデルに対するポリゴン交差判定を実行するってのが結局一番良い
のかね?これならBGを切る区間の幅がキャラのスフィア半径を
超えない限りは大丈夫そうな感じはするけど。
でも、これって理論は簡単だけど、データ管理とか、ソースの
可読性の面で、相当なデメリットを被るから、もっと簡単なやり方を
皆やってるのではないかと思って漏れも聞きたいのだけど。
380デフォルトの名無しさん:2007/09/15(土) 01:39:55
領域が重複するように区切ると、1区画だけで済むよ。
381デフォルトの名無しさん:2007/09/15(土) 08:52:30
でかい1区画も小さい27区画もあまり変わらなくない?
382デフォルトの名無しさん:2007/09/15(土) 10:18:39
全然違うよ。

区画を拡張するサイズは、判定に使うのが球なら半径の分。
(隣接した区画が半径分ずつ広がるから、直径分重複する)

1区画の大きさが100*100*100のサイズだとして、全方向に4だけ拡張すると
1.26倍の体積になる。これで、半径4以下のサイズなら漏れ無く判定できる。
この方法は、特に八分木と相性がいい。

それと、1区画が必要以上に小さくなければ27区画も判定する必要もなく、
一番近い8区画で十分。
383デフォルトの名無しさん:2007/09/15(土) 10:43:01
>>382
丁寧にありがとう。なるほど、結構効率が違いそうだね。
どうしても、ある区画と、その隣の区画には、同じポリゴンが
存在することになってしまうと思うから、最大の速度効率で
考えると、キャラ半径分で区画を細切れにして、各区画に
割り当てるデータは、中心を含めた周囲27区画(9区画なのかな?)の
広さをカバーしたものにする、っていうのが最も早そうだね。
区画を細かくすればするほど、速度は上がるが、メモリ消費は
大きくなるって感じかね。

ところで、27区画っていうのは中心を含めた3x3x3の区間で、
ルービックキューブのような状態なんだけど、
8区画っていうのは3D?それともXZ平面上での話?
384デフォルトの名無しさん:2007/09/15(土) 12:15:46
>割り当てるデータは、中心を含めた周囲27区画(9区画なのかな?)の
>広さをカバーしたものにする
正確には中心の区画+半径分の広さをカバーする
ですね。
385デフォルトの名無しさん:2007/09/15(土) 16:32:27
>>383
8区画ってのは、重複領域がない場合に検査する必要のあるサイズ。
球の直径より小さいと27区画(3*3*3)のチェックが必要だが、直径より
大きければ8区画(2*2*2)でいい。

それと、重複領域がない場合は、通常は地形のポリゴンは隣接する
複数の区画を貫いているから、周囲の区画もチェックするというのは
実際には同じポリゴンに対する判定ばかりで無駄が多い。
386デフォルトの名無しさん:2007/09/15(土) 16:54:06
なるほど〜。よくわかったです。
けど、高速の時でも抜けないように判定する方法はあるの?
進行方向に対してなるべく沢山レイを飛ばすしかないのかな?
387デフォルトの名無しさん:2007/09/15(土) 17:11:37
元の質問(>>367,374)は速い移動で抜けてしまうという話だったか。

基本的には、肩がこする程度の抜けは無視するものだと思う。
常識的な速さでfpsが極端に低くなければ、移動先で球なり円柱で判定を
取るだけで、荒が目立つほどでもないかと。
そもそも、判定用の図形は実際のキャラクタと厳密に同じ大きさではないから
それの端が多少めり込んだところで問題ないかと。

ただ、移動前-後の座標で直線を作って、その直線×地形の判定は
入れておいた方がいい。
3D格闘ゲームでは点と点を繋いだ直線ではなく、球と球をつないで
ソーセージ型で判定していたりするが、一般のゲームでそこまでしても
コストに見合うほどの効果はないと思う。
388デフォルトの名無しさん:2007/09/15(土) 19:21:02
>>387
元の367です。色々なアドバイス有難うございました。
結論としては、キャラの1フレームの移動量を抑えて、
@キャラの簡単なモデルA球や円柱B箱 などで、
移動先の地形と判定を取る。
っていうのが一般のゲームでは基本的な方法という
ことですね。
他にもBGを区分けする方法など、とても参考に
なりました。有難うございました!
389デフォルトの名無しさん:2007/09/15(土) 21:25:53
ソーセージは初めて聞いた。
カプセルと表現することが多いように思うけどな。

壁に向かって斜めに動く時に、カプセルでやるほうが綺麗に押し戻せるので、コストに見合う効果があると思う。壁でクラッシュするならいいけど。
390デフォルトの名無しさん:2007/09/15(土) 23:11:17
カプセルで当り取るヒントキボン
391デフォルトの名無しさん:2007/09/15(土) 23:21:34
球+円柱+球
392デフォルトの名無しさん:2007/09/15(土) 23:26:15
速度ベクトルと半径(というか形状のベクトル)じゃないの
こっちにその理論がのってるお
ttp://www.gogo3d.com/products/mathema/index.html
そのまま実装すると重いから手抜きしたり工夫したりしないとだめだが
393デフォルトの名無しさん:2007/11/03(土) 10:49:50
CPUでOpenGLをエミュレートするプログラムを書きたいのですが
何を参考にすればいいですか?
本かソースを紹介してください
394デフォルトの名無しさん:2007/11/03(土) 10:50:36
mesaしか知らない。
395デフォルトの名無しさん:2007/11/03(土) 11:04:57
何をやりたいかにも依るけど、TinyGL は小さくてお勧め
OpenGL|ES でよければ Vincent
396デフォルトの名無しさん:2007/11/03(土) 19:06:43
以前なんか実行ファイル形式のTIPS網羅したマガジンうpしてくれてたよね
誰か再うp or 続編があったらうpしてください
397393:2007/11/04(日) 13:47:50
>>394-395
ありがとう
Vincentで逝ってみるよ
398デフォルトの名無しさん:2007/11/26(月) 12:31:19
正八面体を描画するプログラミングを教えて!!!
399デフォルトの名無しさん:2007/11/26(月) 12:55:05
質問です

四次元立方体を描画する猿を探せ
400デフォルトの名無しさん:2007/11/26(月) 14:21:25
lib3dsを使って3dsファイルを読み込んで描画したいのだけど、具体的にどうすりゃいい?
lib3ds_file_loadでファイル読み込めてると思ってるのだが、正しいのか?
401デフォルトの名無しさん:2007/11/26(月) 14:26:31
>>400
読めただけでは描画はされません。描画してください。
402デフォルトの名無しさん:2007/11/26(月) 14:44:26
具体的にはlib3dsのサンプルみりゃいいんじゃなかろうか
403デフォルトの名無しさん:2007/12/01(土) 16:11:56
>>398
ラミエル萌え
404デフォルトの名無しさん:2007/12/30(日) 20:02:55
現在特定用途用にレイトレレンダラを組もうと考えているのですが、
1〜20数四角ポリゴンでテクスチャ、透明度を使用し、影や光源を考えない場合、どのような最適化方法
を適用するのがいいでしょうか?目標としては、テクスチャなしの640x480で15fpsくらいを出せるようにはしたいです。
バウンディングボリュームは当たり前として、空間分割もやった方がいいのでしょうか?
405404:2007/12/31(月) 00:01:19
ちょっと上げさせてもらいます。
406デフォルトの名無しさん:2007/12/31(月) 19:49:07
>>404
"光源を考えない"の意味が分からない。
どんなに反射屈折しても光源にたどり着かないなら真っ黒な画像になると思うのだけれども。
多分、ポリゴン色とでもいうべきものを採用という意味なのだろうと思う。
そうだとすると、Z ソートしてポリゴンをラスタライズするのでは何がいけないのかが分からない。

空間分割は、その程度の対象個数だと、実行パスが複雑になることの弊害が多すぎるように思うけど、データにもよるし、結局のところやってみないと分からない。
これもやってみないと分からないのだが、SIMD 演算機があるなら、対象ポリゴンを32個固定にしてアンロールしたヒットチェックを作ったほうが速いかもしれない(その個数ならね)。

ところで今どのくらいの fps がでてるの?
407デフォルトの名無しさん:2008/01/02(水) 05:19:16
3Dモデルを出力するツールの作成を検討しています。
出力フォーマットは、汎用性を考えてFBX形式で出力を考えているんですが、
目だった問題点とかあるでしょうか?
フォーマット仕様を読む限りではあまり無さそうな印象ですが。
408404:2008/01/02(水) 13:36:42
>>406
遅れてしまってすいません。

光源を考えないというのはポリゴン色を使うということであってます。
ただ、ポリゴンに透明度を適用し、ポリゴン同士の前後関係を正しく
表示したいため、OpenGLなどを使うことはできません。
また、オフスクリーンでレンダリングする必要があるので、
ハードウェアの恩恵を受けることができず、ポリゴンを細分化
するとOpenGLではとても重いので・・・

まだ設計の段階で実際に組んだわけではないのでfpsが
どれくらいでるかわかりませんが、とりあえずバウンディングボリューム
のみでやってみます。
ありがとうございました。
409デフォルトの名無しさん:2008/01/02(水) 21:32:32
OpenGLでもオフスクリーンレンダリングできるし、
ハードウェアの恩恵も得られるでしょ。
半透明ポリゴンの正確な描画も一手間かかるだけで問題ない。
410404:2008/01/02(水) 22:39:08
>>409
この前OpenGLでオフスクリーンレンダリングすると
どうやってもソフトウェアレンダリングになってしまって重くて
使い物にならなかったのですが・・・
一応GeForce7600GSを積んでるのでハード的には問題ない
はずですが、なぜでしょう?
411デフォルトの名無しさん:2008/01/02(水) 23:59:11
具体的ななコードをだせ
412404:2008/01/03(木) 01:57:51
>>411
今手元にコードはないのですが、処理の流れは

1.32bitRGBのHBITMAPを作成
2.それを元にデプスバッファ32bitのレンダリングコンテキストを作成
3.テクスチャ、アルファ、デプステストを有効に
4.512x512未満のテクスチャを作成
5.レンダリング

という流れですが、この方法だとハードは使用されないようです。
413404:2008/01/03(木) 02:00:12
>>412
この方法というのは、HBITMAPを使用したオフスクリーンレンダリング
のことです。
414デフォルトの名無しさん:2008/01/03(木) 09:07:05
既存のウィンドウかダミーウィンドウからコンテキスト作ってFBOかpbuffer使え。
拡張を使うのがいやならバックバッファーに書いてフロントバッファーは放っとけ。
415404:2008/01/03(木) 11:32:04
>>414
わかりました。ダミーウィンドウ作って試してみます。
ありがとうございました。
416デフォルトの名無しさん:2008/01/05(土) 22:15:13
>>412
すべて半透明ならデプスバッファは要らないでしょ。
どうせ、すべてのポリゴンを奥から順に描画するのが前提になる話しだし。

ところで、ポリゴン同士は交差するの?
ならば、交差した部分でポリゴンを分割した方がいいのだけど、>408 の細分化ってコレを指してる?
417デフォルトの名無しさん:2008/01/07(月) 14:17:05
スポットライトのライティング計算式ってどっかにない?
調べても、線光源とか点光源くらいまでしか出てこない。
418デフォルトの名無しさん:2008/01/07(月) 16:10:08
419デフォルトの名無しさん:2008/01/09(水) 01:09:03
>>418
サンクス。無事実装できました。
420デフォルトの名無しさん:2008/01/20(日) 12:44:49
どうやって高速物体の衝突検出すんだよ
421デフォルトの名無しさん:2008/01/20(日) 12:49:27
>>420
それはグラフィックスとは関係ないと思うが、
ヒントはスイープ体。
422デフォルトの名無しさん:2008/01/22(火) 03:19:56
いきなり喧嘩腰だなw
423デフォルトの名無しさん:2008/01/22(火) 19:07:09
仮想空間って宇宙よりヤバくね?
光速越えも楽勝
424デフォルトの名無しさん:2008/01/23(水) 12:18:08
>>423
ニュートンの力学法則だけでシミュレーションすればそうなるな。
425デフォルトの名無しさん:2008/01/23(水) 20:57:27
つまりちゃんと特殊相対論でシミュレートしろとw
426デフォルトの名無しさん:2008/01/25(金) 02:22:57
特殊相対論の影響が無視できないような物理シミュレーションが必要になるのはどんなときですか?
>>420
物体が変形しないconvexならseparating axisでググ
変形しながら移動する三角形の衝突検出って難しいよ;;

というかこういう話は3Dアルゴリズム全般スレですべき?
それとも物理シミュレーションスレでも立てる?!
427デフォルトの名無しさん:2008/01/25(金) 08:17:19
そんなスレ立ててもすぐ落ちる。
428デフォルトの名無しさん:2008/01/25(金) 08:24:13
もうこういうことに興味持ってるの一握りの予感
日曜プログラマはみんな儲かりそうなウェブ方面に行っちゃったし。
429デフォルトの名無しさん:2008/01/25(金) 12:42:02
>>420
時間の刻みを小さくすれば良いじゃん。
430デフォルトの名無しさん:2008/01/25(金) 12:44:58
>>426
ローレンツ短縮の短縮率が、必要な精度より大きくなったらで良いんじゃないか
431デフォルトの名無しさん:2008/01/25(金) 13:02:54
>>420
交差するかしないかだよ。
432デフォルトの名無しさん:2008/01/25(金) 23:10:14
>>420
ググってひっかかったこれがよい
http://www.cs.unc.edu/~lin/COMP259-S05/LEC/14.ppt

>>428
ウェブ関係のアルバイトをやったことはあるが,ウェブ系より3D系のほうが100倍楽しいぜ
433デフォルトの名無しさん:2008/02/04(月) 19:54:53
これからOpenGLかDirectXをはじめようと思うんだけど
どっちが良いとかってある?
ちなみに今まではJavaメインでCGプログラムしてた。
あと少しCができる程度。
434デフォルトの名無しさん:2008/02/04(月) 20:03:27
なにがやりたいんだ
435デフォルトの名無しさん:2008/03/16(日) 12:51:18
>>420
つ「ゲームプログラミングのための3Dグラフィックス数学」
436デフォルトの名無しさん:2008/04/14(月) 18:11:12
3Dはある程度までレベルあがると物理との戦いになるな
437デフォルトの名無しさん:2008/04/14(月) 18:21:25
>>436
それは別問題。
438デフォルトの名無しさん:2008/04/14(月) 18:46:35
CPUはある程度までレベルあがると量子論との戦いになるな
439デフォルトの名無しさん:2008/04/15(火) 16:04:51
ある程度以上の物理って言うとデータ転送速度とオブジェクトサイズに生成速度とHDDアクセス時間とかそういうのかな?
440デフォルトの名無しさん:2008/04/15(火) 18:59:35
ライト増やすとすぐ重くなるのに何でデモでは幾つもギラギラ光ってんだよ!!
441デフォルトの名無しさん:2008/04/16(水) 02:39:13
>>440
・ギラギラして見えるのは実はビルボードとかでライティングに影響してない
・ライトから一定距離内にある物しかライティングしてない。
・Deffered shading
など考えられないでしょうか?!

GeforceでPhysXが動くようになったらしいよ
ttp://www.tomshardware.com/2008/04/14/nvidia_gpu_physics_engine_up_and_running_almost_/
442デフォルトの名無しさん:2008/04/16(水) 18:51:43
3Dマークの光る蝶々と、PS3&pspのメニュー画面の背景のモヤーってなってるのはどうやって描いてるのか教えて!
443デフォルトの名無しさん:2008/04/17(木) 02:22:57
>>442
どんなんか見てないのでよくわからんが、たぶん
最初に蝶をライティング無で白くレンダリングしてそれをぼかして
その上に蝶をレンダリングしているんでないでしょか。
444デフォルトの名無しさん:2008/04/17(木) 19:09:44
いや、あの蝶々は光源になってたから、他にも処理があると思う。。
445デフォルトの名無しさん:2008/04/20(日) 19:20:39
Bounding Volume Hierarchiesって何?
446デフォルトの名無しさん:2008/04/21(月) 05:32:19
octreeみたいな奴のことか?
447デフォルトの名無しさん:2008/04/21(月) 22:26:46
そうなのか?
実装しようと思ってHow to pack trees探しているけど
逆から始まっていたり、文字が選択できなかったり、文字の検索が正常に出来なかったりとか変なのしかない。
448デフォルトの名無しさん:2008/04/21(月) 23:19:10
>>445
簡単に説明すると
・オブジェクトorポリゴンのbounding volumeを作る
・隣接するbounding volumeをさらに大きなbounding volumeで囲む
・これを繰り返してbounding volumeの階層構造を作る。

で、何かと当たり判定するときは
・一番上のbounding volumeと当たり判定する。
・当たったらその下のbounding volumesと当たり判定する。
・当たったらその下のbounding volumesと当たり判定・・・
というのを繰り返して当たったオブジェクトを見つける。

で,Bounding Volume Hierarchiesはレイトレとか
物理シミュするときの衝突検出処理の高速化に使われてるわけだが
>>445はどのような目的で使うつもりなの?

real time collision detectionって本にBVHの説明が載ってるよ

octreeとほぼ同じ目的で使われるけど、違うアルゴリズムだよ。
449445:2008/04/21(月) 23:41:33
物理シミュの衝突判定で使うつもり。OBBTree(実装済み)と組み合わせて高速な
衝突判定プログラムを作りたい。
ttp://gamma.cs.unc.edu/COLBVH/
>real time collision detection
価格が高いよ・・
450デフォルトの名無しさん:2008/04/22(火) 06:14:55
この手の高い本は大学図書館に買わせているけど、たまに研究室にあったりして
購入してくれないことがあって困る。

自分はこれ関係の学部生じゃないんだがね。
451デフォルトの名無しさん:2008/07/09(水) 12:57:40
Mayaで作った物体形状をファイルに落としたものがあったとして
それの中身(物体形状データ)を調べるにはどうしたらいい?

Autodeskが提供してるライブラリとかある?

何でもいいのでヒントになることあったら教えてください
452デフォルトの名無しさん:2008/07/09(水) 23:30:34
それはこのスレなのかな…?
FBXについて調べてみ
SDKあるから
453デフォルトの名無しさん:2008/07/10(木) 22:55:02
人間のモデルを作ったとするじゃん
その人間の髪だけ物理演算でサラサラさせたり、皮膚だけ弾力を計算させたり、どうやるの?
ボーンで髪を動かすくらいしかわからない
454デフォルトの名無しさん:2008/07/11(金) 01:41:02
>>453
以下はリアルタイムレンダリングの話だけど。

1.オブジェクト単位の物理演算
これはいま大抵のところがやってる。段ボール箱を投げたり、
銃で缶を撃つと転がったりするヤツ。これは簡単。

2.ボンを物理演算する
ラグドールなんかはこの方法。こちらも簡単だし、軽い。
もちろん、ボンの有効角度の設定とか、肉の厚さ、ボンの重さ、間接の摩擦係数とかの
パラメータ自体を増やす必要がある。物理演算するとしたら現状はこっちが無難。

3.メッシュ自体のデータをいじる
メッシュのデータをいじるのでロックする必要がある。ロックすること自体は別段、悪い事じゃないけど、
メッシュの物理演算は非常に重いし、突き抜けとか避けるのは結構面倒。頂点シェーダに
パラメータを与えて、っていう方法も考えられるが、細かいコントロールが当然効かない。
シェーダモデルが3になれば、多少は状況が変わるのかな?

4.パーティクル
これはメッシュとはちょっと違う系の物理演算。これはそんなに重くないので、
意外と実装しやすい。質点の集合で管理する。水とかの流れとかだな。

ディアブロ3は 1.2.4.はやってそう。ブリザードはそんなにCGに凝るメーカーじゃないから、
いまは 1.2.4.ぐらいはやって当たり前なんだろうな。
455デフォルトの名無しさん:2008/07/11(金) 01:44:13
>>453
なんか上のを書いたけど答えになってないな・・・。

簡単に書くと、
メッシュの物理演算は基本的には頂点と頂点をつなぐ
線分をゴムみたいな弾性体だと仮定して計算する。

メッシュ 物理演算あたりでググってみたら?
456デフォルトの名無しさん:2008/07/11(金) 09:06:56
>>453
それはグラフィックスの問題だろうか。むしろモデリングやシミュレーションの問題だと思われ。
グラフィックスの問題と言えるのは、>>454の処理がおわって具体的な幾何学オブジェクトを描画する部分。
457デフォルトの名無しさん:2008/07/11(金) 13:52:42
レンダリングだけがグラフィックスの問題というわけでもなかろうに。硬いこと言うなよ。
458デフォルトの名無しさん:2008/07/12(土) 01:43:15
>>455
線分をゴムみたいな弾性体だと仮定するだけでいいのですか?
たとえば風船ならある場所を押すと中の気圧が上がって全体的に膨らみますし
スポンジだと多少変形させてもちゃんと角が角ばった状態に戻りますよね。
そういうのもちゃんとシミュレーションできるのでしょうか。

弾性体の物理シミュ関連の論文でお勧めがあったら教えて下さい(;><)
459デフォルトの名無しさん:2008/07/12(土) 09:46:27
>>458
そういう気圧とかがあるモデルのダイナミクスは非常に難しい。リアルタイムだと難しいんじゃないかな?
線分をゴムみたいな弾性体と書いたが、一定の長さを持つバネ仮定したら、角が角張った状態に
戻ることは容易に推測できるよね?もちろん、釣り合ってへこみ方向に裏返る可能性もあるっていうのもわかると思う。


http://scholar.google.co.jp/scholar?q=dynamics+simulation+&hl=ja&lr=&btnG=%E6%A4%9C%E7%B4%A2&lr=

↑google scholar ってあんまり有名じゃない?

簡単に説明すると物理演算って言うのは、微少時間 dt を1フレームに経過した時間として積分を
手動でやるっていうのが基本。もちろん、積分は計算でも出るわけだから、つかえるところはそちらを使う。
あとは、メッシュの当たり判定と作用の向きをちゃんと計算できるか、っていうだけ。
とりあえず順番としては >>454 の 1を実装して次に、2、4、それから メッシュの演算の入門である
クロスシミュあたりをやれば?
460デフォルトの名無しさん:2008/07/16(水) 00:19:44
google scholarはしりませんでした。
今まで普通にググって,無料で落とせる論文探してました。

ばねで繋げるってことは、f=定数×バネの長さの変位を計算して、
そのfを頂点に加えて積分して頂点の位置を計算するってことですか?

でも布とか少し伸びただけですぐにフックの法則が成り立たなくなって
fがどでかい値になったり破れたりしますよね。
計算の時間間隔を小さくすればfの値の急激な変化にも対応できるようになるけど
それじゃリアルタイムに計算できません(><)つ

large steps in cloth simulationという論文にその答えがあるのでしょうか??
がんばって読んでみよう
461デフォルトの名無しさん:2008/07/16(水) 06:41:36
盛り上がってきたじゃん
462デフォルトの名無しさん:2008/07/16(水) 09:46:06
>>460
基本はバネの考え方だったりするわけだけど、当然それだけじゃ
まずまともに動かないよ。あくまでバネっていうのは近似に過ぎないわけだから。

布の破れとかもやりたいの?バネに摩擦のような物を持たせたり、回転方向にも
フックの法則を適用したりしたほうがいいよ。回転方向の係数を下げると当然、柔らかい布になる。
でも、現実問題として布の衝突検出はかなりきつい。

ちなみに、布が少し伸びたときには布がその引っ張る力と釣り合うような力を
逆向きに出してるだけだから、f がどでかい値になるだろうって言う想像は見当違い。
そのどでかい値と同じ力で布を引っ張ってるはず。

あと、本当に学問的なシミュレートとしてやるんだったら物理板で聞いた方が良い。
・・・と思ったけど、数値解析ってスレは無いのな。計算物理学ってジャンルだから。
463デフォルトの名無しさん:2008/07/16(水) 14:08:24
その他の話題でこのスレが大賑わいしてるならともかく、、
需要自体もあるようだし別にこのスレでいいと思うよ
464デフォルトの名無しさん:2008/07/16(水) 16:50:55
シミュレート板なんてのも一応あるけどな。まあ閑古鳥だ。
465デフォルトの名無しさん:2008/07/20(日) 02:35:36
はじめまして。

現在、C++言語でlighwaveで作成したシーンオブジェクトファイル(*.lws)を
C++プログラムのプログラムの方からレイアウト情報を取得して、何らかの入力に応じてアニメーションをさせたいのです。

しかし、D-Storm社のデベロッパーサイトにはlwsとlwoをc/c++からそうさするためのユーティリティ関数のリファレンスが提供されているものの,こういった実装の資料はfWebや書籍を探してもほとんど資料が見つかりませんでした。

どなたか、C++とOpenGL(DirectXでも可)で*.lwsのアニメーションを再生する方法をご教授願います。

サンプルソースあると助かります。

466デフォルトの名無しさん:2008/07/20(日) 04:14:15
>>465
残念ながら、そういう簡便な仕組みの世の中にはなってない。とはいえ頑張る気があれば何とかなる世界だから頑張れ。
必要な資料も、多分君が見逃しただけで、全てある。でも、俺なら一千万うぃ下回る金額では請けない仕事だね。
467デフォルトの名無しさん:2008/07/20(日) 10:09:57
>>465
専門学校時代に作ったものでよけりゃやるよ。
モーフィングもスキニングも対応してるがDirectX9とVertexShader2.0必須。

Lightwave6.0〜9.0までなら動く。
9.3はlwsのバージョンあがってるから修正しないと動かないけどな。
468デフォルトの名無しさん:2008/07/20(日) 14:47:42
>>466
>でも、俺なら一千万うぃ下回る金額では請けない仕事だね。
大学の研究で必要になったので組んでる(ネットワークが本分でして、CGは範囲外)ですが、そんなに高給なんでしょうか。
ただ、仕事でプログラミングはやったことないのであんまり相場がよく分らないものでして(^^;

>>467
あ、ありがとうございます(><)
頂きます
DirectX9とVertexShader2.0両対応です。
Lightwaveのバージョンは,6月に買ったばかりなので多分9.3だと思います。
 
469デフォルトの名無しさん:2008/07/20(日) 17:22:55
zipでまとめたはいいがうpろだって何処使えばいいんだろうか・・・
自分とこのサイトは知ってる人が居そうでイヤだ。

>>468
すぐにLW9.5が出るからLWSなんて使わずにFBXを使った方が
MAYAや3DSMAXも一緒に扱えて便利だけどね。
470デフォルトの名無しさん:2008/07/20(日) 17:25:32
>>466
二十年くらい前で時が止まってるオッサンですか?w
471デフォルトの名無しさん:2008/07/20(日) 17:59:10
>>469
>すぐにLW9.5が出るからLWSなんて使わずにFBXを使った方が
MAYAや3DSMAXも一緒に扱えて便利だけどね。

あ、そうなんですか。<LW9.5
lightwaveを使うことになったのは、某大学と共同研究をしているためです。
ですが、ウチの教授が「こっちはこっちでプラットフォーム作ったほうがいいんとちゃう」とか言い出しまして
で、モデルデータは共有で使えるようにlwo,lwsとなったわけです。

FBXなんかは、XNAでもサポートされてますし結構メジャー(?)ですよね。
この形式については、調べていないので調べてみます。

使えそうであれば、FBXのサポートも検討します。
アドバイスありがとうございます。
472デフォルトの名無しさん:2008/07/20(日) 22:08:01
一応補足しとくとLWO/LWS読み込みが1.0としたらFBXの読み込みは10.0位の難易度はある。
473デフォルトの名無しさん:2008/07/21(月) 21:24:58
LWO,LWSの読み込みやった事あるけど知識ゼロの状態から3ヶ月で出来たよ
474デフォルトの名無しさん:2008/07/21(月) 23:27:05
>>470
十五年位かな。

>473
それはおかしいだろう。お前は適当言ってる。二週間もあれば十分だ。読み込むところまでなら。
475デフォルトの名無しさん:2008/07/21(月) 23:34:32
そんなの人によるだろJK
476デフォルトの名無しさん:2008/07/22(火) 01:03:47
>>475
全くその通りだけど、パースだけならイイ感じのラッパが公開されてなかったっけ?
477デフォルトの名無しさん:2008/07/22(火) 01:06:54
ttp://alpha.arrow.jp/DSC_7281.JPG
いや発作的にこう
478デフォルトの名無しさん:2008/07/22(火) 01:17:26
>>676
D-Stormに普通においてあるな
479デフォルトの名無しさん:2008/07/22(火) 10:01:00
>>474
3Dソフトのシーンを実機再生なんていまだと新人にやらせる程度の仕事だな。
480デフォルトの名無しさん:2008/07/23(水) 17:25:32
>>479
採用時に選び放題のようで羨ましい。
それでもソレはボーンだけの話だよね?
元の話>465はレイアウトってことだから、確かにボーンだけなのかもね。勘違いしてたかも。
481デフォルトの名無しさん:2008/07/24(木) 01:12:35
一番面倒なのがボーンじゃね?
ボーンさえ読めればアニメーションやメッシュ情報なんて屁でもないと思うが。
482デフォルトの名無しさん:2008/07/24(木) 01:55:50
>>481
そうか?

パーティクルとかダイナミクスとか使われてると結構きついぞ。

まさか、オブジェクト配置してキーフレーム読み込むだけじゃないだろうな?
483デフォルトの名無しさん:2008/07/24(木) 02:01:32
3Dソフトのシーンを実機で再生するならそうだろうな。
>>479は新人の仕事というより、「学習用」って意味だと思うぞ。

3Dソフト=モデルやモーションとかのリソース作成用って扱いで。
カットシーンやらマップのレイアウトやらパーティクルや物理パラメーターや骨の設定は
全部エンジンに合わせて専用でツール用意するのが普通じゃないか?
484デフォルトの名無しさん:2008/07/25(金) 00:32:21
>俺なら一千万うぃ下回る金額では請けない仕事だね。

低脳露呈www
485デフォルトの名無しさん:2008/07/25(金) 18:57:46
>>481
"ボーンだけ"ってのは、カメラとかライトとかマテリアルとか、個々の作業は簡単でも、こまごましたのを全部やってると大変って話。

>>483
> 全部エンジンに合わせて専用でツール用意するのが普通じゃないか?
LW だとどうかは知らないけど、3dsmax とか Maya ではプラグインとかスクリプトで、オーサリングツール上で設定するのが普通だと思う。

>>484
typoの指摘をありがとう。
486デフォルトの名無しさん:2008/08/18(月) 00:57:01
回転するコマの表面の模様を一緒に回転させたいんですが、どうすればいいん
でしょうか?テクスチャマッピングの技術で対応できるでしょうか?

どうも、基本的にラスタライズした後の2次元画像にテキスチャマッピイング
するから無理のように思えますけど。
487デフォルトの名無しさん:2008/08/18(月) 01:04:13
模様の付いたコマを回転させたら、模様も一緒に回転するのが普通だと思うけど。
模様だけ止まったまま回転しないの?

テクスチャマップは回転したり変形したりして貼り付けられるよ
488デフォルトの名無しさん:2008/08/18(月) 01:31:17
texture mappingするときには各頂点にUV値というtexture画像の対応する位置が設定してあるから
コマが回ればコマポリゴンの頂点も回るので,ラスタライズした後もちゃんとUV値も変わってるでしょ。

これとはあまり関係ないかもしれないがコマが高速に回転すると別の問題が起こる。
現実世界ではコマを回すとコマの模様が残像によって回転方向にそって線になったように見えるけど
CGで普通にfps30ぐらいでレンダリングするとこのような事が起きない。
回転速度によって実際よりゆっくり回っているようにみえたり、点滅したり、静止して見えるようになる。

これを解決するには
・FPSを上げる(120以上必要?)
・高速に回転しているっぽく見えるテクスチャを張る。
・モーションブラー
が考えられるけど、他にもっといい方法ある?
489デフォルトの名無しさん:2008/08/18(月) 10:44:39
スピード重視のゲームだったら、モーションブラーがすでにかかった
テクスチャを貼り付けるだろうな。
490デフォルトの名無しさん:2008/08/18(月) 19:49:06
3Dの短形(rectangle)と線分(segment)のCollisionを検出したいのですが、
参考になるコードやオープンソースのソフトウェア等教えて頂けないでしょうか?

ちなみに、単一の短形、もしくは複数の短形で囲まれたボリュームと、線分のCollisionを
求める機能を作成中で、初めての3Dグラフィックスプログラミングなので苦戦しております。
平面(Plane)と直線(Ray)のCollision検出はできたので、後少しで出来そうなのです。

使用している言語はVB6ですが、VB6、C/C++&MFC、C#、VB.NETならある程度読めます。
言語はあまり問いませんのでよろしくお願いします。
491デフォルトの名無しさん:2008/08/18(月) 20:19:34
×短形
○矩形
492デフォルトの名無しさん:2008/08/18(月) 20:27:48
平面と直線の交点が
矩形の内部にあるか、線分の内部にあるか
って判定をするだけではない?
493デフォルトの名無しさん:2008/08/18(月) 21:42:02
>>491
今までずっと短形だと思ってました・・・・
矩形(くけい)だったんですね・・・・or2...

>>492
矩形と線分の交点が矩形平面上にあることとが検出できれば良いです。
494デフォルトの名無しさん:2008/08/19(火) 00:46:38
ヘイヘイ平面の方程式NdotX+D=0と線分の方程式X=P0*(1-t)+P1*t (0<t<1)
を解いて矩形と線分が交差するか、交差するなら交点pを求めるのじゃ。

矩形のある頂点の位置をP, その頂点を共有する2辺にそれぞれ平行な2つの単位ヴェクトルをV0, V1としよう。
次にさっき求めた交点pを惨事元空間から矩形上の虹元空間へとトランスフォーーム!するのじゃ。
具体的に言うと
p'=p-Pを計算し、
p'x=V0 dot p'
p'y=V1 dot p'
を計算すると、(p'x, p'y)が矩形上の虹元空間での座標となるのじゃ。
そして後は(p'x, p'y)が矩形のサイズに収まってるかチェケラすればいいのじゃ。

そういえばこの交点pのように今いる三次元の世界から二次元の世界に行きたいと言う人を時々見かけるが
二次元へ行く方法を知りたいかい?
495デフォルトの名無しさん:2008/08/19(火) 07:35:36
>>494
パラメトリック幾何ですね。
計算誤差的に不利になることはあるけど、
まあ大抵の場合にOKですな。
CADもパラメトリックなのが主流ぽいし。
496デフォルトの名無しさん:2008/08/19(火) 12:28:34
パラメト厨乙
497デフォルトの名無しさん:2008/08/20(水) 05:06:01
>>494
しりたいです
498デフォルトの名無しさん:2008/08/20(水) 08:24:43
>>494
「○○じゃ」って九州の人?
499デフォルトの名無しさん:2008/08/20(水) 08:25:42
所謂爺語じゃね?
500デフォルトの名無しさん:2008/08/20(水) 08:30:53
>>499
九州だと「いいんじゃ」になるよな。

爺語ってなんか気持ち悪いな。
さも、「私は○○歴が長いんです」って自己主張してるみたいな。
501デフォルトの名無しさん:2008/08/20(水) 23:24:35
別にそれ自体は構わないのだが、>494に関して言えば「チェケラすればいいのじゃ」の辺りが痛い。
502494:2008/08/21(木) 01:27:47
>>497
まずは自分の行きたい2次元平面の以下の(今いる三次元空間から見た)パラメータを決める。
・平面の法線ベクトル:N
・平面に平行で長さが0でない互いに平行ではない2つのベクトル:T0,T1
・平面上の一点:P

まず、3次元空間上の1点xを上記平面空間へ移すには
平面上の位置x'=(T0dot(x-P), T1dot(x-P))
を計算すればよい。

上記計算を自分内の全点に対して行えば虹元の世界へ行くことができます。

というのは冗談です。この世界で精いっぱい活きて下さい。

>>498, 499
九州の人ではありません。爺語?みたいなものです。

>>500, 501
すいません。
眠たかったので変な言葉遣いになってしまいました。
不快な思いをさせてしまい申し訳ないです。


503デフォルトの名無しさん:2008/08/21(木) 11:50:55
うむ。check it outにしろcheck it upにしろ、〜してね、っていう意味が含まれてるからな。
504デフォルトの名無しさん:2008/08/22(金) 20:13:36
ピクセルシェーダ1.1と2.0ってどの辺が違うんだろう?
3.0や4.0との比較はぐぐって見つけることが出来たんだが…。
505デフォルトの名無しさん:2008/08/22(金) 20:34:40
1.1と2.0なら話にならないほど違う
506デフォルトの名無しさん:2008/08/22(金) 20:45:12
MosaicとFirefoxぐらい違う
507デフォルトの名無しさん:2008/08/22(金) 20:58:08
1.xは固定機能のコンバイナに毛が生えた程度で、汎用シェーダと呼べるレベルではないな
508デフォルトの名無しさん:2008/08/22(金) 22:22:09
恐ろしくてとても言葉では説明できないほど違う
509デフォルトの名無しさん:2008/08/23(土) 05:18:57
>>504
仮に Direct3d のことを言ってるのなら http://msdn.microsoft.com/ja-jp/library/cc371737.aspx を参照してくれ。
510デフォルトの名無しさん:2008/08/30(土) 00:52:24
すいません質問させてください。

Blenderなどのオーサリングツールのエフェクトアルゴリズムを、
外部のプログラムから直接利用する方法ってあるのでしょうか?

Blender内でPythonを使ってプログラムするのではなくて、C++などで実装したアプリから、
エフェクトアルゴリズムだけをライブラリのように利用するという意味なんですが。
511デフォルトの名無しさん:2008/08/30(土) 02:30:51
オープンソースなんだから好きなだけ参考にすれば良いだろ。

ただしライセンスには注意な。
512デフォルトの名無しさん:2008/08/30(土) 04:00:52
http://www.digipop.ne.jp/~junkie/hinan/create.htm

6年前と比べると、いまと昔
どう違うんだろうか・・・昔は無くて今あるもの
513デフォルトの名無しさん:2008/08/30(土) 05:32:52
将来任天堂64のソフトを作りたいと思ってるプログラミング初心者です
3Dについて調べたらこのOpenGLとかに当たったんですけど、
もっと簡単に3D描けるソフトがあると思うのですが、そういうのを使ったら互換性とかが無いんですか?
それと、任天堂64だとキレイなグラフィックは不可能なんですか?
514デフォルトの名無しさん:2008/08/30(土) 07:24:18
WiiでもGCでもなく64?
515デフォルトの名無しさん:2008/08/30(土) 07:25:39
>>514
64大好きなんです。ロード時間が無いから。それとコントローラー
516デフォルトの名無しさん:2008/08/30(土) 07:33:06
OpenGLなんて相当簡単なAPIだろ。
C/C++から利用するものであれより簡単な3DAPIなんてないだろ。
517デフォルトの名無しさん:2008/08/30(土) 11:01:31
>>513
64のロード時間が短い理由がわかるようになるまで経験を積めば
PCでも同じ事ができることがわかるよ。
518デフォルトの名無しさん:2008/08/30(土) 14:35:58
>>517
ダウト
519デフォルトの名無しさん:2008/08/30(土) 14:43:28
コンシューマー機が読み込み遅いのは大抵が
CDとかDVDとかから読み込みしてるからだろ。

読み込み速くしたきゃSSDにでも入れとけ。
520デフォルトの名無しさん:2008/08/30(土) 16:01:13
実行時に生成すれば読み込み時間はごく少なくて済むな
生成時間の方がかかるかもしれんが
521デフォルトの名無しさん:2008/08/30(土) 16:15:55
なんでモデラーは解析用メッシュ生成ソフトみたいに画面上に節点番号出せないの?
皆どうやって髪だけ物理演算とかしてるのよ 節点番号と位置がわからないじゃない
522デフォルトの名無しさん:2008/08/30(土) 16:29:01
頂点インデックスがあれば分かるだろjk
523デフォルトの名無しさん:2008/08/30(土) 19:36:18
じゃあ頂点インデックスを使ってモーフィングをどうやるのか簡単なアルゴリズムを書いてみそ
524デフォルトの名無しさん:2008/08/30(土) 19:41:54
なぜモーフィングの話に?
モーフィングはまた別だろ。
525デフォルトの名無しさん:2008/08/30(土) 20:09:43
唇の構成節点だけ別個に把握してないと駄目だろ?
526デフォルトの名無しさん:2008/08/30(土) 21:12:13
>>521
画面上に表示されたとして、デザイナさんにメモさせるの?
ちょっとメッシュ変更する度に変わるかもしれないのに。

普通はスクリプトとかプラグインで抽出するんだよ。

ところで接点って頂点のこと? ボーンのこと?
Knot の和訳? Node の和訳?
527デフォルトの名無しさん:2008/08/30(土) 21:29:55
モデラーでは節点って言わないんだっけ
528デフォルトの名無しさん:2008/08/30(土) 21:49:10
髪の毛ならプラグインで骨に物理のパラメーター埋めとくのが普通だと思うが。
529デフォルトの名無しさん:2008/08/30(土) 22:58:26
スカートは?
530デフォルトの名無しさん:2008/08/30(土) 23:10:59
ゲーム用途ならスカートも骨に物理だろ・・・。
ロングスカートにクロスシミュでも入れるつもりなのかと・・・。
531デフォルトの名無しさん:2008/08/31(日) 23:57:28
>>527
モデラー云々じゃなくて、ソフトによって和訳が違うから、ソフト名か英語表記を書いて。

>>530
ボーンじゃコリジョン調整が大変だろう。
360とかPS3では、ウチは頂点単位でやってるよ。
532デフォルトの名無しさん:2008/09/01(月) 14:03:25
>>526
「節点」は有限要素法とかの分野ではnodeの訳語だね。元はグラフ理論の用語から来てるんだと思う。
CGのメッシュはたいていサーフェス(=2次元多様体)を表しているからvertexやfaceとして解釈できるけど、
有限要素法で使うメッシュはサーフェス状とは限らず任意の接続構造をとりうるから、
単純にグラフ理論的なnodeやedgeとして扱うことになる。
533デフォルトの名無しさん:2008/09/02(火) 01:49:54
        ┌─日韓トンネル             ワシらも仲間に入れてや!!
        ↓                                 
                    うれしいやろ?来たったで!
 | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄|          
 |_∧∧_∧ ∧_∧ _∧∧_∧∧_∧∧  ∧ ∧_∧ ∧_∧_∧∧_∧
 |`∀´> `∀´>丶`∀´>`∀´> `∀´>`∀´>丶`∀´>丶`∀´>`∀´>∀´>丶`∀´>
 | ∧_∧  /⌒   ヽ∧_∧ ∧_∧  /⌒   ヽ∧_∧ ∧_∧  /⌒  ヽ
 |<丶`∀´>/| ∧_∧<丶`∀´><丶`∀´>  ∧_∧<丶`∀´><丶`∀´> ∧_∧
 |⌒ ∧_∧<丶`∀´>.∧_∧⌒ ∧_∧<丶`∀´>.∧_∧ ⌒ ∧_∧<丶`∀´>
 |>  <丶`∀´>∧_∧<丶`∀´>  <丶`∀´>∧_∧<丶`∀´>  <丶`∀´>∧_∧
 | /⌒   ヽ<丶`∀´>    ヽ /⌒   ヽ<丶`∀´>    ヽ /⌒   ヽ<丶`∀´>   
 | /| |   | |/⌒   ヽ   | | /| |   | |/⌒   ヽ   | | /| |   | |/⌒   ヽ  
 |ノ \\ /|/| |   | |\./| |ノ \\ /|/| |   | |\./| | ノ \\ /|/| |   | |
 |   \\ ノ \\./| |\\ | |   \\ ノ \\./| |\\ | |    \\ ノ \\./| |
 |/⌒\し'/   .\\ | |ヽ し'(ノ/⌒\し'/   .\\ | |ヽ し'(ノ /⌒\し'/   .\\ | |
 |     >/ /⌒\し'(ノ  > )     >/ /⌒\ し'(ノ > )  /    >/ /⌒\し'(ノ 
 |   / /    > ) / /    / /    > ) / / /    / /    > ) 
 |  / / つ    / / (_つ   / / つ   / / (_つ     / / つ   / / 
 |  し'     (_つ   |    し'     (_つ         し'     (_つ
534デフォルトの名無しさん:2008/09/02(火) 02:05:52
535デフォルトの名無しさん:2008/09/02(火) 23:54:16
平面と線分との交点を求めるには以下のようにすれば求められるのですが、
平面が有限な場合はどうやって求めればよいのでしょうか?

public static bool IntersectSegmentPlane(Vector3 a, Vector3 b, Plane p, ref float t, ref Vector3 q)
{
Vector3 ab = b - a;
t = (p.D - Vector3.Dot(p.Normal, a)) / Vector3.Dot(p.Normal, ab);

if (t >= 0.0f && t <= 1.0f)
{
q = a + t * ab;
return true;
}
return false;
}
536デフォルトの名無しさん:2008/09/03(水) 00:28:57
convexなポリゴンなら交差した頂点が平面を構成する直線の常に同じ側にあるって条件とかで好いんでなかったかな?
537デフォルトの名無しさん:2008/09/03(水) 08:49:43
>>535
交点の(u,v)を求めて、それが区間内かどうか判定すればいいだけじゃね?
538デフォルトの名無しさん:2008/09/03(水) 16:57:46
平面上の有限領域がどのような形式で表現されているかによるな
539535:2008/09/04(木) 03:19:03
平面上の有限領域はそれぞれVector3で表現できる3次元座標4点です。
3次元空間上の矩形と線分との交点を求めたいのです。
最終的には直方体を線分が貫通している点を検出したいのですが、
>>535のコードにどのように手を加えればよいでしょうか?
540デフォルトの名無しさん:2008/09/04(木) 04:15:52
直方体なら貫通している平面上の交点が向かい合わせの面以外の平面の内側にあればいいんでないの?
サイコロで言えば1の面上に直線が交わっているなら2-5,4-3のの各ペアの面から距離が符号違いであればいいって事じゃないの?
541デフォルトの名無しさん:2008/09/04(木) 07:20:51
条件を小出しにするなよ
542デフォルトの名無しさん:2008/09/04(木) 10:27:54
>>539
p2-p1をu軸にして、p4-p1をv軸にしてuv空間上の交点(u,v)が第一象限にあるかチェック。
p2-p3をu軸にして、p4-p3をv軸にしてuv空間上の交点(u,v)が第一象限にあるかチェック。
両方通れば矩形内。
543デフォルトの名無しさん:2008/09/05(金) 01:06:09
直方体と線分の交差判定ならSeparating axis theoremを使ったほうが速いような気がする。
直方体がAABBなら、
線分をAABBの3組の平面で切っていきながら2つの平行な平面と交差するかチェケラするのだ(ΘωΘ)
544デフォルトの名無しさん:2008/09/05(金) 08:33:39
>>542
p1p2p3p4が完全に矩形であるという前提なら、
p2-p1をu軸にして、p4-p1をv軸にしてuv空間上の交点(u,v)が[0,1]内かチェック
だけでいいんじゃね?
545デフォルトの名無しさん:2008/10/06(月) 22:36:18
HLSLとCgどちらから勉強すればいいですか?
546デフォルトの名無しさん:2008/10/06(月) 22:40:10
GLSLはout of 眼中ですか?
547デフォルトの名無しさん:2008/10/12(日) 00:55:44
行列による座標変換についての質問なのですが、
matを[行, 列]の4x4行列、vをXYZWの4次元の座標とするとき、
vをローカル座標からスクリーン座標へ変換する場合、

X = mat[0, 0] * v.X + mat[1, 0] * v.Y + mat[2, 0] * v.Z + mat[3, 0] * v.W
Y = mat[0, 1] * v.X + mat[1, 1] * v.Y + mat[2, 1] * v.Z + mat[3, 1] * v.W
Z = mat[0, 2] * v.X + mat[1, 2] * v.Y + mat[2, 2] * v.Z + mat[3, 2] * v.W
W = mat[0, 3] * v.X + mat[1, 3] * v.Y + mat[2, 3] * v.Z + mat[3, 3] * v.W
と一次変換した後、
・XYZをWで割る (この時点でZは0〜1になる)
・XYにスクリーンの高さと幅を掛ける

で合ってますでしょうか?
matはモデルビュー行列とプロジェクション行列を掛けた物なのですが、
行列を転置してOpenGLに突っ込んだときはちゃんと描画されるのに、上記の方法で
vを変換したときに、なぜかカメラの後ろにあるはずのポリゴンのZ座標が0未満にならず、
描画結果がおかしくなってしまいます orz
548デフォルトの名無しさん:2008/10/12(日) 06:41:27
>>547
> ・XYにスクリーンの高さと幅を掛ける

バーカ
549デフォルトの名無しさん:2008/10/13(月) 16:16:20
ttp://www.opengl.org/registry/doc/glspec30.20080811.pdf
のOpenGL OperationのCoordinate Transformationsを読むといいと思う。
550デフォルトの名無しさん:2008/10/20(月) 00:04:55
dotXSIファイルのモデルでスキニングをしようと思っているのですが、
一つの頂点データが3つの三角形で使われていて、この頂点に対する法線が各三角形で違うものになっています。
この場合、3つの法線を平均化して一つにして扱うんでしょうか?
551デフォルトの名無しさん:2008/10/20(月) 00:08:43
>>550
XSIはXSIの都合で作られているだけなので、自分の使っている3Dライブラリ(GL,DirectX,etc.)
に合わせて違う物をちゃんと準備する必要がある
552デフォルトの名無しさん:2008/10/20(月) 00:08:44
>>550
違う値なら違うんじゃないの?
立方体の角が三面の平均じゃおかしいでしょ
553デフォルトの名無しさん:2008/10/20(月) 02:49:03
>>552
言われてみればそうだなあ
でもそうすると法線データの方が数が多いから、DirectXの頂点バッファ作るときに頂点数を法線の数に合わせないといけないんですよね…
頂点変換するときに増加した頂点座標分の負荷が問題になるから、元の座標データで変換して、それを増加した頂点座標にコピーしていくとか
やるんでしょうか?
554デフォルトの名無しさん:2008/10/20(月) 10:39:41
>>553
法線が違えば元から違う頂点としてデータを作った方が良いと思う。
負担になるのを気にしてるみたいだけど、頂点シェーダーは余裕ありまくりだから。
555デフォルトの名無しさん:2008/10/20(月) 13:09:23
>>554
自分は三角形リスト使うつもりなんですが、
それだと三角形ストリップでやろうとするとき問題になりませんか?
隣接してるのに違う頂点なわけだから
556デフォルトの名無しさん:2008/10/20(月) 13:18:45
>>555
違う頂点として扱うのに、どうして三角形ストリップを使おうと思うわけ?
557デフォルトの名無しさん:2008/10/20(月) 14:21:16
>>556
思ってないです
違う頂点で扱うときやり方だと三角形ストリップでメッシュ作る方法が使えないから
一般的なやり方ではないんじゃないのかと思っているんです。
PC+DirectXだと頂点キャッシュ効くように最適化すれば三角形リストで十分だけど、
三角形ストリップが必要になる環境もあろうだろうし
その場合はどうやるんだろう?と思ったんです。
558デフォルトの名無しさん:2008/10/20(月) 14:37:27
別の情報をもった頂点なんだから違って当然だとは思わないの?
559デフォルトの名無しさん:2008/10/20(月) 14:49:24
ウマい手があるよーん
的な答えを期待してたんじゃないかのぅ?
560デフォルトの名無しさん:2008/10/20(月) 17:53:31
>>555
法線データと位置情報を別のストリップで管理したいって事なの?
別で管理するって事は、どの位置情報がどの法線に対応するか、
っていうインデックスデータが今度は必要になってくるけど、
それも自前で管理する?自前でラスタライザを作ろうとしているのなら、
そういうフォーマットもアリだと思うけど、ストリップにする意味がない。

っていうか、三角形リスト使うのなら、別にいいじゃないか。
561デフォルトの名無しさん:2008/10/20(月) 18:14:49
>>559
恥ずかしながらその通りで。
DirectXだと頂点増やすしかないということで了解しました

自分の中で三通りの可能性を考えていて、
1、法線データの数に合わせて頂点データを作る
2、座標データの数に合わせて頂点データを作り、法線データは平均化する
3、法線データの数に合わせて頂点データを作るが、頂点変換は元の数の座標データで行い、対応する頂点にコピーする
  (その際、対応する頂点のインデックスなどを持たなければならない)

このどれかだなと思っていたんですが、ストリップにしろリストにしろ1でやるようですね
562デフォルトの名無しさん:2008/10/20(月) 20:33:02
昔はメモリ読み出しの回数を抑えたりマトリックスの乗算コストとか考える必要があったけど、今時だとピクセルフィルしている最中に次の三角形は変換おわっちまうからそういうの気にしちゃダメだと思うよ
563デフォルトの名無しさん:2008/10/20(月) 22:11:50
いまは冗長で普通なデータに最適化されてるから、あんまり深く考えない方が良い。
564デフォルトの名無しさん:2008/10/22(水) 06:09:35
ユニファイドシェーダだと、VSもPSも同じところで
計算するんじゃなかったっけ
でも計算コストは
PS>>>>>>>VSだろうけどさ
565デフォルトの名無しさん:2008/10/22(水) 08:25:40
せっかく作ったストリップも
ジオメトリシェーダに入るころにはバラバラにされてるんだよな
566デフォルトの名無しさん:2008/10/22(水) 08:34:26
ストリップはインデックスのなかったPS2時代の遺物じゃねぇの。
インデックスが使えるならそっちのが余計なデータ省けるし
頂点キャッシュに有利だしDrawの回数が減るしでいいと思うんだが。

縮退ポリゴンつかってストリップを1つにつなげると結局頂点数増えるから意味ねぇし。
567デフォルトの名無しさん:2008/10/22(水) 19:31:18
568デフォルトの名無しさん:2008/10/26(日) 23:44:12
ストリップも悪くはないけど、そこまでがんばることはない。
半透明とか絡んでくると、ストリップじゃ気が狂いそうになるし。
というわけで、俺はストリップ使わない派。
569デフォルトの名無しさん:2008/10/27(月) 01:30:47
DirectXのジオメトリブレンディング使ってスキニングやってる場合、モーションブレンドってどうやるんですか?

モーションブレンドの仕組みって2つのモーションによる頂点の補間だと思うんですけど、
ジオメトリブレンディングって一つの頂点に対する変換処理で、そのまま透視射影変換までやっちゃうじゃないですか。
だからジオメトリブレンディング使いつつ、モーションブレンドをやるってのがどうやればいいのかイメージ出来ません
570デフォルトの名無しさん:2008/10/27(月) 08:17:06
モーションブレンドはCPUだけの処理です。
シェーダーがどうなってようと関係ありません。
571デフォルトの名無しさん:2008/10/27(月) 11:34:50
あー、SetTransformでマトリクス設定するときに既にブレンド済みのものを使うのか
572デフォルトの名無しさん:2008/10/27(月) 14:57:26
行列演算の分配法則やねー
573デフォルトの名無しさん:2008/10/31(金) 03:27:42
ボリュームデータをサーフェイスデータに変換する上手い方法.何かありませんか?
574デフォルトの名無しさん:2008/10/31(金) 08:30:52
>>573
ボリュームデータはビットマップ?
どの程度までは出来るか書いてないから不明だけど。
575デフォルトの名無しさん:2008/10/31(金) 08:52:30
一言で「ボリュームデータ」と言われてもな
576デフォルトの名無しさん:2008/10/31(金) 08:54:38
コミュニケーション力が不足しているプログラマって多いよな。
自分の常識=他人の常識みたいに思ってる。
577デフォルトの名無しさん:2008/10/31(金) 20:16:32
>>574-575
説明足らずですみません.
ボリュームデータは三次元の座標データとして持ってます.

可視化の際にはその場所に点打ったり立方体並べることで表示してたのですが
一般的な3Dモデリングソフトで表示したいと考え,
STLなんかのサーフェイスデータに変換したいと思っています.
578デフォルトの名無しさん:2008/11/01(土) 00:39:10
>>577
普通に空間分割して近傍の3点じゃダメなの?
579デフォルトの名無しさん:2008/11/01(土) 03:20:41
>>578
空間分割とはどういうことでしょうか?
580デフォルトの名無しさん:2008/11/01(土) 10:12:56
>>577
それは普通ボリュームデータではなく点群(point cloud)と言わないか?
581デフォルトの名無しさん:2008/11/01(土) 17:16:04
>>579
最近傍の三点で結んでポリゴン化するとして、
最近傍の三点の検索が非常に遅くなっちゃうのは結局実用的じゃないでしょ?

ある程度、空間を分割して、その中にどの頂点が入ってるか
インデックスデータやツリーデータを作る。
サルの一つ覚えみたいにオクテットツリーを使っても良いけど、
そういう点群の分割は偏りが多いから、分割方法を工夫した方が良い。
ちなみに最近傍の3点じゃ、溝みたいなのがある物体だと再現する事はできないよ。

というか、君がこちらに与えてくる情報がものすごく少ないし、抽象的なので、
マジレスするの嫌になってきてる。
たとえば、Z 軸方向ではすでにソートされてるとかそういう情報が多少はあるでしょう。
そういう情報を書かないでいきなり、ボリュームデータってwww
582デフォルトの名無しさん:2008/11/01(土) 17:32:42
>>581
ライブラリじゃない方のSTLを知ってて空間分割を知らないって言うのは完全にネタでしょ。

宿題と見た。
583デフォルトの名無しさん:2008/11/03(月) 16:43:14
ボロノイ図とドローネ三角形をググれ
584デフォルトの名無しさん:2008/11/03(月) 23:12:45
> サーフェイス

surfaceを辞書で引くと「発音注意」と書いてあるはずなのだ。
http://dictionary.goo.ne.jp/voice/s/00090042.wav

でもmatrixをメイトリクスとか読んだりしないので俺はダブスタ
585デフォルトの名無しさん:2008/11/04(火) 00:21:57
ディレクトエックス
ヴィッジュアォストゥディォ
586デフォルトの名無しさん:2008/11/04(火) 00:30:50
>>584
英語発音に近づけたければサーフィスだな。
CG業界のカタカナ用語としてはサーフェスの表記が多い気がする。
DirectXのヘルプでは昔から頑なにサーフェイスだけど。
587デフォルトの名無しさん:2008/11/04(火) 07:05:51
サーフィスのが近いかというと微妙かな。
発音記号の i は、だいたい日本語のイとエのちょうど中間くらいの音。
588デフォルトの名無しさん:2008/11/04(火) 09:05:40
じゃあ、サーフィェス
589デフォルトの名無しさん:2008/11/04(火) 13:10:31
サーフィスばっかりずるい。
ストゥーディオもお願いします。
590デフォルトの名無しさん:2008/11/04(火) 13:17:40
既に日本で定着してしまっている「スタジオ」があるからもういいよ。
591デフォルトの名無しさん:2008/11/04(火) 14:54:44
日本で公式規格にも使われている「トラヒック」の立場は・・・w
592デフォルトの名無しさん:2008/11/04(火) 15:52:37
酔っ払ったトラですか
593デフォルトの名無しさん:2008/11/04(火) 15:53:56
大トラですね
594デフォルトの名無しさん:2008/11/06(木) 08:35:01
食器棚の「カップボード」。

この単語のリアル英語発音を聞いてビビら無い奴はいない。
595デフォルトの名無しさん:2008/11/06(木) 08:55:18
俺はビニールの発音を聞いて吹いた記憶があるな。
発音厨はまず一般的な用語をどうにかしろよ。
596デフォルトの名無しさん:2008/11/06(木) 10:02:42
既存のカタカナ語はもう仕方ないとして、新しく変な言葉増やしたくないという感覚はあるけどな。
発音に限った話じゃないが。
597デフォルトの名無しさん:2008/11/06(木) 11:17:21
日本化学会では発音と表記の乖離に業を煮やして、かな表記は発音を反映させないことにしたけどね。
Ex. ホスホン酸:phosphonic acid、スルホン酸:sulfonic acid
まぁ、それも今じゃ結構崩れてきちゃっているけど。
598デフォルトの名無しさん:2008/11/06(木) 11:24:06
>>594
ttp://www.merriam-webster.com/cgi-bin/audio.pl?cupboa01.wav=cupboard
予想通り、「かぼー」と聞こえる。

>>595
ttp://www.merriam-webster.com/cgi-bin/audio.pl?vinyl001.wav=vinyl
「ヴぁいなる」は予想外だった。
599デフォルトの名無しさん:2008/11/06(木) 11:27:01
カボードって聞こえる
600デフォルトの名無しさん:2008/11/06(木) 12:05:14
WPFで3Dゲーム作って公開してるとこある?
どんな感じなのか見たいお
601デフォルトの名無しさん:2008/11/07(金) 06:37:03
>>595
でもvinylは化学用語で、日本語のビニールと同様には使われないよ。
ビニール袋なんかは「plastic bag」と呼ばれる。

>>599
「cupboard」の「board」部分は、鳥の「bird」と同じ発音だから、
カナで表現すると「カバード」がいいかと。
602デフォルトの名無しさん:2008/11/07(金) 16:46:27
>>601
発音記号上は同じあいまい音(schwa)だが、
強勢の「bird」と弱勢の「cupboard」を「同じ発音」と断言するのはどうかと思う。
cup+boardのような単語の連結による弱勢化→schwa化なんて英語では非常によくあることだから、
>>594であえて採り上げている意味がわからない。
603デフォルトの名無しさん:2008/11/07(金) 18:04:57
一応は第二アクセントだから、強勢とは言えないまでも、それに準じるぐらいの発音ではある。
604デフォルトの名無しさん:2008/11/07(金) 19:34:56
>>603
cupboardのboardの部分に第二強勢記号が付いている辞書があるなら教えてくれ。

第二アクセント(第二強勢)とは「単語の中で2番目に強い」という意味じゃないぞ。
普通、第二強勢が存在するのは「separate」のような3音節以上の単語で、
2音節しかない単語では2番目に強い音節は第二強勢にならない場合が多い。
605デフォルトの名無しさん:2008/11/07(金) 19:41:42
>>604
シッタカもいいかげんにしたら?
http://www.thefreedictionary.com/dict.asp?Word=cupboard
606デフォルトの名無しさん:2008/11/07(金) 19:44:07
>>604
> 普通、第二強勢が存在するのは「separate」のような3音節以上の単語で、
> 2音節しかない単語では2番目に強い音節は第二強勢にならない場合が多い。

第二強勢にならないんじゃなくて、表記が省略されてるだけダロ
607デフォルトの名無しさん:2008/11/07(金) 21:20:13
cupboardのような合成語こそ第2アクセントの典型例だろ
608デフォルトの名無しさん:2008/11/07(金) 21:20:20
>>605
その辞書の発音表記法では、
第一強勢の音節の後ろに太い「'」、第二強勢に音節の後ろに細い「'」が付くようだが、
cupboardでは第一音節の後ろに第一強勢記号があるだけで、第二強勢記号は付いてないね。
そのリンク先が何の反論になっているのかよくわからない。

>>606
たとえばgoo辞書(EXCEED 英和辞典)やエキサイト辞書(新英和中辞典)の場合、
「cupboard」には第二強勢記号が付いてないが、「eighteen」のように2音節で第二強勢記号が付いている単語もある。
単に省略されているわけじゃなくて、第二強勢と弱強勢には明確な違いがあると思うのだが。
609デフォルトの名無しさん:2008/11/07(金) 21:39:51
おまえら暇だな
610デフォルトの名無しさん:2008/11/07(金) 22:59:54
ここ何のスレだよw
611デフォルトの名無しさん:2008/11/08(土) 08:25:59
厨房は熱くなると周りが見えなくなるから…。
まぁ飽きるまで待つしかないだろうね。
612デフォルトの名無しさん:2008/11/10(月) 07:38:23
>>602
>発音記号上は同じあいまい音(schwa)だが、


「ə:r」はschwaじゃねーよバカw

中途半端な知識で大恥乙w
613デフォルトの名無しさん:2008/11/10(月) 08:31:50
英語の発音の勉強してるレベルのスレか
614デフォルトの名無しさん:2008/11/10(月) 09:22:26
いつからここは語学スレになったの?

>>612
>中途半端な知識で大恥乙w
皆中途半端だからスレに集まって協議するんじゃないのかい?
それは、OpenGLであっても語学スレであっても同じ事だと思うし恥ずかしいことじゃないと思うんだ

もう少し冷静になろうよ
615デフォルトの名無しさん:2008/11/10(月) 09:34:17
笑われているのは、中途半端な知識ではなくて、中途半端な知識で上から目線、なわけだが。
616デフォルトの名無しさん:2008/11/10(月) 12:41:45
サーフェイス(・∀・)
617デフォルトの名無しさん:2008/11/10(月) 23:54:12
技術的な議論するのに目線を気にするヤシってw
618デフォルトの名無しさん:2008/11/11(火) 05:02:04
>>612
hooked schwaってやつですね!!
619デフォルトの名無しさん:2008/11/11(火) 07:45:49
schwaが技術的な議論か?
620デフォルトの名無しさん:2008/11/11(火) 09:32:56
つかこの板に英語喋れる奴なんていねーだろw
621デフォルトの名無しさん:2008/11/11(火) 12:36:58
Yes, we can.
622デフォルトの名無しさん:2008/11/11(火) 20:16:02
イフェクトっていうのはかまわんけど、書かないでほしい
623デフォルトの名無しさん:2008/11/12(水) 07:41:51

なんで?
624デフォルトの名無しさん:2008/11/15(土) 17:23:12
単純に3次元の点いっぱい
表示したいだけなら

C#+DirectXが楽ですかね?
なんか楽そうなライブラリ知らないですか?
625デフォルトの名無しさん:2008/11/16(日) 10:20:53
SDL
626デフォルトの名無しさん:2008/11/17(月) 07:22:21
OpenGLが初期化が簡単でいい。
627デフォルトの名無しさん:2008/11/17(月) 08:52:03
DirectX10に比べると簡単ってほどでもないきが・・・
あと行列やクォータニオン系の補助関数が揃ってるDirectXのが楽だろ
628デフォルトの名無しさん:2008/11/17(月) 08:56:17
すいませんlinuxしか使えないんですよ
windowsは難しすぎてインストールすらできません
629デフォルトの名無しさん:2008/11/17(月) 09:03:51
ならOpenGLかSDLでいいじゃん。
630デフォルトの名無しさん:2008/11/19(水) 06:21:00
>>627
そんなん、検索すればいくらでも出てくるし。
631デフォルトの名無しさん:2008/11/19(水) 08:52:49
>>630
まぁLinuxとか使うなら無駄になるかもな。
Windowsだったら車輪を再発明する意味は無い。
632デフォルトの名無しさん:2008/11/19(水) 08:55:34
>>631
何が無駄になると言っている?
OpenGLならWinでもLinuxでも使えるだろ。
633デフォルトの名無しさん:2008/11/19(水) 12:00:33
いやいや
634デフォルトの名無しさん:2008/11/19(水) 12:11:52
元が「C#+DirectX」なのに「linuxしか使えない」ときてるのは別人?
635デフォルトの名無しさん:2008/11/21(金) 00:49:41
java3Dはお話にならないでしょうか
636デフォルトの名無しさん:2008/11/21(金) 00:54:59
お話にはなるけどそんなに派手な事は出来ないから
せいぜい3Dのお勉強する人が使う程度じゃね?
637デフォルトの名無しさん:2008/11/21(金) 01:54:13
はでなってのがよくわからないですけど
大概の事はできますよね
638デフォルトの名無しさん:2008/12/09(火) 23:55:25
openglも大概のことはできますよね
639デフォルトの名無しさん:2008/12/10(水) 16:52:37
よね〜。
640デフォルトの名無しさん:2008/12/11(木) 00:25:36
glって超おもしろくね?
いまさら知ったのが悔やまれるな。
まじハンパねーよ。
641デフォルトの名無しさん:2008/12/26(金) 15:34:26
スレが適切かどうかわからないが…
3Dツール作ってるんだが、ファイルフォーマットで悩んでる。

・ バイナリ形式(サイズでかいと面倒)
・ 資料がある(sourceはなくてもいい。自分で書く)
・ ボーンと頂点ウェイトが使える
・ できればアニメーションデータも扱える

こういう既存フォーマットはないかな?
colladaのバイナリ版とかあればベストなんだろうけど…
642デフォルトの名無しさん:2008/12/26(金) 16:27:53
Xファイルが超楽でいい。
・適当な解説ページ見ながら読んでいけば理解が簡単(独自テンプレートとかはイラネ)
・3Dデータファイルに最低限必要なものが一通り学べる
643デフォルトの名無しさん:2008/12/26(金) 17:23:09
Xファイルもっと普及して欲しいね。
他の人が作ったデータも楽に見れるようになるから参考になるし、
改竄も簡単にできるから Mod も作りやすい。
644641:2008/12/26(金) 17:58:06
なるほど! .Xか。忘れていた(ひどい)
http://msdn.microsoft.com/ja-jp/library/cc372023.aspx
とかにちゃんと資料あるね。DXSDKにツールもあるし。

Win/Mac/Linuxでも動かすことを考えると、あとは
フォーマット自体にライセンスあるかどうかだけか。これはちょいと熟読すればよさそうだな。

ありがとー! >>642,643
ゲームとかだと、binaryじゃないと速度でないから悩んでたんだ。
645デフォルトの名無しさん:2008/12/26(金) 18:30:23
ゲームなら独自フォーマットでいいじゃないか。
通常の保存はcolladaでも使って、ゲーム用のバイナリ形式は
そこからエクスポートする形がいいかと。
646デフォルトの名無しさん:2008/12/26(金) 23:10:09
OpenGL用のXローダってあります?
libxとやらは開発が継続中なのか怪しくて…
647641:2008/12/29(月) 17:19:18
>>645
ゲームつくるときに周辺ツールも作るんで、そんときにオリジナルよりは
既存のを使うと他の有り物ツールもつかえてしあわせなんすよ…

# あと、自分で設計してちゃんとしたフォーマット思いつく自信がないorz
648デフォルトの名無しさん:2008/12/29(月) 20:03:59
>>647
俺は周辺ツールとかアニメーションも含めて全部市販のツールだよ。
プラグインを書いてそれを自分のフォーマットに変換してる。
敷居が高そうだけど、それが一番柔軟だと判断した。
Xファイルなんかは俺より頭のいい人が作ってるだろうけど、
MSの提唱するサンプル的なフォーマットという要素も強いと思うからね。
Xファイルってシェーダーのデータとか入れられるっけ?
649641:2008/12/29(月) 20:17:46
>>648
そうかー。シェーダーとかモーションの関数形式とか考えるとそうだなぁ。
他人様の考えを借りて楽しようとするのは、失敗への第一歩かな?
650デフォルトの名無しさん:2008/12/29(月) 20:44:07
645 で FA。
ツール作る時に collada で困る理由は無いだろ。
オーサリング中は XML で、実機確認直前に独自形式バイナリに変換。

最終バイナリは別に適当でいいよ。
実機での構造をほぼそのままでいいでしょ。
651641:2008/12/29(月) 21:23:56
ありがとう>all
年末年始の休みのあいだに collada domをちょいとイジってみるよ。
652デフォルトの名無しさん:2008/12/30(火) 01:42:18
colladaは地味にバージョンアップが激しくてうざい…
けど、押さえておくと勉強にもなるしいいと思うよ
653デフォルトの名無しさん:2008/12/30(火) 10:07:30
>>647
あたりまえだな。いろいろ規格や技術も変わるもんだし
654650:2008/12/30(火) 13:49:45
なんだよ、まだ collada やってなかったのか。
641 見て、やってるものだと思ったから、collada 以外の余計なものに手を出す必要はないという意味を含めて提案したのに。
650 の XML の部分は、"使用予定のオーサリングツール(3Dモデラー)の形式のファイル"に読み替えてくれ。
collada export をモデラーがサポートしてるなら、乗り換えの可能性も考えて collada でもいいけど。
655641:2008/12/30(火) 16:16:21
collada domは少し使ってみたんだけど、(fbx daeでmayaと blenderで)
やっぱサイズがデカすぎて、バイナリで便利なフォーマットで全部かたづけば
いいなぁと思ってたんだ。

でも、それで Xフォーマットとかも良いなとおもってたんだけど、>>650
とかの話をみて、全部まとめて1つのフォーマットじゃなくてもいいなぁと
考えなおして、collada domでやりとりして実機にはそれをベースに考えた
バイナリ自前フォーマットかなぁと。

いま colladaの1.4.1の資料みながら、collada domから移行しやすくて
実機ですぐ使えそうなバイナリフォーマット&コンバータ考え作ってる途中。
説明よわくてスマヌ。
656デフォルトの名無しさん:2008/12/31(水) 08:29:37
Horde3D のはどう?
http://www.horde3d.org/docs/_formats.html
バイナリ、資料有り、ボーンと頂点ウェイト、スケルタルアニメーションとモーフィング、
Collada と Blender からのコンバータ有り。
シェーダ回りの仕様は近い将来に変更されそうなことがフォーラムに書かれてるけど。
657デフォルトの名無しさん:2009/06/05(金) 23:50:56
3Dキャラを作って
鳥のはばたきみたいなのだと関節を持ってるんじゃなく
羽の付け根がぐにょーんって伸びるやつがあるけど
あれって一般的にどうやるの?
それぞれの形状のモデルを用意して連続的に表示してんの?
リアルタイムで計算してんの?
複数の形状モデルを作る場合はフリーソフトで出来るの?
658デフォルトの名無しさん:2009/06/06(土) 01:51:37
>>657
スキニングのこと?
あれは、ひとつの頂点が複数の関節を参照している
第一関節の影響50%、第二関節の影響50%みたいに
計算は普通は頂点シェーダーでやる

昔は複数の形状を持ってその間を補間するようなやり方もあったけど、最近は見ないな
659デフォルトの名無しさん:2009/06/19(金) 12:27:44
すみません。
レイを使ったキャラクタと地形との当たり判定で、
キャラクタが急な坂を登れないようにするにはどうすれば良いでしょうか。
進行方向のポリゴンの傾きを検出して急な場合にはキャラクタを止めてやればいいと思うのですが、
傾きを検出する方法がわかりません。
660デフォルトの名無しさん:2009/06/19(金) 12:28:27
法線を使えばいいだろカス
661デフォルトの名無しさん:2009/06/19(金) 21:56:01
法線が傾きそのもの
662デフォルトの名無しさん:2009/06/20(土) 00:41:43
>>659
面の放線とキャラクタの姿勢方向の内積が何を表すか考えてみれば答えが見えると思うぞ
663デフォルトの名無しさん:2009/06/20(土) 01:12:52
2つの凸抱が一部重なっているとします。
重なりを無くす為に、2つの凸抱を引き離すとします。
引き離す為のベクトルと距離はどうやって決めればいいですか?
664デフォルトの名無しさん:2009/06/20(土) 14:21:29
ヒント:
Separating axis theorem
665デフォルトの名無しさん:2009/06/20(土) 14:30:22
>>663
地形と何かで、地形は全く衝突の影響を受けない(移動も回転もしない)ということでいいかな?
単純にやるなら、方向は前回位置と今回位置の差分(移動方向)ということでいいだろう。
666デフォルトの名無しさん:2009/06/22(月) 17:01:18
>>664-665
お答えありがとうございます。
相対速度で試しましたが、
いろいろ問題があり断念しました。
調べてみると、GJKアルゴリズムが
要件を全て満たしてくれるベターな
方法らしいんでこっちを試してみます。
ありがとうございました。
667デフォルトの名無しさん:2009/06/22(月) 18:52:14
元気な女子高生アルゴリズム?
668デフォルトの名無しさん:2009/06/23(火) 00:51:19
GJKはメジャーな方法だけど速度が・・・
まぁそれ以上のアルゴリズムがあるかと言われるとないけど。
669デフォルトの名無しさん:2009/07/04(土) 15:41:02
リトルビッグプラネットのクオリティをPCとDirectXだけで再現して
フルHDで60fps出せるもんなの?
物理演算はこの最無視して、グラフィック処理として可能な範囲なのかな?
670デフォルトの名無しさん:2009/07/04(土) 16:05:08
グラフィックなら問題ないだろ。
問題になるのはCPUだろう。
671デフォルトの名無しさん:2009/07/04(土) 17:29:13
PCなら余裕だろうな
672デフォルトの名無しさん:2009/07/04(土) 17:29:34
>>669
そもそもPS3のGPUって、GeForce7800GTXのカスタマイズ品だよ。
PCで言えば2世代前のもの。
673デフォルトの名無しさん:2009/07/04(土) 17:35:30
CPU含めPCで出来ない要素が思いつかない
674デフォルトの名無しさん:2009/07/04(土) 19:34:29
PCではスパイウェアとか仕込むの難しい
675デフォルトの名無しさん:2009/07/04(土) 20:06:11
SPUでカリカリにチューニングされたソースを
Core2DuoあるいはCore2Quadに落とし込むのはかなりしんどいだろ。
ベクトル演算特化のユニットが7基だっけ?
676デフォルトの名無しさん:2009/07/05(日) 00:04:07
誰もPS3からPCに移植する話なんてしてないと思うがw
677デフォルトの名無しさん:2009/07/05(日) 00:08:19
ソース持ってきて移植するのが絶対条件じゃないでしょ
678デフォルトの名無しさん:2009/07/05(日) 00:57:02
試しに誰が作ってみてよ
動きとかなくていいから60fps出せるかの確認の意味も含めて
679デフォルトの名無しさん:2009/07/05(日) 01:07:03
>>678
ストIVベンチでもしてろタコ
680デフォルトの名無しさん:2009/07/05(日) 06:46:43
>>679
口調はともかく基本やさいいのに泣いた
681デフォルトの名無しさん:2009/07/05(日) 15:55:50
>>679
やってみたけど
ぜんぜんリアルじゃねー
682デフォルトの名無しさん:2009/07/05(日) 17:17:44
他に最近のPCゲーのデモでもやってみればいいじゃない
3DMarkぐらいやれ
683デフォルトの名無しさん:2009/07/06(月) 03:39:54
まさか3Dmarkがリアルだとか目の腐ったこと言ってる?
684デフォルトの名無しさん:2009/07/06(月) 04:07:09
3Dゲーム用マップ作製ツール提供
http://pc12.2ch.net/test/read.cgi/tech/1246029651/
685デフォルトの名無しさん:2009/07/06(月) 22:34:36
じゃあ何を期待してんだよ
LBPが最高だといいたいだけならお引き取りください
686デフォルトの名無しさん:2009/07/07(火) 01:49:57
自分でなんか作ってみようとキャラのモデルを作ったまではいいんだが
動きってどうやって作ったらいいんだ?
フリーソフトで出来るん?
687デフォルトの名無しさん:2009/07/07(火) 04:27:36
HSP関連
688デフォルトの名無しさん:2009/07/07(火) 13:17:26
>>687
何言ってんだてめーは?
想像してるのはモデルに関節とかを定義してadobe flashみたく
各フレーム毎に変形具合を作っていって連続再生して動きになるみたいな
それぞれ変形後のモデルをファイルで吐き出すか
関節データと変形データを吐き出してリアルタイムでモデルを生成するか
そんなソフトがフリーでないんかな?
そこから作っていかないといけないのか?
689デフォルトの名無しさん:2009/07/07(火) 13:30:51
ただの誤爆だろ

Toystudioとかエルフレイナとかいろいろあるだろう
690デフォルトの名無しさん:2009/07/07(火) 13:46:37
ToyStudio(フリーウェア)
http://kotona.bona.jp/download/

おちゃっこLAB フリーのモーション作成ツールと、ゲーム作成ライブラリ
http://www5d.biglobe.ne.jp/~ochikko/
691デフォルトの名無しさん:2009/07/10(金) 09:41:19
ttp://me.autodesk.jp/wam/maya/docs/Maya2009/index.html?url=Combining_separating_and_splitting_Combine_polygon_meshes_using_booleans.htm,topicNumber=d0e210038
のようにブーリアン演算でメッシュを統合するアルゴリズムは
どのようなものなのでしょうか?
参考になるようなサイトがあればご教示願います。
692デフォルトの名無しさん:2009/07/24(金) 09:02:23
>>691
Constructive Solid Geometry (CSG)で調べること。

ttp://en.wikipedia.org/wiki/Constructive_solid_geometry
693デフォルトの名無しさん:2009/07/31(金) 10:52:11
すいません、
アンチャ2というPS3のゲームのβのものだけど、AAを判別できる方はいりゃしゃいますか?
そこらへんにジャギりまくってるので、少なくとも2xMSAAは使ってませんよね?
NoAAですよね?

http://esegk.com/uc2/1.jpg
http://esegk.com/uc2/2.jpg

coop
http://esegk.com/uc2/3.jpg
http://esegk.com/uc2/4.jpg
694デフォルトの名無しさん:2009/07/31(金) 12:36:02
ゲハ厨うぜえ
695デフォルトの名無しさん:2009/07/31(金) 14:59:00
どこをどう見たらAA掛ってるように見えるんだ
ただの被写界深度じゃねえか
696デフォルトの名無しさん:2009/07/31(金) 15:50:18
>>695
やっぱりそうですよね。ゲハのGK連中は頭がおかしいですよ。
697デフォルトの名無しさん:2009/07/31(金) 18:52:25
被写界深度も4枚目にしかないぞ
698デフォルトの名無しさん:2009/08/01(土) 13:51:41
拡大して見るとポリゴンの境界が少しぼやけているように見えるのでAAを掛けているのかもしれない。
けどjpg圧縮によってエッジがぼやけただけかもしれない。

被写界深度をレンダリングするには視点を変えて複数回レンダリングしなきゃいけないから
被写界深度やる余裕があればAAする余裕もあるんじゃないかと思うんだけど。

ゲハの人々は団子とまんじゅうのどちらがおいしいかでずっと喧嘩するようなおかしな人に思える。

たまにはこのスレでレイトレvsラスタライズ, 粒子法vs格子法みたいな議論をするのもいいかもしれない。
699デフォルトの名無しさん:2009/08/01(土) 18:06:41
まじめな複数サンプリングじゃなくて2次元ぼかしによる擬似DOFじゃね?>被写界深度
700デフォルトの名無しさん:2009/08/03(月) 10:53:57
DirectXでxyzの軸線0.0〜1.0の各3本引いて
マウスでTEX0を360度自由に回転させるようにしてて
Zバッファを有効にして
回転させてZバッファをテストしてるんだけど
角度によっては線が重なる
何か間違ってる?
701デフォルトの名無しさん:2009/08/03(月) 10:55:04
-1.0〜1.0の軸線の間違い
702デフォルトの名無しさん:2009/08/03(月) 10:55:52
>>700
DirectXスレでどうぞ
703デフォルトの名無しさん:2009/08/03(月) 12:43:12
>>702
そんなスレがあったんだ
移動します
704デフォルトの名無しさん:2009/12/09(水) 09:09:30
建物を3DCGで作ってその中をグリグリ移動して遊びたいだけど、
どういったツールやら言語やらがいいの?
教えてえろい人!
705デフォルトの名無しさん:2009/12/09(水) 09:57:39
Lightwave+C/C++
706デフォルトの名無しさん:2009/12/09(水) 12:30:54
>>704

手軽にやりたいなら、Google SketchUp(無料)で建物をモデリング
次に、Flashのプログラミング言語 ActionScript 3.0 専用の3Dライブラリ Papervision3D(無料)を使って
プログラミング。

swf形式のファイルを書き出して、ウェブブラウザーでうまー
707デフォルトの名無しさん:2009/12/10(木) 04:10:55
>>704
割とお手軽なのはunity
気概があるなら>>705
多少遅くても手軽さを望むなら>>706
708デフォルトの名無しさん:2009/12/10(木) 08:35:42
単純に移動するだけならSketch Upだけで出来るよ。
壁にぶつかったりとか階段とか上れたりはしないけど。
709704:2009/12/12(土) 08:30:05
レスどうもありがとー
手軽なのから順に試していこうと思いまっす
710デフォルトの名無しさん:2010/03/17(水) 22:56:11
2つのカメラからのビューボリュームが重なる範囲[minX maxX minY maxY minZ maxZ]を求めるのはどうしたら良いですか
711デフォルトの名無しさん:2010/03/18(木) 12:08:25
>>710
二つの四角錐台 A と B がある。
A を構成する8本の辺を、B を構成する 6 つの平面で切断する。
切断された辺を元に面を再構成する。
切断した平面の裏側にある面は取り除く。
出来上がった立体は凸包なので、全ての頂点の min, max をとればよい。
712デフォルトの名無しさん:2010/03/25(木) 19:55:03
平面の方程式は a*X+b*Y+c*Z+d=0 で[a b c d]が平面を表すパラメータですけど、
Z=0の平面ってどうやって表されるんですか?
713デフォルトの名無しさん:2010/03/25(木) 20:28:19
法線ベクトルは(0,0,1)だから0*x+0*y+c*z+d=0
原点との距離=d/√(0*0)+(0*0)+(1*1)=d=0より
c*z=0
こんなんでいいんかな
714デフォルトの名無しさん:2010/03/25(木) 20:29:12
てか、z=0で平面の方程式じゃん
715デフォルトの名無しさん:2010/03/25(木) 20:48:54
>>712
[a b c d] = [0 0 1 0]
716デフォルトの名無しさん:2010/03/28(日) 20:17:49
ターゲットカメラの回転行列の作り方を教えてください。
カメラと目標地点の座標は既知で、カメラのz軸周りの回転は無しと仮定します。
717デフォルトの名無しさん:2010/03/29(月) 01:04:21
カメラとターゲットのベクターを正規化して前ベクターとし、ワールド上方の単位ベクターとのクロス積が横のベクター、
さらに前ベクターと横のベクターをクロス積をとると上のベクターができる。これらをそれぞれ行列の行か列に入れる。
右/左手座標系と列/行ベクターの組み合わせにより、行か列のどっちに入れるかは決まってくる。
718デフォルトの名無しさん:2010/03/30(火) 00:06:02
正規化した前ベクトルとワールドの上ベクトルとのクロス積を横ベクトルにしていいのはなぜですか?
719デフォルトの名無しさん:2010/03/30(火) 00:21:34
>>718
前提条件でZ軸回転が無いと仮定してるから。
ただしこの方法は、前ベクターが真上か真下を向くと、ワールド上ベクターとの外積がゼロベクターになってまずいけどね。
720デフォルトの名無しさん:2010/04/02(金) 17:22:58
一般的に3Dでは、地面はどの平面ですか?
なんとなく自分の感覚でいえばXY平面かなとも思うし
Zバッファとかいう言葉があるぐらいだから、
Z座標方向に視線があるとするとXZ平面なのかなとも思うし

3Dはほとんど触ったことがないので誰か教えてください
721デフォルトの名無しさん:2010/04/02(金) 17:40:16
>>720
右手系 左手系 opengl directx
でぐぐれ
722デフォルトの名無しさん:2010/04/02(金) 18:07:11
>>720
OpenGLやDirectXではカメラ空間で視線がZ軸方向になると決まっているだけだから、
ワールド空間は自分の好きなようにすればいい。
一般的にはゲーム系ではY-up、CAD系ではZ-upが多い気がする。
723デフォルトの名無しさん:2010/04/16(金) 06:50:46
8台のカメラから得た三次元オブジェクトのシルエット画像が8枚あります。
カメラはキャリブレーション済みで、透視投影行列はそれぞれあります。
この8枚の画像から、3次元点群を得て、Paraview等で見たいのですが、どこか参考となるサイトはないでしょうか?
724デフォルトの名無しさん:2010/04/16(金) 23:47:54
俺には答えられないが、ツール探してるの? コード書くヒント探してるの?
写真測量から検索し始めると何かにたどり着かないとは言い切れないかもね。
725デフォルトの名無しさん:2010/04/26(月) 22:34:55
http://www.dotup.org/uploda/www.dotup.org841801.jpg…@
http://www.dotup.org/uploda/www.dotup.org841808.jpg…A
@からAへ回転させると移動値を維持したままで回転してしまう
Aの時Z=2のオブジェクトを指定することで、青色のオブジェクトを選択しようと思ったら
座標変換が必要だとイワレタネ
ワケワカラナクテ、ワタシアタマバクハツシソウアルヨ
モットカンタンにオシエテホシイアル!
726デフォルトの名無しさん:2010/04/26(月) 23:53:13
>>725
申し訳ないけれども、何が分からないのかが分からない。
見た目から 3dsMax だと思うのだけれども、ならば 3d 板
http://pc11.2ch.net/cg/
で Max スレを探して質問してもらいたい。

さもなくば、もっと頑張って説明してもらいたい。

あと、適切な漢字かな混じり文でないと読みづらいので、質問者という立場としてはカタカナのみというのは二度としないように。
727725:2010/04/27(火) 13:01:55
mayaですよ
728725:2010/04/27(火) 15:07:02
自己解決しました^^
729725:2010/04/27(火) 15:12:17
してないですけど(怒)
730725:2010/04/27(火) 21:26:34
と見せかけて!
731725:2010/04/27(火) 22:32:20
ジャーンプ!!
732デフォルトの名無しさん:2010/04/28(水) 01:47:59
こんにちは。
表示されているオブジェクトを描画領域全体に納まるようにするには
どうすればよろしいのでしょうか。例えば遠くに表示されたモノを
境界ボックスの範囲で画面いっぱいに納まるようにしたいと思っています。
モノと注視点が原点にあって、視点の位置をコントロールすると思うのでが、
この先からどのようにしてよいのか分からず悩んでいます。
733デフォルトの名無しさん:2010/04/28(水) 01:57:07
カメラの画角を使って三角関数の計算ができればなんとかできるんじゃない?
734デフォルトの名無しさん:2010/04/28(水) 03:10:29
まずはカメラの視線が境界ボックスの中心点を向くように設定する。
これはDirect3D付属の関数とかgluLookatとかで実装できると思う。
次はカメラと境界ボックスとの距離Rを求める。
きっちり画面スレスレまで納めたいってわけでなければ
境界ボックスの一番長い辺の距離をLにすると
R=αL
αは見た目がそれっぽくなるように調整する。
カメラを横から見た図とか描けばRが境界ボックスの高さに比例する事がわかると思う。
この方法は簡単だけど視野角を変更するとαを更新しないといけない・・・。
735デフォルトの名無しさん:2010/04/28(水) 23:46:49
>>733
>>744
即レスありがとうございます。
早速試してみます。

できてからお礼を書きたかったのですが、
最近プロバイダがすぐアク禁になるみたいなので先に。
736デフォルトの名無しさん:2010/05/10(月) 07:10:27
sin(theta)cos(phi)
sin(theta)sin(phi)
cos(theta)
さいさいこすこす・・・むぎゃー!

ところで魚眼レンズ像っぽく仕上げるやりかたご存じの偉い人やりかた教えて!
CかFortranで書くのでできれば数式(ベクトル表記可)でお願いします。
737デフォルトの名無しさん:2010/05/10(月) 13:29:30
非線形な座標系だから、2Dのポストエフェクトで変形させた方がいいんじゃない?
738デフォルトの名無しさん:2010/05/10(月) 14:50:43
魚眼レンズのシミュレートではなく、「っぽい」でいいのならそうだろうね。
そもそも「仕上げるやりかた」だけではどういうデータが与えられているのか想像もできない。
739デフォルトの名無しさん:2010/05/10(月) 16:01:56
ポストエフェクトでも、180度未満の魚眼レンズなら十分シミュレートと言える精度になると思うけどね。
740デフォルトの名無しさん:2010/05/11(火) 10:18:22
>>737-739
ありがとう。説明というか質問が不明瞭でしたね・・・

3次元データをとりあえず空間{-1<x,y,z<1}の空間に押し込めてw
この空間内のとある点たとえば(0.5,0.5,0.5)から魚になった気分で体積データながめる、
ようなことをする際に、平面な投影面の画素座標(i,j)か中心画素からの位置(di,dj)と視線直線の式
a t + b = 0 (a b はベクトルで t はスカラな位置パラメータ、bは投影面か
疑似魚眼レンズ上におくと楽かな?)の a と(i,j) の関係の式を知りたいなぁ・・という次第です。

もっとも魚にかぎらず生物の網膜は平面じゃないし、
人間がみやすいモノというのが一意に決まるようなものでもないと思うのだけど・・
広角度のもの(180度以内をとりあえず想定)をひとまとめして見たい・見せたいというのが動機です。
う〜ん、とりあえずあきらめてふつうにデータ体積の外から眺める投影でつくるのが安全かなぁ。
741名無し募集中。。。:2010/05/11(火) 11:04:39
>>740
http://en.wikipedia.org/wiki/Fisheye_lens
ここの一番下のほうに魚眼レンズの写像関数がいくつか載ってるから好きなの使え。
一眼レフカメラ用の魚眼レンズではequidistant(等距離射影)かequisolid angle(等立体角射影)が多い。
742デフォルトの名無しさん:2010/05/11(火) 14:37:12
おお、ありがとうございます!
743デフォルトの名無しさん:2010/05/12(水) 23:23:57
いまさらフルスクラッチのソフトレンダラーとか作ったら需要あるだろうか
744デフォルトの名無しさん:2010/05/13(木) 02:20:07
>743
品質がもの凄く高いか、フレキシビリティが現在のハードウェアの追従を許さないくらい凄ければ。
がんばれ。
745デフォルトの名無しさん:2010/05/13(木) 04:16:42
>>743
Silverlight向けなら低品質でも速ければ需要ある
746デフォルトの名無しさん:2010/05/13(木) 06:04:31
いまやGIレンダラも普通にGPU使ってるしなぁ
747デフォルトの名無しさん:2010/05/13(木) 06:31:32
>>743
オープンソースで移植が簡単なものならほしい
748デフォルトの名無しさん:2010/05/14(金) 11:03:21
mesaより高品質なら
749743:2010/05/14(金) 12:49:21
正直すまんかった。
習作的な意味でリアルタイムレンダラーやろうとおもってたから
そんな高度な事は考えてなかったんだ・・・。

ぶっちゃけ大層な事やるならDirectX11でやりゃいいやと思ってた。
750デフォルトの名無しさん:2010/05/14(金) 13:32:32
>>749
勉強になるし、ゲーム屋になるなら特に、その経験は役に立つよ。
開発対象の GPU のドキュメントを読んだ時に、設計の狙いが分かるようになるから、効率的な使い方に気付きやすくなる。
それと、DS のゲームを作る時におまけモードでピクトチャットの豪華版を入れろといわれた時(実体験)に役に立つ。
751743:2010/05/14(金) 17:45:28
とりあえず勉強のために作るだけ作る事にする。
画面にポリゴンが出るようになった頃にまた来るよ。
752デフォルトの名無しさん:2010/05/14(金) 17:48:42
>>751
そういう板ではないから、進捗報告や完成報告に来る必要はない。
質問があればまたおいで。
753743:2010/05/25(火) 00:11:39
同時座標系で手前(near clip)に派手に刺さると反転して座標が
おかしくなる現象の回避方法ってないでしょうか。

near clip以外は同時座標系でシザリングして事なきを得ているけど
near clipだけはどうにもならない・・・でもDirectXとかは出来ているから方法があるのかなと。
754デフォルトの名無しさん:2010/05/25(火) 02:07:37
ゆうてる事がよく理解できてないので間違った事を言ってたらごめん。

> 同時座標系で手前(near clip)に派手に刺さると反転して座標が
> おかしくなる現象の回避方法ってないでしょうか。
射影行列を掛けた後にx, y, zをwで割るとnear clipと交差するポリゴンがおかしくなるっていうことかな?
OpenGLでは射影行列を掛けた後にwで割る前にClipingをやってるよ。

Clipingするとclip volumeと交差する三角形が四角になるので2つの三角形に分割されたりするんだっけな。
755デフォルトの名無しさん:2010/05/25(火) 09:30:43
カメラの後ろ側が折り返されて前側に見えることはあるけど。
nearクリップしてるなら問題ないよなあ、わからん
756743:2010/05/25(火) 10:13:50
すみませぬ、日本語が確かにおかしかった・・・
w<=0の頂点がひっくり返って変になるから
描画もシザリングも出来なくなるって意味だった。

wで割る前にシザリングすればいけるって事なら
-w<x<+w -w<y<+w 0<z<w でシザリングすれば
綺麗にポリゴンが切れるって事になるのかな。

ちょっと試してみます。
757755:2010/05/25(火) 12:16:03
>>756 DirectXと同じ機能をソフトウェアで書いてるのか?
クリッピング空間のZ=0〜Wでnearクリップ、farクリップしないとダメ。
計算上Z<0の領域はZ>0に折り返されるからnearクリップしてないならそれで正しい動作。
758デフォルトの名無しさん:2010/05/25(火) 13:11:35
>>756
View 空間でニアクリップ平面でシザリングすればよいのだが、実際はラスタライズのときでも構わない。
ポリゴンを描画する前段階として、エッジウォーキングのための DDA セットアップをするはずだが、その時に
エッジを w に基づいて決めればよい。無論、x, y を考慮に入れることで、より有効なクリッピングができる。

それはまだ先のことでいいんだけど、とりあえず困ったら DirectX 8 以降のマニュアルを見なさい。
今回の件は [DirectX Graphics] - [固定機能パイプライン] を理解すると、どの段階でやるべきかが理解できる。
高速化のことを考えていると、DirectX のは無駄な処理が多いように思えるかもしれないが、後でハードウェアに
丸投げする可能性を考えた時、[-1 .. 1] に正規化して、そこで処理することに一貫性の利点などが発生する。
759デフォルトの名無しさん:2010/05/25(火) 15:40:30
3DCGPに使う幾何学って何幾何学っていうんですか?
760名無し募集中。。。:2010/05/25(火) 15:49:22
もういいです。
偉そうな態度の人に何を言っても無駄でしょう。
この書き込みの跡に私を罵倒する書き込みがあるとおもいますが、一切無視します。
さようなら。
761デフォルトの名無しさん:2010/05/25(火) 15:50:07
またこいつかよw
762デフォルトの名無しさん:2010/05/25(火) 15:52:41
いいえ、OpenGLスレの人ではありません。
偶然OpenGLスレッドをみていたら私も興味があったので
正しいスレッドで質問しました。
763デフォルトの名無しさん:2010/05/25(火) 18:56:41
>>759
特別何学ってのは聞いたこと無いけど、線形代数とか代数幾何とかアフィン変換とか?
CG はコンピュータサイエンスの一分野ではあるけど、特別そこをくくる言い方は知らない。
何かあるなら俺も知りたいけど。

>>760
どこの誤爆?
他人にレッテルを貼るあなたも充分偉そうだと思うけど。
764デフォルトの名無しさん:2010/05/25(火) 19:08:16
>>763
http://pc12.2ch.net/test/read.cgi/tech/1263901596/448n-

>>762は別人と言ってるが、
「OpenGL」を「3DCGP」に置き換えただけで一字一句同じとか絶対わざとだろ。
765753:2010/05/26(水) 22:16:44
助言ありがとうございました。
結局クリップ空間で全てのシザリングをやるのは難儀だったので
クリップ空間で(Z<=0)でNearをシザリングしてから同次座標へ変換して
残りの-1<x<+1、-1<y<+1、z>1でシザリングする事で画面外に出ても綺麗に表示されるようになりました。

ネタが思いつかないので次は異方性フィルタとかを調べてみます。
766デフォルトの名無しさん:2010/05/27(木) 11:54:46
逆行列ってどういう時に使うのですか?
逆行列自体の公式見たらややこしい解説ばかりで
使用目的がわからないのです。
767デフォルトの名無しさん:2010/05/27(木) 13:59:27
行列計算したあと元に戻したいときに
逆行列を掛けると元に戻る。
768デフォルトの名無しさん:2010/05/27(木) 15:51:48
>>766
名前の通り、逆変換をしたいときに使う。

例えば、1万頂点と1つの光源でライティング計算しようとしたときに、
ワールド座標系で計算するには1万回の座標変換が必要だが、
光源をローカル座標系に変換すれば1回分だけでいい。
こういうときはローカル→ワールド変換行列の逆行列を使う。
769デフォルトの名無しさん:2010/05/27(木) 17:33:56
>>765
パースペクティブコレクションはやった?
そしたら後は mipmap と異方性 mipmap と MSAA とAlpha to Coverage やってピクセルシェーダと頂点シェーダくらいかな。
異方性フィルタもシェーダでやる方がスマートかも?
圧縮テクスチャとか Swizzle とかはメモリ帯域節約の技法だからどうでもいいかな?

ていうか速いね! 実装したこと無いだけで全部知ってたんだね。

>>766
行列T x Tの逆行列 = 単位行列
であり、 a x (1/a) = 1 というのと同じことを言っているのは、何かで読んだだろう。

正規直行のアフィン変換行列について言えば、教科書にある、面倒くさくてわかりにくい LU 分解とか掃き出し方とかは不要。
左上 3x3 を転置して、平行移動成分をかけてやれば作れる。
ていうか、使えるようになるのは重要だけど、作り方は後回しでいい。どっかの動くルーチンをコピペして使えばいい。

使い道としては、割り算の代わりに逆数を掛けるようなノリで必要になる。
というか除算に当たるものとして、逆行列を乗算する。
すると >>767>>768 の効果が得られる。

例えば手首のワールド座標を、腰から見た座標に変換するような場合にも有用。
無理に例を考えると、矢が刺さった時に、矢のワールド座標から刺さったパーツの相対座標に変換して、矢をそのパーツの子供にするとか。
770753:2010/05/28(金) 01:43:16
>>769
パースペクティブコレクションとバイリニアフィルタは実装しました。

一応頂点変換とピクセル処理は関数ポインタを渡して、
頂点からピクセルへのデータの受け渡しは可変でもてるようにもして
DirectXのシェーダーのように使う形にしてあります。

まずはmipmapを実装してから異方性関連のフィルタをやってみようかと思います。
とはいえ異方性フィルタはかなり資料がレアっぽいですが・・・。
771デフォルトの名無しさん:2010/05/28(金) 11:29:11
>>770
ツイードとかに使う異方性シェーダなら、環境マップを変更するだけでできるから、キューブマップ辺りを先に実装した方がいい。
異方性 mipmap のことを言ってるなら good だと思う。mipmap の延長だし。
資料は http://en.wikipedia.org/wiki/Anisotropic_filtering で不足?
772デフォルトの名無しさん:2010/05/29(土) 01:23:02
その辺やる時はOpenGLの仕様書とACMの論文がかなり便利。
773デフォルトの名無しさん:2010/05/29(土) 05:38:16
以前はDirect3Dのリファレンスラスタライザのソースが公開されてたけど
今でも落とせるのかな?
774デフォルトの名無しさん:2010/05/29(土) 18:23:55
OpenGLのリファレンス実装とかMesaによる実装もソースあるね
775753:2010/05/30(日) 14:32:44
む・・・違法性フィルタって単にトリリニアの傾きにあわせて沢山サンプルします版なのかしら
776デフォルトの名無しさん:2010/05/30(日) 20:23:12
>>775
あと、どのレベルからサンプリングするかを決定する部分とね。
777デフォルトの名無しさん:2010/06/16(水) 15:57:24
a
778デフォルトの名無しさん:2010/07/01(木) 04:19:45
3Dプログラミングでカメラの概念を分かりやすく理解するにはどうしたらいいでしょうか?
カメラビューが動くというのは,全てのオブジェクトの頂点を共通の量だけ動かすということで,つまり
カメラが動くというのは, オブジェクトをすべてカメラの動きと正反対に動かせばいいということでしょうか
例えばカメラがz軸に500進むというのは,全オブジェクトの頂点座標のzの値を-500すればカメラが前に進んだようになる、という考えであっていますでしょうか?(全オブジェクトを動かす命令が書かれているのがカメラの正体なのでしょうか?)
今、カメラクラスというクラスを作ろうとしてますが、カメラクラスのアルゴリズムがわかるようなわからないようなで悩んでます
お助けください
779デフォルトの名無しさん:2010/07/01(木) 04:38:16
天動説と地動説で激論を交わしていた頃を思い出すな
あの頃は若かったわ
780デフォルトの名無しさん:2010/07/01(木) 05:12:25
>779
儂にも覚えがある

>778
3Dプログラミングにカメラという概念はなく、
ビュー変換・プロジェクション変換を分かりやすく理解するために、
カメラという単語をつかっているんじゃないのか?
カメラで理解出来ないのなら諦めてビューとプロジェクションを直接理解しろ
781デフォルトの名無しさん:2010/07/01(木) 11:54:23
>>778
3DCGのカメラは、概念上はワールド空間をカメラが動きまわるイメージ。
プログラマは映画監督の視点から考えた方がイメージしやすいと思う。

実際の計算はこの概念とは真逆で、カメラは動かずにカメラ以外の全てが
カメラに合わせて動く計算。

また、ビュー変換とプロジェクション変換の2つ併せて現実のカメラに相当する。
ビュー変換はカメラの位置と向き、プロジェクション変換は焦点距離などの
カメラそのものの設定になる。

ビュー変換は、とりあえずLookAtだけあれば十分だと思う。
782デフォルトの名無しさん:2010/07/01(木) 18:21:03
>>780
>>781

779です。ありがとうございます。回答の内容にやっと追い付きました。初歩的過ぎですみません。

原理はわかったので、あとは実際の座標変換の手順だけなのですが、色々ググったところ、下記のような各行列を掛け合わせるだけで一発でプロジェクション座標が決まる?のでしょうか。

以下の行列の掛け算は世界の中のすべてのポリゴンを構成する一点一点のポイント座標(x,y,z)に対して、
ループ処理で呼び出してやらないとダメということですよね。この以下の考え方は正しいのでしょうか。
※以下、「ポイント」とは(x,y,z)座標情報を持つ一点のポイントという意味で書いています。
(ポイントが集まってポリゴンになるイメージです)

プロジェクション変換後の座標(ディスプレイに表示される位置(x,y))=
[モデル座標(ローカルのポイント)]×
[ワールド行列(ワールド座標の中でのポイント位置)]×
[ビュー行列(ワールド座標の中でのカメラの位置、方向)]×


この中で、毎フレーム、常にワールド行列が動くというのは、「オブジェクトが動いている」という意味になり、
逆に、ビュー行列の内容が常に毎フレーム変化するというのは、「カメラが動いている」というイメージなので、
カメラを動かす命令というのは、ビュー行列の値が常に変動するということで、
結果として3Dの世界の中のポイントがすべてカメラの動きと逆に動くという感じ?と理解しております

最後にプログラミングの構成ですが、上記の行列の掛け算によってプロジェクション変換後の
座標を返す為の計算をさせる専用の「プロジェクション変換の為のクラス」を作るんでしょうか。
間違い、的外れ等、ご指摘頂けると嬉しいです
783デフォルトの名無しさん:2010/07/01(木) 20:58:06
座標変換の仕組みも分かってないのに、クラスを設計しようとするのが
間違ってると思う。

プロジェクション変換ってのは、ワールド行列でもビュー行列でもなく
プロジェクション行列で変換すること。

スクリーン座標まで変換するには、
頂点座標×ワールド行列×ビュー行列×プロジェクション行列×ビューポート行列
の計算が必要。

ただし行列は合成ができるので、実際の計算は頂点座標×合成行列でいい。
Direct3Dのシェーダなら、ビューポート変換はシェーダより後段で行われるので
プロジェクション変換まででいい。
784デフォルトの名無しさん:2010/07/01(木) 21:55:43
>782
正直何をしたいのかよく分からないのだが、
Direct3DやOpenGLを使わずに自前で3DCGを処理しようとしているのか?

もしそうなら悪いことは言わないからDirect3DかOpenGL、いや別に他の3Dライブラリでも良いけど、
既存のライブラリとその解説などから3DCGの基本的な事を学んでからにした方がいい。
785デフォルトの名無しさん:2010/07/01(木) 23:09:28
レイトレなら行列理解しなくてもOKだよとか言って見る
786デフォルトの名無しさん:2010/07/03(土) 00:09:58
>>783
>>784
782です。ありがとうございます。色々調べて変換の考え方がわかりました。理解を進めてから書こうと思ったので遅くなってすみません。
仕組みを知ろうと自前で作ろうとしてますが、言われているように根本的な理解を進めてからじゃないと厳しいと反省しました。以下、理解した表示するまでの一連の手順です

・ローカル座標系として、オブジェクトの各頂点のポイントを定義。

・ワールド変換:各頂点を任意の座標まで移動する。
方法:ローカル座標系に行列を掛ける(拡大縮小行列、平行移動行列)

・ビュー変換:カメラの位置に伴う変換処理
カメラ座標位置を定義。カメラ座標を原点まで行列で平行移動する。カメラの向きを回転の行列で決める。
上記のカメラの移動の合成行列を、逆行列にしたものがビュー変換行列(世界全体をカメラと逆向きに移動、回転したいので逆行列にする必要がある)
(カメラの注視点ですが、カメラの注視点はビュー変換時のカメラの向きに当たりますか?)

・プロジェクション変換 ここで初めて、透視投影でパースペクティブをつける処理を行う
3Dの頂点座標情報から、x,yの2D表示にする(結果、遠近感がつく)

・ビューポート変換 画面サイズに合わせて、拡大縮小行列により、拡大。

以上、という流れですよね。ただ、プロジェクション変換のときの行列だけがわかりません。どういう形の行列を作ればいいのでしょうか?


2D表示するだけなら、
スケール = focalLength/(focalLength+z座標)
としておいて、そこで得られたスケール値を、x,yの座標の値に掛けて、消失点座標(x,y)に加えることで遠近表示表現はできるのですが。行列内に消失点や、焦点距離をどう絡めたらいいのでしょうか。

現状、ビュー変換までの合成行列を、モデル座標に掛けることでプロジェクション変換の直前までは定まり、あとのプロジェクション変換(とビューポート変換)部分が行列ではなく、各頂点に上記で書いた処理の関数を適用するみたいな感じで表示までは出来ました。
787デフォルトの名無しさん:2010/07/04(日) 02:31:51
>>786
ちょっと本とか読んで出直したほうがいいんじゃない?
788デフォルトの名無しさん:2010/07/04(日) 04:12:30
同感。説教たれる気はないけど、ここまで初歩の段階から、逐一人に聞き始めるのは786にとっても効率悪いんでないかい。
789デフォルトの名無しさん:2010/07/05(月) 10:50:57
786です
すみません、初歩すぎるみたいで、もっと本読んで理解します。反省。
初歩レベルの人間が座標変換について理解を進めやすい良書があれば、
オススメおしえてください。出直します。
790デフォルトの名無しさん:2010/07/05(月) 13:53:43
松坂の線形代数よんどけ
791デフォルトの名無しさん:2010/07/06(火) 11:22:06
>>789
DirectX のドキュメント。
792デフォルトの名無しさん:2010/07/06(火) 14:14:53
DirectXのドキュメント読むなら、8のやつがいいんだけどね。
数学的な話は9になって少し減ってしまった。
ただ、8のSDKはもうMSのサイトから落とせないっぽいが。
793デフォルトの名無しさん:2010/07/06(火) 15:40:00
DirectX使うならいいと思うけど誰もがDirectXを使う前提に立ってないからなぁ・・・
794デフォルトの名無しさん:2010/07/06(火) 18:16:55
DirectX 以外では不要になることも書いてあるけど、
基礎的なことも詳しく書いてあるよ。

[DirectX Graphics] - [プログラミングガイド]
中の、
[DirectX の基礎知識] - [3D 座標系とジオメトリ]

[固定機能パイプライン] - [トランスフォーム]
[固定機能パイプライン] - [ビューポートとクリッピング]

やさしくはないけどタダだし簡潔。
795デフォルトの名無しさん:2010/07/06(火) 21:39:31
座標系の設定って、画像処理屋さんだと右手系と決まってるけど、CG屋さんは実装する人とかライブラリによってバラバラなのはなぜ?
統一されてないと回転行列とかライブラリ間の移植がめんどくさいだけじゃん
796デフォルトの名無しさん:2010/07/06(火) 22:46:55
その意見には全員賛成だと思う。
で、どっちに統一するのって所でモメるわけで
797デフォルトの名無しさん:2010/07/07(水) 10:26:52
別に統一されてなくても大した面倒は感じてないよ。
798デフォルトの名無しさん:2010/07/20(火) 21:41:30
現在FBXのSDKのモデルのUVの情報を引き出そうと頑張っています。
UVが2個引き出せるはずなのですがどうしても1つしか引っかからず…


int num = 0;
int layerCount = pMesh->GetLayerCount(); // meshはKFbxMesh
for ( int i = 0; i < layerCount; ++i ) {
KFbxLayer* layer = pMesh->GetLayer( i );
KFbxLayerElementUV* elem = layer->GetUVs();

if(elem != NULL)
num++;
}
return num;

上記がそのソースコードです。
マルペケつくろーどっとコムのコードほぼそのままなのですが
うまくいきませんorz
どなたかご教授いただけますか。
環境は FBXSDKは2009.3
出力してるモデラーはLightWave9.0です。
799デフォルトの名無しさん:2010/07/22(木) 19:01:29
FBXは知らないけどそこで得られたlayerCountは1or2?
800デフォルトの名無しさん:2010/07/22(木) 19:44:02
elemにUV情報問い合わせるんじゃないの?
801デフォルトの名無しさん:2010/07/24(土) 01:30:48
>>799
layercountは1でした。マルペケさんによるとUV複数なら
そもそもここが2以上になるそうなのですが…orz

>>800
elemに問い合わせるのですがelemにはUVが1つ分しか格納されていませんorz
802デフォルトの名無しさん:2010/07/24(土) 01:36:19
そもそも、データに1つしかなかったというオチとか。
803デフォルトの名無しさん:2010/07/24(土) 01:59:58
>>802
lightwaveの出力の方の問題とかですかね…
ちゃんとテクスチャ3枚貼り付けたモデルを出力してるんですが…
804デフォルトの名無しさん:2010/07/24(土) 02:00:57
2枚でした。
UVも2つ設定して貼り付けてます
805デフォルトの名無しさん:2010/07/24(土) 08:20:58
FBXは良く知らんけど、
LW9.0+Autodesk製Plugin(Autodesk配布)でのFBX?
LW9.6+Newtek製Plugin(同梱品)でのFBX?

最小限のデータのFBXを出して、ファイルを直接見て
どんな要素がどう出力されてるか確認するのが
先かもね。

FBXのレイヤー==LWのチャンネル(diff.spec,etc)
FBXのレイヤー!=LWのテクスチャレイヤー(内で重ね張り)
のような気がするけど、そこら辺は大丈夫?
806デフォルトの名無しさん:2010/07/24(土) 14:12:59
>>805
使ってるのはLW9.0の標準で搭載されてるユーテリティで出力してます。
Autodesk配布のもあるんですね、それもちょっと使ってみます。

レイヤーに関しては私も大体そのような認識です。
ためしにLWのモデラーで、違うテクスチャとUVを使ってる部分を
全部別々のオブジェクトレイヤに分けてみたら
FBXに出力後、メッシュの数がその分増えてその中に1つずつそれぞれ割り当てたUVが入っていました。
ひとつのメッシュにひとつずつしかUVが出力されないのかな…俺のLWは。
807デフォルトの名無しさん:2010/07/24(土) 15:25:56
>>805
ところでLW9.0のFBXのプラグインってあるんでしょうか
9,0から標準搭載されてるし
AutodeskのHP見てもmayaと3dsMaxしか見当たらないですが
808デフォルトの名無しさん:2010/07/24(土) 19:27:55
英語版LW9.0にKaydara版が付いてた可能性はあるけど、
日本語版9.0には入ってない(8.2位迄はzipが付いてた)
と思うのだが。
9.6のつもりで9.0と言ってるなら止めた方が良い。
マイナーバージョンでも結構変わるからね。

Autodesk版は去年半ばに2005年の物をDLした。
今も残ってるかはしらん。
809デフォルトの名無しさん:2010/07/24(土) 19:59:58
>>808
3年近く前に買った正真正銘9.0verです。
Kaydara版ってダメなんですかね。
810デフォルトの名無しさん:2010/07/24(土) 20:02:43
>>808
今プラグインのutilityフォルダあさってたら
kaydara.zip
がありました。
811デフォルトの名無しさん:2010/09/17(金) 23:57:02
サブディビジョンの頂点位置の計算とか曲率とか、
そういう基礎的なことを学びたいのだが、何かいい資料はないだろうか
812デフォルトの名無しさん:2010/09/18(土) 09:58:55
俺の専攻に近いので答えてみる
ちょっと専門的過ぎるかも

サブディビジョンの頂点位置
・基礎的な方法の計算法だけならcatmull-clarkで検索かければいっぱい
・ACM Digital Libraryの適当な論文から参考文献辿る
  起点としてこれとか
  "√3-subdivision"
  http://portal.acm.org/citation.cfm?id=344835
 論文はGoogle Scholarで運がよければ無料で手に入る

曲率
・幾何学的な定義とかは、ある程度大きな本屋か大学書籍部などで
 位相幾何学の簡単な本を読む
・ポリゴンモデルからの実際の計算方法などは、やっぱり論文頼り
  これとか
  "Discrete differential-geometry operators for triangulated 2-manifolds"
  http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.61.9708&rep=rep1&type=pdf
813デフォルトの名無しさん:2010/09/18(土) 15:50:25
>>812
計算方法は色んなサイトに載ってるんですが、
何故その計算になるのかの説明がなかなか無いのです。

とりあえず "√3-subdivision" から参考文献を辿ってみます。
814デフォルトの名無しさん:2010/09/19(日) 08:53:02
Real Time Renderingという本に参考資料へのポインターがいっぱい載ってるよ。
確かsubdivisonの手順だけで、なぜその手順になったのかまでは書いてなかったと思うけど。

815デフォルトの名無しさん:2010/09/19(日) 09:25:04
サブディビジョンって基本的に何か「正解」の曲面があるわけじゃないから、「なぜ」と言われても、
「こうやって計算してみたらいろいろと都合のいい性質が得られた」くらいの理由しかないんじゃないかな。
816デフォルトの名無しさん:2010/09/19(日) 10:39:54
なんかαとβが4n+1でどうたらって感じだったような記憶はおぼろげにある
817デフォルトの名無しさん:2010/09/19(日) 12:49:33
>>812 に教えていただいた論文の参考文献に
「Clark, Recursively generated B-spline surfaces on arbitrary
topological meshes」
という論文がありました。

どうもオリジナルの catmull-clark アルゴリズムを説明しているっぽいです。
かなり分かりやすく、計算の理由が書かれているようです。
(まだ途中までしか読んでませんが)
818デフォルトの名無しさん:2010/09/24(金) 23:55:43
興味あるなあ
819デフォルトの名無しさん:2010/09/28(火) 18:05:53
3D初心者です。行列の変換とかは何をやってるか大体わかるんですが
3Dの表示って、元データ(3次元の世界)の範囲をループして画面に表示するのって計算量的に無理ですよね?

速度はでなくていいので簡単なエンジンを作ってみたいんですが
最終的なスクリーン座標の一つ一つのドットを入力として、
それに対してモデル→スクリーンまでの行列の逆行列をかけ
その結果取得出来た色を画面に表示するっていう認識でOKでしょうか
820デフォルトの名無しさん:2010/09/28(火) 19:31:35
英語でおk
821デフォルトの名無しさん:2010/09/28(火) 19:40:11
元データ(3次元の世界)の範囲をループして

元データ全てを描画処理するって意味?
822デフォルトの名無しさん:2010/09/28(火) 20:29:11
sorry for my quirky japanese

3d transformation program looks like the sample code for me
 foreach x in paintbox.width
  foreach y in paintbox.height
   drawpixel(x,y,getcolor( inverse_transform(x,y)))

rather than model -> view -> perspective -> screen transformation.

I wonder 3d world model is too large to compute,
so we write inverse transformation above,isn't it?
823デフォルトの名無しさん:2010/09/28(火) 20:34:07
>>821 大体そんな意味のつもりです。
実際は画面に表示されないところは隠面消去だとかZバッファだとかなんだとか
色々あるんですよね?
どうもその辺のイメージがよくわからなくて

デバイスの点の位置からカメラ方向に向かって直線をのばして
モデルのボクセルと交差したらその色を取得して描画する、
みたいなイメージを持ってるんですが、そういうのとはまた違うのでしょうか?
824デフォルトの名無しさん:2010/09/28(火) 20:47:56
その考えだとレイトレだな
でも最前面の色を描画するって意味では正しい

何で作るの?
825デフォルトの名無しさん:2010/09/28(火) 21:11:51
あ、勘違いしてた。3次元の座標を1点ずつみながらループするようなイメージがあったけど
モデルデータが持ってる点だけを変換すればいいって事ですね
言語はVBで、今後必要になるかもしれないので予習目的です。
残念なのは、.netには4x4の行列クラスがなさそうなこと
826デフォルトの名無しさん:2010/09/28(火) 21:23:00
RasterizeととかScan ConversionとかDDAとかでぐぐれ。
80年代ならともかく、今のCPUなら数千ポリゴンくらいは余裕でやれる。
827デフォルトの名無しさん:2010/09/28(火) 21:36:59
ありがとうございます。辿ってみます。
828デフォルトの名無しさん:2010/09/28(火) 22:19:30
ループするに違和感
829デフォルトの名無しさん:2010/09/29(水) 21:32:38
ttp://www.geocities.co.jp/SiliconValley-Bay/4543/Rubic/Mathematics/Mathematics-5_1.html
ここみたいにθとφを使わず
ttp://www.c3.club.kyutech.ac.jp/gamewiki/index.php?3D%BA%C2%C9%B8%CA%D1%B4%B9#content_1_5
これみたいに内積と外積を用いてビューイング変換しようとしてるんですが
軸にあわせてオブジェクトを回転、というのがよくわかりません
下のサイトを見ると、ベクトルの各値を縦に並べているみたいですが
どうしてこういう風に出来るのでしょうか?
830デフォルトの名無しさん:2010/09/29(水) 21:39:27
3次元上で自分が浮かんでいると考えて、
上方向がYベクトル、
後ろ方向がZベクトル、
左方向がXベクトル

と考えてみろ
831デフォルトの名無しさん:2010/09/29(水) 22:02:12
えと、左手系の説明、ですか?
各軸を求める計算自体は一応理解出来ます
ただ、求まった各軸のベクトルから
アフィン変換のパイプラインの一部としてそのまま使える行列を
どうやって作るかってのがよくわからないんです

行列を右からかける(転置してる)として元データがv=(x,y,z)だとすると
v * model * view * proj * viewport的な計算をしますよね
そのための計算で使える基本的な行列の演算として
「平行移動」「回転」「拡大」「せん断」についてはよく解説があるのでわかるんですが
XYZ各方向の軸ベクトルからアフィン変換に使える行列を作るやり方ってのが
よくわからないってことです。
なんで縦に並べるだけで回転が表せるんでしょうか?
832デフォルトの名無しさん:2010/09/29(水) 22:20:31
自分で試行錯誤して理解しないと後で困るから
がんばれ
833デフォルトの名無しさん:2010/09/30(木) 15:26:00
>>831
そもそも変換行列ってのは、各基本軸のベクトルを
どういうベクトルに変形させるかを記述するものだから。
834デフォルトの名無しさん:2010/09/30(木) 19:40:00
なるほど、ちょっと理解が進みました。
連立方程式の係数として考えると
左からかける場合はベクトルの要素を横に並べる
右からかける場合はベクトルの要素を縦に並べる、ってのに相当するわけですね
こちらの方法は、θとφで表すのは無理ですよね?回転経路が複数ある的な意味で

やっと最後まで作れそうです。これで勝つる!
835デフォルトの名無しさん:2010/09/30(木) 20:31:51
質問なのかチラ裏なのかわからんな
836デフォルトの名無しさん:2010/10/12(火) 19:19:31
プレゼンハムで三角形とかを描画するのをハードウェアで実装する方法が書かれた
サイトか本を教えてください
837デフォルトの名無しさん:2010/10/12(火) 22:06:54
ブレゼンハム(Bresenham)な。
普通にアルゴリズムの解説を読めば終わりだろう。
http://dencha.ojaru.jp/programs_07/pg_graphic_07.html

ところで昔のパソコンは浮動小数点演算が遅かったのでこういう計算方法を使って
整数演算のみで計算することに意味はあったが今のコンピューターだと
下手するとCellみたいに浮動少数点演算の方が速かったりする。
838デフォルトの名無しさん:2010/10/13(水) 00:00:19
3Dグラフィックスのための数学という本(pp217-220)に
共分散行列をつかって体積の小さいバウンディングボックスを求める例題があるのですが
一番最後の、体積を求める部分の解説がないのでよくわかりません

設定は
入力点(x,y,z)が8つ
[[-1/√2,-5/√2,-1],[-1/√2,-5/√2,1],[-5/√2,-1/√2,-1],[-5/√2,-1/√2,1],[5/√2,1/√2,-1],[5/√2,1/√2,1],[1/√2,5/√2,-1],[1/√2,5/√2,1]];

これから求まる共分散行列
[[13/2,5/2,0],[5/2,13/2,0],[0,0,1]]

これから求まる固有ベクトル
[1,1,0],[1,-1,0],[0,0,1]

上の固有ベクトルを使わずにAABB(Axis-Aligned Bounding Box)によって
バウンディングボックスを求めた場合の体積が
5√2*5√2*2=100と書いてあり
上の計算の結果を用いると
5*5*2=50と、体積が半分になるそうなのですが
この5*5*2という値はどこから出てきたのでしょうか
839デフォルトの名無しさん:2010/10/13(水) 00:20:30
AABBは入力点の内の各座標の最大点xmax,xmin,ymax,ymin,zmax,zminを使って
g=[(xmax+xmin)/2,(ymax+ymin)/2,(zmax+zmin)/2]
h=[(xmax-xmin)/2,(ymax-ymin)/2,(zmax-zmin)/2]
(hの要素をa,b,cとすると体積は8*a*b*c)
より、gを中心として縦横高さがhの各項の分だけのびたボックスを求める方法です
この例で計算すると
(xmax,ymax,zmax)=[5/√2,5/√2,1]
(xmin,ymin,zmin)=[-5/√2,-5/√2,-1]
となり
hを計算すると[5/√2,5/√2,1]になるので
5/√2*5/√2*1*8=100となります。

固有ベクトルを使って元データを回転させるのでしょうか?
しかし回転の方法は2パターンあるような気もするのですが
840デフォルトの名無しさん:2010/10/13(水) 15:29:46
固有ベクトルを正規化して束ねた行列の逆行列求めて掛ければいいんじゃ
841デフォルトの名無しさん:2010/10/13(水) 18:08:35
質問者ですが、大きい順に並べた固有値に対応する固有ベクトル3つを正規化したものを使って
元データを全部回転させてからAABBで求めてみたところ
バウンディングボックスの体積は48になりました。
微妙に答えが違うがこれで良いような気もする
842デフォルトの名無しさん:2010/10/14(木) 00:18:39
固有ベクトル3本を正規化し、
入力点8つをそれぞれ射影(内積をとる)すると
5と5と2という値にならんか?
面倒なので俺は計算しないが
843デフォルトの名無しさん:2010/10/14(木) 00:20:07
>>841
>>842>>841と原理的には同じ
おそらくそれであってるんじゃないか?
844デフォルトの名無しさん:2010/10/14(木) 20:35:32
なるほど、気づかなかったけど、確かに計算方法は同じですね
求まったバウンディングボックス座標は
[-3,-2,-1],[-3,-2,1],[-3,2,-1],[-3,2,1],[3,-2,-1],[3,-2,1
],[3,2,-1],[3,2,1]
で、この数値は前問(215ページ)の設定と全く同じ
どうやって問題を作ったかが想像出来ます
手計算でもすぐ計算できますがh=(3,2,1)になるので、3*2*1*8=48です。
なので、これで合ってると思う事にして次に進む事にします
ありがとうございました。
845デフォルトの名無しさん:2010/11/08(月) 22:59:22
4x4の行列からx,y,z の回転角度を求めるにはどうすればいいのでしょうか?
846デフォルトの名無しさん:2010/11/08(月) 23:34:17
4x4の中身がどういう配列かしらんけど↓でも参考にしたらええがな
ttp://d.hatena.ne.jp/It_lives_vainly/20070829/1188384519
ちなみにX-Y-Zをどの順で掛けるかで解き方は変わるから気をつけて
847デフォルトの名無しさん:2010/11/16(火) 13:45:53
Cgのglstate.matrix.mvpって透視射影も正射影に変換されるんだな
glFrustumの値が取れても行列の計算結果が明らかに違う
848デフォルトの名無しさん:2010/11/16(火) 15:00:11
ピクセルシェーダをやるなら座標変換の処理は
GLのセマンティクスに依存させず、全部自前で書いたほうがいい。
ところどころ矯正が面倒なだけだし、ソースも汚くなる。
849デフォルトの名無しさん:2010/11/16(火) 17:19:02
>>847
leftとright、topとbottomが等しい場合、リファレンス通りの行列で演算すると正射影になるよ。
glFrustumで指定した場合は等しくてもちゃんと遠近感が出るから、実際どこか違う計算をしているんだろうね
850デフォルトの名無しさん:2010/11/16(火) 17:48:33
ンなわけねえだろw
そもそも式が間違ってんじゃねえのか?
farとnearは一部負にしなきゃいけない、変換後の座標は左手系になる
それを踏まえてnearの値を小さくしてみれ
近づいているはずなのに物体が小さくなれば、視点を逆に置いたままってオチだ
851デフォルトの名無しさん:2010/12/08(水) 22:57:56
OpenGLで立方体に円柱の穴を開けたいのですが、
細かくポリゴンを指定するしかないでしようか?
852デフォルトの名無しさん:2010/12/09(木) 01:53:44
うん、そう
853デフォルトの名無しさん:2010/12/10(金) 00:57:22
悲しいけどラスタライジングする以上はポリゴンにするしかないんだよね。
GPUでレイトレーシングをやればポリゴン分割しなくてもよさそうだが。
こんな感じで
ttp://code4k.blogspot.com/2010/08/making-of-ergon-4k-pc-intro.html
854デフォルトの名無しさん:2010/12/10(金) 01:45:21
穴が開いているように見えるだけでいいなら、ステンシルバッファを使う方法もあるけどね。
855デフォルトの名無しさん:2010/12/19(日) 21:08:35
>851
CSGでぐぐれ
856デフォルトの名無しさん:2011/01/03(月) 21:17:16
閉領域で、凹を許容した多角形の頂点配列を抽象化するPolygonクラスを作ってみた。
例えば、こういうことができる。
Polygon silhouette; //当たり判定領域
Matrix scale(・・・);
Point p(・・・);

shilhouette *= scale;//領域を拡大
if(intersected(shilhouette.p)){・・・}//

でよ。このPolygonクラスに、面積の差分を求められるようPolygon同士の引き算足し算を
出きるようにしようかと思うんだが。典型的な定義とかある?
例えば、
 Polygon x,y;
 double s = x + y;
とか、
 Polygon x,y.s;
 s = x + y;
とか。ご存知であればご教授ください。
857デフォルトの名無しさん:2011/01/03(月) 21:32:51
根本的に何か勘違いしてないか?
閉空間Aー閉空間Bの計算結果の空間は簡単にあらわせないぞ。
必ずしも1つの閉空間にならないしな。
体積を計算したいだけかもしれないが、それでも簡単ではない。


858デフォルトの名無しさん:2011/01/03(月) 21:37:10
あと3次元の話ならpolyhedron(多面体)だよな?
面積とか言ってるから2次元なのか?
859デフォルトの名無しさん:2011/01/03(月) 22:22:32
>>857
 そうだね。書き込んだとき、多角形の x - y をしたとき、
yの面積分xを縮小すればいいやと思ったけど、別のやり方なら
多角形の真ん中に別の多角形が現れて穴が開く可能性とか考えてなかった。

複雑化どうかは置いといて 座標 - 座標 = ベクトルみたいな理想論をしりたいよ。
あるんであれば。

>>858
 3D座標ではあるけど一応平面を前提。
今のところ折れ曲がった多角形までは面倒見きれる技量がないんで。
860デフォルトの名無しさん:2011/01/03(月) 23:05:16
やりたいことによって変わるとしか。
多角形のandやor操作の結果は多角形に閉じて無い。
だから領域同士のandやorとして実現するか、
NULLやboost::optionalで未定義を返すしかないんじゃないか。
861デフォルトの名無しさん:2011/01/04(火) 00:27:05
>>860
ブーリアンはブーリアンで別で用意してるんだけどなぁ。アレと混同させるのはちょっと違う気がする。

結局多角形同士の足し引き結果は面積のスカラー値にしとくのが無難なのかなァ。
862デフォルトの名無しさん:2011/01/04(火) 00:41:20
自然数の減算や除算みたいに、場合によっては成功する演算扱いは?
863デフォルトの名無しさん:2011/01/04(火) 01:02:27
>>862
>自然数の減算
どういう場合に失敗するんだろう・・・。知らんから教えて。

そういや、多角形の足し算引き算がやりたい目的が、
面積以外であったわ。ある多角形に、負の面積を持つ可能性のある多角形を足す。

でもコレってよくよく考えると多角形のクラスで計算って考えが間違ってるやもしれん。
多角形じゃなく多角形グループにすれば綺麗にまとまる気がしてきた。

Polygon x,y;
Model s,ss;
s = x + y;
ss = s - y;
864デフォルトの名無しさん:2011/01/04(火) 01:19:50
>>863
>どういう場合に失敗するんだろう・・・。知らんから教えて。
整数と混同しがちだけど自然数は負にならない。
865デフォルトの名無しさん:2011/01/04(火) 01:28:57
>>864
なるほど。
確かにそうだね。
unsignedは意識しても自然数を意識した事なんてなかったよ。
スレの主旨からズレるけど。プログラミングで自然数で考えないと
いけない場合って何があるの?
866デフォルトの名無しさん:2011/01/04(火) 09:05:07
どのみちやってる事は無駄だし、頭の悪いうざいガキに粘着されて迷惑だ
867デフォルトの名無しさん:2011/01/04(火) 09:05:49
うざいから消えろ
868デフォルトの名無しさん:2011/01/05(水) 21:28:35
>>866-867

すまん。消えるわ・・・。
869デフォルトの名無しさん:2011/01/27(木) 22:34:05
フォンシェーディングで用いられる法線ベクトルは、単位ベクトルとして
扱うべき?

拡散反射や鏡面反射では、単位法線ベクトルを使いますよね
870デフォルトの名無しさん:2011/01/28(金) 00:04:48
>>869
法線は向きなのだから長さがあったらおかしい。
だが、理由があるなら長さが 1.0 でなくても、プログラムが元の式を正しく反映していればそれで良い。
871デフォルトの名無しさん:2011/02/02(水) 01:10:47
複数のカメラの共通するビューボリューム内にランダムな点群を発生させたいのですが
まず共通ビューボリュームの出し方、というか記述の仕方がわかりません
凸包みたいのを作ることになるんでしょうか?
872デフォルトの名無しさん:2011/02/02(水) 08:50:41
>>871
711 の何が分からないの?
視錐台の共通部分を最初に出すのが面倒なら、全ての視錐台を含む
AABB 内にランダムに点を打って、その点が全ての視錐台の中にあるか
調べるのでも良い。
多少効率が悪いが、全ての視錐台の論理積を作ってからでも同じことを
やるので、処理速度の問題が出るまではそれでも良いのでは。
873デフォルトの名無しさん:2011/03/24(木) 14:47:04.09
WebGLの話題もここでいいのですか?
874デフォルトの名無しさん:2011/04/07(木) 19:16:22.32
FBXSDK使ってみたんだけど、これって初期化にすごい時間かからないか?
875デフォルトの名無しさん:2011/04/18(月) 00:22:50.44
タイルベースラスタライズのHWについて質問です。
内部的には、タイル毎に同じ頂点のパスが繰り返し実行されるのでしょうか?

ラスタライズでのメモリアクセスが、小さいタイルでは内部レジスタに置き換えられるから、
ここではメモリアクセスが減りそうな気はしますが、
頂点を繰り返しアクセスするとなると、ここではメモリアクセスが増えそうな気がしてます。
876デフォルトの名無しさん:2011/04/18(月) 07:01:51.92
>>875
タイルレンダリングは、資源をケチるための戦略であって、高速化のためのものではないよ。
877デフォルトの名無しさん:2011/05/05(木) 22:25:17.06
3次元データをメモリ内に効率的に持つための
構造について解説した書籍は無いでしょうか
BRep や partial entity structure など

レイトレーシングなどのレンダリング用ではなく、
インタラクティブに操作できるモデラーが内部で持つようなものです

それぞれに関する論文などは少しあるのですが、
本という形でまとめたものを探しています
878デフォルトの名無しさん:2011/05/11(水) 23:30:46.19
初歩的な質問で申し訳ないです。

3Dのゲームでキャラモデルの表示がおかしくなるバグ
に関して質問があります。
下記動画の1:06や2:44あたりなどがそうなんですが。

http://www.youtube.com/watch?v=ny2Y6rrw0kE

・こういったバグ現象を主に何て言うのでしょうか?
・基本的に何が原因で起こるんでしょうか?
879デフォルトの名無しさん:2011/05/12(木) 10:40:10.76
ジンバルロックだね
クォータニオン使ってないんだね
880デフォルトの名無しさん:2011/05/12(木) 12:03:16.11
シーンを作る際、例えば床上に配置されるオブジェクトは必ず床とノードを共有してないといけないんでしょうか?
それともオブジェクトの底面のyだけ0で床とノードは共有させないものなんでしょうか。
もしくは僅かに浮かせているのでしょうか。

また、床はどういうポリゴンの構造である必要があるのでしょうか?
多角形ポリゴン一枚?もしくはそれを対角線で分割する程度?三角or四角で綺麗に分割?
その辺の決まりがわかりません。一般論でいいのでお願いします。
881デフォルトの名無しさん:2011/05/12(木) 12:29:14.47
自分の好きなようにやればいいだけ
882デフォルトの名無しさん:2011/05/12(木) 23:15:00.38
世の中には決まりに縛られたいという人間もいる
883デフォルトの名無しさん:2011/05/22(日) 21:36:32.78
OpenGLでアンビエントオクルージュンをやりたいのですが、参考になる解説を教えてください。
ソースコード付きがベストです。
884デフォルトの名無しさん:2011/05/26(木) 18:44:22.77
885デフォルトの名無しさん:2011/05/26(木) 18:53:47.55
関係ない糞アフィリエイト貼るな
886デフォルトの名無しさん:2011/06/02(木) 18:56:01.13
(もしかしたら)下らない質問ですみませんが。

複数のポリゴンで出来た閉じた物体の体積を求めたいんですが、バウンディングBOXを
求めて、それぞれのポリゴン頂点から垂線をBOX上に延ばして得られた体積を引く、
という形で求めようと思うんですが、もっとまともな方法は無いでしょうか?

面の向きや、凹検出の為に垂線が他の面にぶつからない…など、結局、2Dのバケツ
ペイントのアルゴリズムに近い事を模索してて、さすがに自分でも
「こりゃ無いかも...」と思い始めまして。

体積を求める方法や、それに関しての良書があったら教えて下さい。
887886:2011/06/02(木) 19:04:53.28
すみません、スレ汚しなだけでした。
ググったら直ぐありました。

忘れて下さい。
888デフォルトの名無しさん:2011/06/02(木) 19:08:20.09
二次元で処理する時、
グラフ用紙(升目用紙)に図形を写し取り、
内側に属する正方形の数をかぞえる。
そうするとその数が面積になる。

三次元でも同じ方法が使える。
あなたの必要な精度に合わせて、細かく処理すればよい。
889887:2011/06/02(木) 22:09:52.57
>>888
ありがとうございます。良いヒントになりました。

というのも、体積を求めるだけじゃなくて、「体積を(出来るだけ)変えずに
変形させる良い方法」が無いかと考えてたので。
そのヒントになりました。
890デフォルトの名無しさん:2011/06/04(土) 13:16:54.96
>>889
体積を変えずに変形・・・
おっぱいか
891デフォルトの名無しさん:2011/06/05(日) 03:01:36.94
光と光(光源と光源)が重なりあう部分の表示がおかしいんですが、
うまく処理する方法ないですかね…?詳しく解説のあるサイトとかない?
892デフォルトの名無しさん:2011/06/05(日) 06:44:56.24
自分で作っておかしいと言うのはおかしい。
893デフォルトの名無しさん:2011/06/05(日) 10:19:37.05
>>891
表示がおかしい例(画像)とおかしくない例を幾通りか見せてくれ
894デフォルトの名無しさん:2011/06/07(火) 17:29:42.24
ユーストで関西のシェーディングカンファレンスの録画があって分かりやすかった
検索のとこでshadingで出ると思う
895デフォルトの名無しさん:2011/06/09(木) 12:46:40.25
何か3次元形状での温度分布を作る事になりそうです。
良くある3D温度分布らしきものを組み込む事になりそうですが・・・
どの様に作って良いのか分かりません。

他のEDA(有料)とかを使うと言うのは出来ないらしいのですが、
フリーのソフトの場合は使用可能で有る方向性で考えています。
つまり最初は無料で配布形式(おまけでの)となりそうです。

一般のソフトの場合、グラフとかはどの様に作っているのですか?
また、可視化部分はどの様に作っていますか?
一応ググッてみたけど、出てきませんでした。
宜しくお願いします。

896デフォルトの名無しさん:2011/06/09(木) 16:39:06.37
>>895
とりあえずHSPでプロトタイプを作る。こんなのつくれる。


http://www.onionsoft.net/hsp/contest2005/result.html#84
897デフォルトの名無しさん:2011/06/09(木) 17:14:44.45
>>896
有難うございます。
けれど、求めているのはMatlabのロゴみたいなグラフです。

http://www.mathworks.co.jp/help/ja_JP/techdoc/creating_guis/f4-1001235.html

最近では、小さな会社でのソフトでも計算結果を表示していたりするので、
何か方法が有るのだと思います。

要望では、温度が低い所は青・・・・高い所は赤と表示するとか言っています。
Directxでも、似た様なサンプルプログラムが有るので誰か知っている人は、お願いします。
誰か可視化で良い方法を知っていませんか?
898デフォルトの名無しさん:2011/06/09(木) 17:48:02.81
3Dの温度分布
実測温度によるか、計算による理論地のデータを元にするか?
ビジュアルの映像にするには、
3Dモデルで3D形状データを作る。
  一般的なモデルツールでよい、メタセコイアでいいだろう。
温度分布の色表示はどうしようか、
  かんたんな方法として、ライトの光源色を変えて使えばいい。
  光源ライトは、スポットライトとポイントライトを使う。
3Dライブラリが数多くあるから、あなたの技量に似合ったものを選べばいい。
899デフォルトの名無しさん:2011/06/09(木) 17:51:51.08
これうごかしてみた?
細かい部分は、要求と違うだろうけど、おおよそこの程度のプログラムが出来ればいいのでは?

http://www.onionsoft.net/hsp/contest2005/data/hspcontest84.exe

http://www.onionsoft.net/hsp/contest2005/result.html#84
900デフォルトの名無しさん:2011/06/09(木) 18:28:59.03
901デフォルトの名無しさん:2011/06/09(木) 20:06:30.80
matlabクローンの無料ソフトでいいだろ
902デフォルトの名無しさん:2011/06/09(木) 20:12:55.57
>>897
そんなの、このスレで効くようなレベルの話じゃないだろう。

下の線だけのグラフの方は隠線処理が面倒だが、上の塗りつぶしのやつなら
画面奥にあたる方向から手前に向かって、1マスずつ四角形を描くだけ。
GDIのPolygon関数だけあればいい。

グラフをグリグリ回すのでなければ、必要なのはせいぜい中学レベルの数学。
斜めの格子を描ければ、あとは各頂点をデータの値によって上下に変位させればいい。
903デフォルトの名無しさん:2011/06/09(木) 20:19:55.16
HSPで出来なければセンスがないからあきらめよう。
904デフォルトの名無しさん:2011/06/09(木) 20:43:35.31
心当たりはないが自分で作らなくても探せばありそうだけどなぁ
905デフォルトの名無しさん:2011/06/09(木) 20:48:47.48
>>898-901
有難うございます。

>>898
表示は簡単そうでも、結構難しい要求です。
当面の目標は100*100の2次元に100℃までの水温の3D表示となりそうです。
y軸が温度で、上に行く程赤く表示をすると言う内容みたいです。
ファイルデータは、シーケンシャルファイルで温度データが10000個入っている計算です。
>一般的なモデルツールでよい、メタセコイアでいいだろう。
3D形状ファイルは作成したとしても、Xファイル形式だと思います。
メタセコは使い難いと思われます。
でも有難うございます。

>>899
はい、動かしてみました。個人的には相当面白いプログラムでした。
興味が有るので、調べたいと思いますが・・・
先方が意図するものと違うので、無理だと思われます。

>>900
3Dプログラムを作成するとしたら,DirectxかOpen GLが個人的には有力です。
Open cv 辺りで何か良いものが有るか?も検討してみます。
本当は、モジュール形式か何か?で有ると有り難いのですが・・・

>>901
scilabも検討してみました。多分それを使うならmatlabiになると思いますが・・・
実は一番回答の中で使えるかも?と思いました。
906デフォルトの名無しさん:2011/06/09(木) 21:00:05.23
>>902
多分、そうなると思いますが・・・
いざ作ろうとすると結構難しいです。何か?理論が有ると思われます。
その辺を調べる所から入ります。

>>903
出来ない・・・と言って諦めたいです Orz

>>904
私もそう思います。何か有りそうだと思います。
有料でも何か作成するツールとか有りそうな気がします。
有難う御座います。

少し検討してみます。
907デフォルトの名無しさん:2011/06/09(木) 21:07:14.20
データが二次元+温度なら簡単。
MSエクセルのグラフ機能で出来るし。
プログラムで書いたとしても、2Dだけでも簡単ですよ

どこまでの機能を要求するか、それで決まってくるから、それはあなたが決める事
908デフォルトの名無しさん:2011/06/09(木) 21:13:42.98
ttp://codezine.jp/article/detail/116
こういうのだろ?
20年前のBASICのアルゴリズム本にすら載ってるぞ
60fpsだとかのレベルでならOpenGLかDirectX使ったほうが楽だけど。
909デフォルトの名無しさん:2011/06/09(木) 21:20:34.98
オープンソースのコードを丸々パクれ。
大抵、ソース同封なら、商用でも使用可だろう。
910デフォルトの名無しさん:2011/06/09(木) 21:43:59.68
これくらい自分で作れるくらいのスキルがないなら流用は難しいぞ
911デフォルトの名無しさん:2011/06/09(木) 21:53:26.48
>>907-909
有難うございます。

>>907
実は、これも検討していました。けれど・・・
「不特定多数に、配布した場合必ずしもエクセルを持っているとは限らないし、エクセルを使えるとは限らない・・・」
でNGなんだそうです。
ですから無料ソフトで考えていました。そしてスクリプトを作り自動的に表を作成するか?
と考えていたのですが・・・難関だろうな・・・と思っていました。
有難うございます。

>>908
欲しかったのは、ズバリそれです!
有難う御座います。
プログラムを作成し、時間が余った場合
OpenGLかDirectXを検討してみます。これから先有力そうです。
これから先、結果をマウスでグルグル回転表示とかになりそうです。

>>909
実は最悪の場合、それも覚悟していました。

>>910
スキルが、なかなか身に付かない・・・ Orz

本当に有難う御座います。一度消えます。
912デフォルトの名無しさん:2011/06/09(木) 22:10:45.58

Visual C++ 2010 Expressの易しい使い方(20)
―――― 三次元グラフで隠線処理を行う ――――
http://homepage3.nifty.com/ishidate/vcpp10_20/vcpp10_20.htm
913デフォルトの名無しさん:2011/06/09(木) 22:28:16.60
HSPは小中学生でも3Dを使える易しさ。

講座
http://www.geocities.jp/inaeggmon/hgimg3/01-02.html
914デフォルトの名無しさん:2011/06/09(木) 22:37:32.16
関数の立体図の回転:Visual C++プログラム
http://y-okamoto-psy1949.la.coocan.jp/VCpp/perspective_Rot/
915デフォルトの名無しさん:2011/06/09(木) 22:45:45.12
陰線処理なんか必要ないだろ。バカか
20x20のメッシュを高さと色を変えながら描画すればいいだけ。
1回目はポリゴンで、2回目はラインで書く
916デフォルトの名無しさん:2011/06/09(木) 23:53:27.67
これと同じのを作りたいと思ってexeを逆コンパイルしようとしたら出来ない。
これをどうやって作るかわかりますか?

http://www.onionsoft.net/hsp/contest2005/result.html#84
http://www.onionsoft.net/hsp/contest2005/data/hspcontest84.jpg
917デフォルトの名無しさん:2011/06/10(金) 09:00:43.44
グリッド型のメッシュを温度データを書き込んだテクスチャを使ってディスプレースメントマッピングすればいいんじゃないの
918デフォルトの名無しさん:2011/06/10(金) 20:39:38.90
>>911
gnuplotやRを同梱じゃ駄目なの?
919デフォルトの名無しさん:2011/06/10(金) 20:42:59.36
>>916
メッシュの計算が分からないとか表示が分からないとか
何処で迷ってるか教えてくれ
920デフォルトの名無しさん:2011/06/11(土) 00:55:59.99
上のHSPのデモにもあるような光の玉を作るにはどうすればいいでしょうか
ライトを光の粒の数だけ配置したら重くて動きませんでした
921デフォルトの名無しさん:2011/06/11(土) 08:40:23.23
どこに光の玉があるんだ?
俺には半透明の玉と床のメッシュしか見えないが...
922デフォルトの名無しさん:2011/06/11(土) 11:30:29.66
お前には見えぬのか
923デフォルトの名無しさん:2011/06/11(土) 22:52:39.54
>>920
ただの半透明画像を加算描画しているだけだよ。
受賞者のコメント通り。
924デフォルトの名無しさん:2011/06/12(日) 01:33:13.72
OpenGLで実現するとして、ああいう光の玉は本当に半透明画像の加算描画だけなんですか?半透明で加算なら黒っぽくなっていくだけでは?
あと、グレアみたいに画面中央から光が膨らんでホワイトアウトしていくのはどうやるんでしょうか。
ARBのぞく7、8割のGLコマンドは把握してるつもりなのですが、どうやるのか想像がつきません。
925デフォルトの名無しさん:2011/06/12(日) 01:41:54.14
>>924
なんで[半透明で加算]で黒っぽくなってくんだよ

例えば奥のポリゴンの色=0.5、α=1.0
手前のポリゴンの色=0.3、α=0.5

これを加算で重ねたら 0.5 + 0.3*0.5 = 0.65

これを RGB 全てに適用すれば白っぽくなっていくだろ
926925:2011/06/12(日) 01:43:17.70
ごめん、勘違いしてた

許して、そして忘れて
927デフォルトの名無しさん:2011/06/12(日) 01:43:59.66
>>924
知識だけで頭でっかちになってるな。手を動かすべし。
加算描画なら明るくなることはあっても暗くなることはない。光の(≠色の)三原色の原理だ。
ホワイトアウトもやり方は色々ある。ブラーエフェクトみたいのとか。
928デフォルトの名無しさん:2011/06/12(日) 01:50:59.54
じゃあ光の玉って基本ビルボードなんですか?
ギラギラした光でたまにアニメーションしてるようにも見えるようなのとかも、
上手くテクスチャをアニメーションさせてるだけなんでしょうか?
929デフォルトの名無しさん:2011/06/12(日) 01:53:46.90
ああ、ブラーさせてそれを加算で重ねていけばどんどん明るくなるって事でしょうか
FF7のエンカウントみたいな感じで
930デフォルトの名無しさん:2011/06/12(日) 02:53:22.12
>>928
そう、ビルボードだよ。アニメーションはまったくしてない。ただの一枚の絵。
床は加算合成だけど、玉は普通のαブレンドじゃないかな。SS撮ってまで確認したくはないが。

>>929
それがよくあるパターンだと思う。前フレームの結果を次フレームで使うっていうね。
他には、HDR表現のシェーダでよくあるブルームをパラメータ変えていったり、全画面に渡って真っ白なテクスチャを加算していったっていい。
931デフォルトの名無しさん:2011/06/12(日) 10:43:39.10
>>927
ばーか
932デフォルトの名無しさん:2011/06/12(日) 11:14:51.67
3D の温度グラフ、高さマップ
暇だったから、作ってみた。
http://www1.axfc.net/uploader/Sc/so/244032

DirectX9c必須
933デフォルトの名無しさん:2011/06/12(日) 11:17:52.07
アンチウィルスソフトが反応した
934925:2011/06/12(日) 11:24:23.61
アンチウィルスソフト切ればいいだろ
935925:2011/06/12(日) 11:42:22.88
>>932
ondo.exe を実行しようとしたら
「パラメータが間違っています。」とダイアログが表示されるんだが
なにか足りない?

パラメータって何だろ?
936デフォルトの名無しさん:2011/06/12(日) 11:48:22.65
>>935
わからない、私のマシンでは正常に動作してる

テストマシン
WindowsXp,32bit, DirectX9c
937デフォルトの名無しさん:2011/06/12(日) 11:57:34.95
>>707
やっぱunityか
938デフォルトの名無しさん:2011/06/12(日) 14:12:37.71
>>911
遅いレスでスマンが、
データ可視化 とか Data Visualization のスレがシミュレーション板に(昔)あったと思う。
ツールやライブラリだと、 MIPAV ParaView MayaVi gnuplot R matplotlib あたりか。

あとWebサーバを用意できるなら、(質問者のスキルが足りないと思うが)、Java (Applet), Silverlight, WPF, Flash あたりで自作すれば配布の手間が減るよ。
939928:2011/06/12(日) 14:47:18.80
>>930さん
もしかしてサンプル間違えてませんか?
玉が転がる奴ではなくて、一番上のデモの奴です。
940デフォルトの名無しさん:2011/06/12(日) 18:20:21.54
>>939
それを先にいいやがれorz
みんな勘違いしてるじゃんかw

改めて答えると、光の玉は全てビルボードだよ。デモに使われてるライブラリのパーティクル機能だそうだ。
アニメーションしてるように見えるのは、多分ビルボードをくるくる回してるだけ。ライブラリにそういう機能があるし、ゲームでも常套手段だ。
もちろん加算合成な。

ホワイトアウトは、パーティクルで使ってるような、中央が明るいテクスチャを用意して、それをスクリーンサイズで合成。
時間経過で色の係数を上げていってるんだろう。

実際にライブラリを使って試してみ。

>>931
うるせえばーか
941928:2011/06/14(火) 02:12:17.19
ありがとうございます。
あと厳密には3Dとは関係ない質問なのですが、数キロバイトの3Dメガデモでよく使われている、
8ビット音源のような音色の音楽ですが、あれって
win32のwaveoutを使って、圧縮した楽譜データをリアルタイム演奏しているのでしょうか?
942デフォルトの名無しさん:2011/06/14(火) 02:59:07.97
>>940
916 の画像があれなんだから、誰かが勘違いしているのではなく、勝手に違う話をしている奴が紛れ込んでいるだけ。
943940:2011/06/15(水) 06:37:42.73
なんかよくわからんが、まぁいいや。

>>941
>win32のwaveoutを使って、圧縮した楽譜データをリアルタイム演奏しているのでしょうか?
そうだよ。俺は詳しくないから何の解説もできんが。
944デフォルトの名無しさん:2011/06/15(水) 07:52:11.05
>>941
4K,16Kのintro系のデモかな?
あれなら最初にWave合成してメモリに波形生成してからwaveoutつかってるよ。
SONARとかそういう物を想定したツールがある。
詳しく知りたいならメガデモを語れスレの過去ログを探すと良いよ。
945デフォルトの名無しさん:2011/06/22(水) 05:24:23.89
HSP厨がスレを私物化してるな
死ねばいいのに
946デフォルトの名無しさん:2011/06/23(木) 00:40:55.48
>>932
動かんどー


DirectX Error

DirectX 9.0 installed (589824). Requires DirectX 9.0c (October 2006) or later.


---- 環境
VMware+XPSP3+DX9c
DirectX バージョン:DirectX 9.0c (4.09.0000.0904)
947デフォルトの名無しさん:2011/06/23(木) 22:29:44.59
>> DirectX Error
>> DirectX 9.0 installed (589824). Requires DirectX 9.0c (October 2006) or later.

これは、DirectXが最新版になってない事を意味する。最新版に更新する。
DirectX9cに多くの種類がある、最新版を使えば全部を包括する。

マイクロソフトサイトからDLする
http://www.microsoft.com/downloads/ja-jp/details.aspx?FamilyID=2DA43D38-DB71-4C1B-BC6A-9B6652CD92A3
ランタイムを最新版にする。

これでもよい
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=8109
948デフォルトの名無しさん:2011/06/27(月) 18:41:28.64
回転軸を表すのに(1,0.0.0)はOKで(1,0.-0.0)が強制終了するんだけど
+0.0と-0.0ってバイナリでは異なるの?
不動少数のフォーマットがいまいちわからん
949925:2011/06/27(月) 19:24:34.36
お前のフォーマットが分からん
950925:2011/06/27(月) 19:30:04.86
バイナリレベルでは異なっているのは確か

異なってなければ、例えば次の計算ができない
x/+0 = +∞
x/-0 = -∞

ただ、強制終了の根本原因はまず間違いなくそこじゃないと思うぞ
もっと前だ
951925:2011/06/27(月) 19:35:13.73
>>950
ごめん、この計算結果は x の値の符号に依存するな
ともかく、+0 と -0 で異なる計算結果が得られるんだから
バイナリレベルで異なっているって事だ

浮動小数点のフォーマットは Wikipedia でも見れば分かる

しかし、繰り返すがバグの原因はそこじゃない
952デフォルトの名無しさん:2011/06/27(月) 22:06:29.32
それ、オイラー角かなんかなんだよね?もしかして方向ベクトル?

アークタンジェント関数(atan2)とか、
ライブラリによってはゼロの符号次第で劇的な差異が出る関数もあるけど…
953デフォルトの名無しさん:2011/06/27(月) 23:15:23.46
normalize(A)=A/sqrt(A)
これであってる?
954948:2011/06/27(月) 23:55:46.37
Wikipediaをじっくり見ましたが、+0.0と-0.0では仮数部と指数部が両方共0でサインビットだけが異なるようです。
これで何で違いが出るのかはさっぱりわかりませんが、そう言うものとしてあきらめます。
私の完璧な推理によればぐりぐり視点を動かしてたまたま-0.0を食わすと死ぬです。

955デフォルトの名無しさん:2011/06/27(月) 23:57:59.58
不連続点
956デフォルトの名無しさん:2011/06/28(火) 02:58:36.74
なんかでアサートかけてんのかねえ
957デフォルトの名無しさん:2011/06/28(火) 08:47:21.06
0じょさん
958デフォルトの名無しさん:2011/06/28(火) 20:31:41.30
>>935
Windows7sp1の対策をしてみた
http://www1.axfc.net/uploader/Sc/so/249735
959デフォルトの名無しさん:2011/06/30(木) 16:08:16.70
>>947
ごめん。返事忘れてたけどそれで動きました。

XP用はもう2008年くらいのしかないと思ってた。
960デフォルトの名無しさん:2011/07/01(金) 23:42:10.92
2Dの等高線に高さを与えて3Dの形状を作成したいのですが、
参考になる資料、ライブラリはありますか?
matlib使えば出来そうなのですが、
他に良さそうなのを探してます。
961デフォルトの名無しさん:2011/07/02(土) 16:53:16.37
それぐらいなら自分で作れない?
962デフォルトの名無しさん:2011/07/02(土) 21:39:49.24
カクカクの形状なら出来そう。
963デフォルトの名無しさん:2011/07/02(土) 22:25:59.59
>>960
2Dの元データの等高線はどういう記述なのかわからんのじゃ堪えようもないじゃろ
ハイトマップ->3Dメッシュなら参考資料いくらでもあるし。
964デフォルトの名無しさん:2011/07/02(土) 22:27:46.14
こんな感じですか?
http://www1.axfc.net/uploader/He/so/330477

Height Map : ビットマップファイルの色の濃淡により、標高を示す。
965デフォルトの名無しさん:2011/07/02(土) 22:40:24.07
2Dの元形状はポリラインで高さを与えて3Dメッシュにしたいです。
966 忍法帖【Lv=16,xxxPT】 :2011/07/02(土) 23:19:30.06
>>965
2Dメッシュをポリラインとの交点で分割して、できた四角形、五角形を必要なら更に分割するんじゃダメなの?
967デフォルトの名無しさん:2011/07/02(土) 23:45:15.29
分割して出来た頂点の高さを補間しなければいけないので、
何処かに良いライブラリや参考資料があればうれしいのですが。
968デフォルトの名無しさん:2011/07/02(土) 23:56:21.19
>>967
元データと、利用目的を明確に提示せよ、
 そうしなければ曖昧な回答しかできない。
また、ビジネスなのか? 娯楽趣味の範囲なのか?

2D−CADデータから3D−CADデータへ変換して、ポリゴンへと変換する。
日本地図などは、実測標高データから変換する。
目的によって方法が異なる。
969デフォルトの名無しさん:2011/07/06(水) 22:07:42.50
http://jsbin.com/ubiyay/3/edit#source
こっから引っこ抜いてきたレンダリングのためのグラデーションコードだけど、
グラデーションって再帰じゃなく、ループで綺麗に書けないの?
 Gradient:function(plotter,vert1,vert2,vert3)
 {
  var Subdivision = function(deeps,vertex1,vertex2,vertex3)
  {
   if(0 >= deeps)
   {
    var mcolor = Torigon.ColorMix(vertex1.Color(),vertex2.Color(),vertex3.Color());
    Torigon.Solid(plotter,mcolor,vertex1,vertex2,vertex3);
    return;
   }
   var half_vertex =
   [
    vertex1.Add(vertex2.ToVector(vertex1).ScalaDiv(2)),
    vertex2.Add(vertex3.ToVector(vertex2).ScalaDiv(2)),
    vertex3.Add(vertex1.ToVector(vertex3).ScalaDiv(2))
   ];
   half_vertex[0].color = Torigon.HalfColorS(vertex1,vertex2);
   half_vertex[1].color = Torigon.HalfColorS(vertex2,vertex3);
   half_vertex[2].color = Torigon.HalfColorS(vertex3,vertex1);

   --deeps;
   Subdivision(deeps,vertex1,half_vertex[0],half_vertex[2]);
   Subdivision(deeps,half_vertex[0],vertex2,half_vertex[1]);
   Subdivision(deeps,half_vertex[2],half_vertex[1],vertex3);
   Subdivision(deeps,half_vertex[0],half_vertex[1],half_vertex[2]);
  }
  Subdivision(5,vert1,vert2,vert3);
 }
970デフォルトの名無しさん:2011/07/09(土) 15:41:04.81
>>969
君にとっての綺麗の条件はわからんが、例えばビデオチップでポリゴンを書くときに再帰で実装されているわけがない。
http://en.wikipedia.org/wiki/Digital_differential_analyzer_%28graphics_algorithm%29
971デフォルトの名無しさん:2011/07/10(日) 02:48:56.02
>>970
綺麗ってのは分岐が少ないことかな。

ま、それはともかく、再帰なしで書くことが理屈上可能なのは解るが、
現実どう書けばいいか解からんのよ。
972デフォルトの名無しさん:2011/07/10(日) 12:30:20.79
グラデーションを再帰でかいたことないな、、、
973デフォルトの名無しさん:2011/07/10(日) 13:07:01.53
>>971
リンク先読んでもわからないの?
ブレゼンハムはわかるの?
ブレゼンハムを検索して理解できないなら、説明には小冊子を書くくらいの分量は必要になるから、掲示板で質問して答えを期待するのは難しい。面識のある人に聞くべき。
974 忍法帖【Lv=22,xxxPT】 :2011/07/10(日) 13:29:49.86
面識のある、見識のある人に聞かなくちゃだね。
975デフォルトの名無しさん:2011/07/10(日) 14:16:49.04
>>971
せめて線形補間が分かれば遅くとも書けるぞ
976デフォルトの名無しさん:2011/07/10(日) 18:34:43.21
とりあえずスクリーン座標で x1 < x2 かつ y0 < y1 = y2 な場合で
for y in [y0..y1] {
r_y = (y - y0) / (y1 - y0)
x_left = terp(x0, x1, r_y)
x_right = terp(x0, x2, r_y)
col_left = terp(col0, col1, r_y)
col_right = terp(col0, col2, r_y)
for x in [x_left..x_right] {
r_x = (x - x_left) / (x_right - x_left)
col = terp(col_left, col_right)
}
}
terp じゃなくてプレゼンハム (DDA) を使えば除算を減らせるので速くなるぞ
977976:2011/07/10(日) 18:44:33.11
969はそういう質問じゃないような気がしてきた。
三角形を細かいメッシュにして色をつけたいなら 969 みたいな subdivision が簡単だし綺麗。
すでに細かくなっていて 3点の色をアンカーにして色を補完したいなら、距離で重み付け補完。
978デフォルトの名無しさん:2011/07/10(日) 20:35:12.09
979デフォルトの名無しさん:2011/07/10(日) 22:26:21.89
>>973
ブレゼンハムは解るよ。元のコードにも書いて(応用したShellingが)あるのも分かるし。
でもグラデーションとは関係なくない?ブレゼンハムで線形のグラデーションは分かるけど、
3頂点のグラデーションて聞かないしさ。
980976:2011/07/10(日) 23:51:33.03
ぅぉぁぅ全然気付かんかった >lerp

981デフォルトの名無しさん
>>979
ポリゴンのラスタライズ、グーローシェーディング辺りを調べるといいぞ
線形補間を3つ同時にやればグラデーションできる
3つ同時ってのは、頂点→頂点の補間を2つと、その間の補間で1つ
まずはラスタライズからだな