1 :
デフォルトの名無しさん :
2006/08/10(木) 04:50:09 DirectXやOpenGL、あるいは言語などにとらわれず、 純粋に3Dグラフィックスのプログラミング技術(アルゴリズムや数学など) について語るスレです。
ずるしてらくしてかれいに2げっとかしらかしら?
3 3
クオータニオンとか頂点ブレンディングとかのスレ?
自前でワイヤーフレーム表示させたいんだけど どんなキーワードでググればいい?
「ワイヤーフレーム描画 DirectX」
「ワイヤーフレーム OpenGL」
glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
>>6 >>7 >>8 いやいやいや、3DAPIを使わない方法をおながいします
>>9 直線を描くのはコレですね
3Dの座標からスクリーンの座標に変換する方法を教えてほしいのですよ
ビュー変換行列 透視投影変換行列 スクリーン変換行列
14 :
デフォルトの名無しさん :2006/09/13(水) 05:27:45
3DAPIを使わないと、ローカル座標上にある物体を 常にグローバルなxyz固定3軸を基準に回す操作が不可能だったような ジンバルロックに悩まされる以前の問題
15 :
デフォルトの名無しさん :2006/09/13(水) 06:19:11
ではまず三次の平方行列から
それは回転した結果で置き換えてしまうからでは?
回転軸を前の回転に依存させないってこと?
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つあるのですか?
は?
>>19 それは同次座標という表現方法で、ただの3次元ベクトルよりも色々と都合がいい。
なぜこの世界は3次元なのに、時間を指定して4次元にしないと待ち合わせができないのですか?
___ _ / ____ヽ /  ̄  ̄ \ | | /, −、, -、l /、 ヽ ・・・・ | _| -|○ | ○|| |・ |―-、 | , ―-、 (6 _ー っ-´、} q -´ 二 ヽ | | -⊂) \ ヽ_  ̄ ̄ノノ ノ_ ー | | | ̄ ̄|/ (_ ∪ ̄ / 、 \ \. ̄` | / ヽ ` ,.|  ̄ | | O===== | `− ´ | | _| / |
>>19 単純に計算の都合だから、深い意味は全く無い。
数学は皆そんなもん。
たとえば (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゜移動処理
そもそも突っ込むところは、14がトンチンカンな事を言っている点だと思うんだが。
>>14 既存の3DAPIを使わないで
自前で同じ処理を書けばいいだけだよ。
不可能なんて事はない。
3D APIがやってることだって、ようは回転行列の計算だもんな。 2×2の回転行列なら高校でも習っただろ? それの3次元版を自前でやればいいだけのことだ。
3D関係は用語が分かり辛いよ。概念が分かってしまえば何の事は無いのに。
>>31 用語が分かりやすい分野って言うと、例えば何?
>>31 が分かりやすい用語で3Dを説明してくれ。
クォータニオンを理解した上で処理を作れる輩なんてあまり居ないだろうな
36 :
デフォルトの名無しさん :2006/09/20(水) 17:23:22
>>26 クォータニオンだと角度は一つしか指定できないしな。
結局は順番に乗算することになるからオイラー角と同じ動きになる。
>>36 先生ノ似たようなオクターニオンはどうですか?
38 :
デフォルトの名無しさん :2006/10/03(火) 11:24:03
角度の話が出てきたのでついでに、 航空機を旋回させる動きを再現するにはクォータニオンと他に何が必要ですか?
39 :
デフォルトの名無しさん :2006/10/03(火) 13:37:11
力わざが一番
40 :
デフォルトの名無しさん :2006/10/03(火) 14:49:58
飛行機の画像
航空力学
Sin Cos Tan これさえあれば3Dは怖くない?
なくてもなんとかなるけど、スマートにいきたいなら四元数も
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/
>立方体の中に入り込んで内部の三次元表示に移る 視野角を狭くするんじゃなくて、カメラを動かしてるってことだな。
懐かしいなあ・・・角度とか。 元ネタ忘れたw
ドムの背中のカタナって、自分じゃ抜けないよな。 ↓ ちゃんと計算されてる。 角度とか。
>>48 ガンダムの話だったのか・・聞かなきゃよかったw
50 :
デフォルトの名無しさん :2006/12/26(火) 08:59:06
グラフや作業工程表を3Dで表示するプログラミングでお勧め環境や勉強書籍ない?
そんな物はない。
そもそも、自由軸回転やるのにクォータニオンは必須じゃない。
>>42 行列は?
53 :
デフォルトの名無しさん :2007/01/04(木) 23:27:39
質問なんですが、日本の大学で 3Dグラフィックスに強い学校ってありますか? 香港人の友達に聞かれたんですが 日本よりアメリカとかの方が強そうなイメージが あるのですがどうでしょうか?
54 :
デフォルトの名無しさん :2007/01/05(金) 00:56:03
>>53 例えば君は本気で日本の大学がMITに勝てると思っているのか?
55 :
53 :2007/01/07(日) 09:31:56
>>54 いや、そこまで極端な話じゃなくて・・・。
>>53 は少し端折りすぎたかもしれないです。
その香港人は3Dグラフィックスを学びたくて
日本の大学に行きたいと言っているのですが
お勧め出来るような大学はどの辺りですかって
事です。
56 :
デフォルトの名無しさん :2007/01/07(日) 14:50:44
CG系の学会を見ていればわかると思うけど、 CGで世界的な競争力を持っているのは東大くらいだよ。
昔は阪大ががんばっておったんだぢゃがのぉ。 ゲホゲホ
58 :
デフォルトの名無しさん :2007/01/07(日) 19:43:05
>>54 思ってる。ただ大学じゃなくてオレがな!!
俺が大学の頃は、CG関係は阪大と岩手大学をよく見た希ガス。 メタボールがまだ新しい技術だった頃の話だが。
何の参考にもならん気が駿河、情報処理学会の論文検索だと、東京大学が検索一致が多いようだ。
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
若いの オラが村では派遣の問題を口にしちゃなんねーだ お前さんはまだわけぇから言いたいこともあるべぇ だべな、派遣問題を口にすると怒る者がおるでよぉ 問題の指摘は駄目だっぺぇ 派遣のことは口にしちゃなんねぇ この村みたいな糞田舎で悲惨な生活するためにはよぉ 駄目のものを駄目と言ってはなんねえだべさ
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の開発者用リファレンスを読めばよい。英語だけど、内容は試してみれば分かる。
68 :
デフォルトの名無しさん :2007/01/17(水) 06:10:07
>>66-67 親切にありがとう。でも仕事の関係でVPythonでなきゃだめなんです。
どうも、自分のパソコンのビデオカードが古すぎたようです。
もうちょっと新しいパソコンでは問題なしでした。
69 :
デフォルトの名無しさん :2007/02/13(火) 00:49:07
質問っす。 【目的】 3D製作ソフトなんかで作成されるマテリアル情報を読み込んで表示させたい。 【質問1】 参考になるページなどがあれば見てみたい(出来れば日本語…) 【質問2】 有効な検索キーワードなどを教えて欲しい 【質問3】 良い本などがあれば紹介してほしい 以上です。
>>69 【目的への返答】
それは会社の1プロジェクトとしてやってもかなりの時間と苦痛を伴うことだ。
できない会社はこれができないままだ。
シェーダで凝ったことなんてしないで組んでるところは結構ある。
しかも、研究するには莫大(個人からすると会社だと大したことないプロジェクトの合間にでもみんなでやればおk)な金が必要になる。
【質問1】
俺が調べた感じでは国内では無い。皆無といっていい。
【質問2】
maya 3dsmax xsi
でも多分みつからんと思う。
【質問3】
国内では本無し・サイト無し
同人レベルではスキニングでも掛けられれば御の字ってところ多い。
かろうじてスキニングをかけられるのがrokdeboneとか六角大王と連携するソフトだが
これもスキニングだけなのでもうこの辺に不満があるならぶっちゃけ自分でなんとかするしかない。
すべての答え:海外のサイトなら資料たくさんあるかも!
>>69 Advanced Animation and Rendering Teqniques Alen Watt, Mark Watt供著
ちと古いがレンダリングの基本はコレがいいんじゃないかな。
72 :
デフォルトの名無しさん :2007/02/18(日) 10:11:26
裏切派遣って知ってる? 元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて派遣やってるバカのことw 前の会社を裏切り、結局派遣先からも騙されてる。 そもそも信頼されてるなら直接契約するか正社員にするはずだが、派遣会社経由って舐められ杉 自分でも騙され裏切れられてることは薄々わかってるから派遣問題の話が出るとウッキー!って逆ギレw
>>72 ゲームだと月収20万そこらなので、
普通に直接契約したほうが高額なのはたしかだぞ。
その場合、掛け持ちで月100万とか余裕で超えるから(大抵60万X2とかなる:その場合携帯ゲーム1月で2本ぐらいかな?)
根性あるならやってみるのも吉。と言っておく。ただし、過労で死んでも俺は知らん。
3Dとは関係無いな。この話題はここまで。
74 :
デフォルトの名無しさん :2007/02/18(日) 13:57:38
直接契約でなく派遣会社経由って書いてあるじゃん
>>74 それでも派遣にすると35〜50万になる。(理由:残業代が全額出るから)
多分、中小ITのあまりの賃金の安さに見かねて教えてくれたのだろう。
俺は中小ゲーム会社で働いてたときの賃金が3年目で月収18万の銀行振り込み額12万だったから
単純に2倍ぐらいになる不思議。
50万だとしても何も保障もなしで年収600万にしかならんじゃん お前みたいな香具師が裏切り派遣になるんだよ
77 :
デフォルトの名無しさん :2007/02/19(月) 00:30:26
ボーナス厚生なしww
>>76 だから、月収18万とかで働かされてる奴って以外と多いんだよ。
そういうのだったら別にいいじゃん。
>>77 ボーナスはなかったけど、厚生年金、その他手当てと保険はあったな。
月収18万の方だってボーナスでたって1.2が精々だもん。
どう考えたって派遣のがいいよ。
てか、ゲーム会社の賃金なんてどうやっても派遣の給料に届かないじゃないw 安くてw 人材確保しておきたかったらそれなりの金を出すべきだと思うよ。 せめて、月収30万は出してやれよ。 なんで18万そこらで使ってて裏切りだのなんだのなんて単語が出るんだw 頭悪いのかw 金の切れ目が縁の切れ目と心得るべき。
>>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 運が良かっただけ。何の自慢にもならん 子供相手ならともかく、リアルでそんな事言ってもバカ扱いされるだけ。
月収18万で底辺這い蹲って生きている方がよっぽど身体壊しそうだがw
たまにいるよな、
>>82 みたいなやつ。
過労死ってのは前兆なしに突然ポックリ逝くから気をつけろよ。
人間、みんな一度も死んでみたことがないし、殺した経験もたぶんないから、
どれくらいでヒトが死ぬのかよくわかってない。
87 :
デフォルトの名無しさん :2007/02/20(火) 00:35:12
まあ、履歴書の中身が派遣ばかりだったら、いずれ職には就けなくなって、 ルンペン -> 路上でDQNにボコボコ -> 死亡 -> 無縁仏 -> 人体解剖教材 -> ホルマリン漬け となるわけだがw
>体は何ともなかったぞ。体は。 頭を壊した(鬱)にはなったんだろ
89 :
デフォルトの名無しさん :2007/02/20(火) 05:19:03
>>82 こういう奴に限って、仕事中寝てるとか、
昼出社とか仕事いい加減なくせにこういうことだけ自慢する奴多い。
あんまり相手にしないほうがいい。
武勇伝だけ聞いて信じるのは危険。
実際にそいつと仕事してみると大分違う場合が多い。
普段から会社に泊り込む香具師: のんびり夕飯食べに行き、帰ってきたらWeb見放題。ちょっと仕事したら後は高鼾。 誰か出勤するまで寝た挙句に昼過ぎに眠いと管巻いて早退。 たまに本当に切羽詰って徹夜する香具師: 夕飯はコンビニ、気付くと終電がなくなってるから逆にラッキーとばかりに仕事に集中。 始発まで仮眠を取ったら一旦帰宅して昼前に出社。
ホワイトカラーエグゼンプションとか出てくる理由がよくわかるな。
>>92 エレベーターの中で、
「来月○○が発売されるから、今月は残業代稼ごう」
とか平気で言ってる奴とかいるしな。そういうやつはWEでいいよ。
残業しないと買えないようなものを買うのは、社会人として如何なものかと。 #まさか毎月車を買い換えるわけじゃなし。
96 :
94 :2007/02/20(火) 13:45:24
一応配偶者はいますが何か。 #所謂DINKSだね。
経済的には独身みたいなもんじゃねーか
98 :
デフォルトの名無しさん :2007/02/20(火) 22:21:58
【ネガティブ派遣根性チェック】 3つ以上、思い当たる点があればアナタの性格はひん曲がっており、ネガティブ負け組人生を歩んでいます。 □派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする □派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい □自社に仕事を持ち帰れるように言われるとムカつく □自社で仕事なんてできるわけがない □派遣労働の問題点の話題が出ると感情剥き出しにして反論する □派遣労働の問題を指摘する人は嫌いだ □派遣先には仕事だけでなく自分のプライベートについても指示して欲しい □自分の月額金額を知らないのは当然だ □派遣先社員より自分の生涯収入が低いのは当然だ □派遣先とに尻尾を振り、いつまでも派遣を続けることが大切だ
99 :
94 :2007/02/22(木) 08:38:50
確かに子供育てる気はないし、不健全ですから。
100 :
デフォルトの名無しさん :2007/03/02(金) 09:36:23
ローカル→ワールド変換行列から、ワールド→ローカルの変換行列を求めるのってどうやるの?
逆行列
Graphics Gemsって本の事たまに聞くけど、持ってたら役に立つ物なの? 高いからちょっと買ってみるってわけにもいかないし、10年以上前の本だし…
>>102 他にまとまった資料がないので、手元にあって損は無い、と思っている
>>103 なるほど、確かにまとまった資料って無いですよね。
考えて見ます
ダイレクトXやオープンGL使うと 手動で出来ないとおもうけど やる場合なにつかってやるの? ビデオカードのハードウェア使えないから 処理遅くなるとおもうんだけど どうやってやるの?
君は何の話をしているのだね?主語がないぞ。小学生か?
主語が入るのは話題からずれている証拠だろ 主語は明らかに3Dグラフィックスプログラミングに決まりきったことだが 言った君は何をいってるのかね
108 :
デフォルトの名無しさん :2007/04/09(月) 18:47:38
>105=107は気違いなので相手にしてはいけません
107は別人です 主語はあってます それではお願いします
>言った君は何をいってるのかね 「君」が「言った」ことを「いってる」と思うのだが。
脱線した話題はこれくらいにして そろそろ本題に入ろう
>105=>107は気違い
113 :
デフォルトの名無しさん :2007/04/09(月) 20:54:55
DirectXやOpenGLを使うだけで自動でやってくれるなら 何も苦労しないよなw
115 :
デフォルトの名無しさん :2007/04/10(火) 21:28:53
俺、ほっといたらマインスイーパーできてたわ
それ、寝てる間に小人さんがやってるんだよ
本人に聞けよ
フィルタ係数に画像を使ったんでしょ。
>>117 元のイメージと5の画像を合成しているだけ。
具体的には、ピクセル毎に2枚のイメージの明るい方の値を選んでいる。
それと、その処理全体が「京アニフィルタ」であって、京アニフィルタは
7のステップだけを指しているわけじゃないよ。
5の画像を使ってフィルタを掛けているというより、フィルタをかけるために
5を使っているという文脈。
京アニフィルタはその人の造語で一般的な言葉ではないので、他所で
使わないように。
122 :
デフォルトの名無しさん :2007/04/22(日) 00:56:41
テセレーションについて質問です。 これのアルゴリズムの考え方を教えてもらえないでしょうか?
何もかも丸投げで質問か。 図々しいにも程がある。
>123 何様だよお前
俺様。
俺も俺も!
じゃあ、俺も!
オレだよ!オレ、オレ
俺も漏れも
俺だわ。
これがオレオレ詐欺か
どうぞどうぞ
いやいや、あなたからどうぞ
じゃあ俺が
それテセレーションとあまり関係ない気がするが・・・
catmull crack nurbs
間違えた、catmull clarkだ
139 :
デフォルトの名無しさん :2007/05/19(土) 23:30:38
プログラミングは、20年前に数値計算と結果の可視化を BASICやFORTRANでやっただけだけど、このたび一念発起して、 Visioみたいなソフトを自作してみたい!と思い立ちました。 最初に読むべき書籍は、何でしょうか?
そもそも3Dと関係ない
>>141 バッカ、おめ!
>>139 は3D空間を使ったVisioが作りたいって言ってるんだよ!
俺は絶対に使いたくないけどきっとゴイスーな3DVisioが出来てくるに決まってる!
俺は信じてるぞ!
Visioは普通に3Dで図表とか作れる機能搭載しているが・・
それ何? ポリゴンモデラみたいな機能がついてんの?
146 :
デフォルトの名無しさん :2007/06/11(月) 03:24:32
元々は正社員だったのに取引先にフリーのほうが稼げるとか騙されて 結局派遣やってるバカがいるんだけどw なんか派遣先といい関係、とか言ってたから思わず吹き出しちゃったよw 最近はマネージャーもやってるとか寝言言ってるし、派遣がまねぇじゃぁ?はあ!?w そもそも信頼されてるなら直接契約するか正社員にするはずだが、 いつでも切れる派遣会社経由って舐められてんだよ 派遣期間が長くならないうちに早く就職しろ、と忠告したら、ウッキー!って逆ギレw バカで頑固だから何度言っても理解できない 騙されたとはいえ結局は自分で決めて派遣やってる癖に逆ギレしちゃってまぁ 人間として本当に恥ずかしい
>>146 >派遣がまねぇじゃぁ?はあ!?w
事実は小説より奇なり
コピペにレスすんなカス
球面調和関数使ったPRTのやり方誰か教えてください
∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < PRT!!! ⊂/ 9) \____ q( / > >
151 :
149 :2007/06/19(火) 23:02:41
ddofile5253.zip comment:RFX KEY:4649 余弦項をピクセルシェーダーで表示するプログラム?を書いてみました (ATI RenderMonkey 1.62で) 視線方向のベクトルを頂点の法線として、(面の位置-カメラの座標)との内積 を求めて表示するプログラム・・・のつもりですがどうでしょうか。 ZIPの中のファイル名 余弦項.rfxにしといた方がよかったかも
152 :
149 :2007/06/19(火) 23:03:42
ddofile5263.zip RFX2 KEY:4649 Sphereに対して余弦項を求めるよう修正
∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < SH!!! ⊂/ 9) \____ q( / > >
>>151 ダウンロードキーが一致しません。>4649
>>156 こんなの渡されたってどうしろっていうのよw
ほうほう、ピクセルシェーダで余弦を計算したみたいですね。 お疲れさまです。
少しでもプログラマとしての意地があるなら サンプルプログラムぐらいは付けてみろ
rfxってRenderMonkeyか
どうやって実行するのか謎ぷー
レンダーモンキーなんてここ5年くらい触ってないや
>>164 口を慎みたまえ。君は楽太郎の前にいるのだ
167 :
166 :2007/06/29(金) 00:02:25
>>167 149じゃないけど「紫色の英語の本」の題名がわかったら教えてください。
PRTってなーに
紫ってAdvanced Lighting and Materials with Shadersじゃね?
源氏物語じゃね?
そりゃ式部
173 :
166 :2007/06/29(金) 23:44:05
PRTってなんですか?
∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < PRT!!! ⊂/ 9) \____ q( / > >
178 :
デフォルトの名無しさん :2007/07/01(日) 21:50:59
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。 派遣契約を切られたにもかかわらず「今の派遣契約では生活できません」などと 言って泣き落としで再契約した派遣のことです。 今月初め、半年前に辞めた派遣が出社してきてみんなびっくりしました。 影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・ そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。 派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず 複数の会社を渡り歩いてください。 ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。 身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、 いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、 契約終了を通知されれば泣き落とし。悲惨な人生ですね。 氏んだほうがいいんじゃないですか。
179 :
デフォルトの名無しさん :2007/07/01(日) 21:59:23
>>178 意味がわからない
>派遣契約を切られたにもかかわらず
これは外勤先との契約が切れたでいいんだよね?
>「今の派遣契約では生活できません」などと言って泣き落としで再契約
はぁ?契約切れてるのにどういうこと?
契約切れたから再契約したんだろ? 何の問題も無いじゃん 契約切れてないのに再契約するのか?
>>180 >「今の派遣契約では生活できません」
これ↑、外勤先に派遣会社との契約内容について語って泣き落としをしてるってこと?
糞文章でわかりにきぃよ
だったら別に派遣会社にとってみれば仕事自分でとってくる優秀な奴だってことだろ?
外勤先だって納得して入れてるんだし何が問題なんだ?
182 :
デフォルトの名無しさん :2007/07/01(日) 23:44:23
最近、職場で「出戻り寄生派遣」という言葉が囁かれています。 派遣契約を切られたにもかかわらず「次の派遣先でも切られてしまって生活できません」 などと 言って泣き落としで再契約した派遣のことです。 今月初め、半年前に辞めた派遣が出社してきてみんなびっくりしました。 影でコソコソ偉い人に泣きついて再契約したそうです。同じ部署の人には黙って・・・ そんなことまでして自宅の近くの派遣先にこだわって人間として恥ずかしくないのですか。 派遣でスキルアップ、派遣で収入アップとか言うなら一箇所にしがみつかず 複数の会社を渡り歩いてください。 ひとつの会社で派遣向けの単調な仕事をしていたらスキルアップなんてありえないでしょう。 身分不相応な商品のローンを払うために派遣だと当然足りない収入は親にも寄生して、 いつ切られるんじゃないかとビクビクしながら人事権のある人間とだけ仲良くし、 契約終了を通知されれば泣き落とし。悲惨な人生ですね。 氏んだほうがいいんじゃないですか。
社員でも派遣でも出戻り認める会社って相当腐ってるよな
出戻りなんて普通だけど、 この業界じゃ、押してるときにトンズラしても、 あとでしれっと戻ってる、なんてとこもあるからなあ
189 :
デフォルトの名無しさん :2007/07/03(火) 08:19:16
大企業じゃ二度目の入社は認めない規則になってるのが普通
退社理由による。
>>184 出戻りって結構あるよ
まあ辞めるときはちゃんと引き継ぎして
きっちり好感印象のまま辞めるように
しなきゃいかんよってことじゃないかな
俺の会社じゃ出戻りは就業規則で明確に禁止 研修で聞いた話だと組織運営の基本だそうだ
転職した会社が元の会社にM&Aされたら、即効お辞め頂くのかい?
194 :
デフォルトの名無しさん :2007/07/05(木) 02:00:43
政治活動で退社して戻るなんてのは普通にある
ねーよ そもそも、てめえの意思で辞めたくせに恥知らずもいいとこ
会社の組合から立候補に出して、その際に退社 その後復帰ってのはあるって。 世間知らずは黙ってろ
会社の決まりじゃなくて、自分の感情で決めつけてる人がいるね。 そんなに出戻りがいやなのかね。 そりゃ自己都合でやめたやつはそうそう戻ってこないだろ。
退社して立候補して落選したら復社するのかよ きっと選挙中は退社で排水の陣で臨んでます とか言って同情票集める目論みなんだろう そういうのを恥知らずの詐欺死と言うんだよ
公務員でさえ立候補と同時に職を失い、復職はできないと公務員法できめられている 出戻りOKって一体どういうお遊び会社なんだよ
なにこのマ板状態(笑
出産とか長期療養だと一時退職ってのはありだがな。 転職じゃありえんだろ。
バックレOK、偽装請負どんと来い! みたいな業界じゃしょうがないような気もする
204 :
デフォルトの名無しさん :2007/07/05(木) 20:11:38
>>202 そりゃ産休とか長期休暇だよ
一度辞めてまた雇ってくれ、と言ってくるような恥知らずとは根本的に異なる
そろそろPRTについて語ろうぜ
そろそろ出戻りがダメだという論理的な理由が出て来ないかな。 恥知らずとか組織運営の基本とかじゃ理由になってないよね。 社内で積めない経験をしてきている上に自社の仕事の仕組みも 理解してるから、ウチの会社ではむしろ歓迎されてるんだけど... 感情的になってでも出戻りを否定したい理由を教えて欲しいな。
俺より出来るから追い出したのに、 上司のコネ使って、また戻ってきやがって・・・。
公務員は税金もらってるから槍玉にあがりやすく、仕事以外厳しいんだがそれを理由に上げられても・・・・
まともな就業規則がある会社で出戻り禁止してないとこなんてあるのか?
>>209 の勤めてた会社がまともじゃないんだろう
>>210 お前の会社って社員数何人?
社長と社員がおまえ1人とかそういうレベルの会社なんじゃね?
そういえば、こないだ電話機出したとこも創業者が追い出されてCEOで帰って来てたな。
>>209 は「まともな就業規則がある会社なら出戻り禁止してる」という
当たり前のことを言ってるだけなのに
>>210 は何に対して突っかかってるんだ?
出戻りをわざわざ規則でうたってる会社なんてどんな小さい会社なんだ?
出戻りが気に入らないから煽ってるだけで、 そんな規則がわざわざ書いてあるとこなんてないだろw
>>214 >創業者が追い出されてCEO
創業者もCEOも従業員じゃなくて経営者だから
そもそも従業員が対象の就業規則はあてはまらない
それを言うなら国を指摘したらどうだ? 米国じゃあっちこっちの会社を行ったり来たりするのは普通だろ。 日本ではそんなに会社移ることが少ないから目立たないだけ。 もちろん、どちらの国でもそんなアホな規則は作らないけどな。
>>215 それが当たり前という感覚がおかしいから突っ込まれているのだろう。
現に出戻りするメリットを論理的に説明出来ていないし。
単純に言えば、出戻り禁止は会社を辞めさせない為の規則だよね。
もう二度と戻って来れないという縛りを設け、辞職のハードルを高める
事で、社員を会社に縛り付ける為の方便。普通の会社なら、働き易さ
とか待遇の良さ等の職場の魅力で従業員を繋ぎ止めておく物だけど、
それが出来ない様な会社であれば、そういう方策も有効かもしれん。
∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < PRT!!! ⊂/ 9) \____ q( / > >
よし、PRT!
何事もなかったかのようにPRTの話がはじまるよ↓
光源の移動だけはどうしようもないんだよな。
227 :
デフォルトの名無しさん :2007/07/08(日) 22:41:10
PRTと出戻り派遣はどういう関係があるのですか?
ありません
大気の射光加減はどうしたらできますか?
遮光
231 :
149 :2007/07/20(金) 23:32:23
シェーダーなくしちゃった
232 :
149 :2007/07/21(土) 00:00:54
がんばれー
ディフューズ伝達はただの内積だよ なんで内積でOKなのかくらいは数式的に理解してから実装しようね
236 :
デフォルトの名無しさん :2007/07/23(月) 00:56:07
質問です. GPU の HW アーキテクチャについて勉強したいのですが,書籍でいいのありま すか?(洋書可)
gpugems
>>237 もうちょと HW の設計についてトップダウンで書かれたものがいいんですが...
どの程度の情報が欲しいのか具体的にお願いします。
【派遣ネガティブ根性チェック】 3つ以上、チェックがつけばアナタの性格はひん曲がっており、 ネガティブ負け組派遣人生を歩んでいます。 □派遣先正社員の作った糞開発ツールはたとえ腐っててもマンセーして使う □派遣先の人事権のある社員の意見はたとえ間違っていてもマンセーする □仕様とは正社員から口伝されるものだ □耳で聞いた仕様を正確に覚えていないのは自分の責任だ □昼食は必ず派遣先の社員と行くべきだ □自分の仕事で問題が発生しても解決するのは派遣の仕事ではない □派遣先から「いつまでもここで仕事してくださいね(安い金でw)」と言われて嬉しい □自社で仕事なんてできるわけがない □派遣労働の問題点の話題が出ると感情剥き出しにして反論する □派遣労働の問題を指摘する人は嫌いだ □派遣先には仕事だけでなくプライベートについてもグイグイ引っ張って欲しい □奢ってくれる派遣先正社員を尊敬する □自分の月額金額を知らないのは当然だ、単金を聞いてはいけない □派遣先正社員より自分の生涯収入が低いのは当然だ □チビは派遣先にかわいがってもらいやすいから派遣には有利だ
241 :
238 :2007/07/23(月) 21:04:27
>>239 ヘネパタの Computer Architecture を GPU にとっかさせたかんじのやつです.
エピ曲線とか、そういう話題はここのスレに含まれるの?
243 :
149 :2007/07/24(火) 18:24:40
>>235 >なんで内積でOKなのかくらいは数式的に理解してから実装しようね
なんで内積でいいの
PRTの前計算プログラムを作ってるけど計算に20〜30分かかっている・・
遅杉?頂点数は18,000ぐらい。
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とか使えばたぶんもっと速くなる。
どう見ても間違ってると思う
エッジ部分が変だなw 遮蔽項等の計算をするときは、データ上は共有されてないが 同じ位置にある頂点(何かいい呼び名ある?)も共有させて 計算しないと駄目だよ。
>>248 >同じ位置にある頂点(何かいい呼び名ある?)も共有させて計算しないと駄目だよ。
???
メッシュのデータは頂点のデータと頂点インデックスとに別れていて、
計算時及び表示時は頂点データの方を参照しています。
ソースの方は色々試してみた跡があって滅茶苦茶なのでまた今度に・・ 描画には3Dエンジン「Irrlicht 1.3.1」を使っています。
>>248 要するに、頂点インデックスのあるメッシュデータを用いて遮蔽項の計算をしているから
同じ位置での遮蔽項を何回も計算したりなんて事にはなっていないはず、
と言いたかったんです
254 :
デフォルトの名無しさん :2007/08/10(金) 18:08:04
age
245です ソースざっとみました。 今ん所特におかしい所は見当たらないです またヒマが出来たら眺めてみます。
あとあと、 今更ながら動画見た。 影の動く方向と光源の動く方向が異なってるのが怪しい SHの座標系とsceneの座標系合ってますか? Z-upとY-upは統一してる? D3DXSH系はなにげにZ-upだったよ
257 :
デフォルトの名無しさん :2007/08/12(日) 16:06:53
ポリゴンについてです。 ○−−−−−○−−−−−○ | | | | | | | | | ○ A ○ B ○ | | | | | | | | | ○−−−−−○−−−−−○ という頂点を持つ隣接した2つのポリゴンを、 ○−−−−−○−−−−−○ | | | | | | ○ C ○ | | | | | | ○−−−−−○−−−−−○ 一つのポリゴンにする為には、 どのようなアルゴリズムが必要ですか?
>>257 1〜N辺を共有してればなんでもいけんじゃね?
凹とか凸とか関係ないっしょ?
259 :
デフォルトの名無しさん :2007/08/12(日) 19:00:13
AとBで共有している点と辺は、データ上も共有されているの? それとも共有されていることを見つけるアルゴリズムが知りたいの?
261 :
デフォルトの名無しさん :2007/08/12(日) 19:17:16
AとBで別々で頂点を持っています。 二つの一次元配列に各頂点が納められているイメージです。 やりたいことは、隣接している複数のポリゴンを 一つのポリゴンに変換したいのです。 隣接している頂点(同一地点がある頂点?辺?)、 変換後に不要となる頂点の判断が必要かなと考えてみるのですが。
凸多角形にこだわらないなら簡単だな
263 :
デフォルトの名無しさん :2007/08/12(日) 19:24:07
空間は三次元かね?(スレタイからするとそうだが・・・) 3点でつくる三角形は必ず平面になるが、 4点以上は平面にならないことは分かってるかな
265 :
デフォルトの名無しさん :2007/08/12(日) 19:26:00
>>264 2次元です。(スレタイから外れますが。。)
Z座標は無いですね。
頂点数の見込みは? AとBは2つだけ?それともまだ他にある?
多角形の凹凸を気にしないなら簡単だね。
268 :
デフォルトの名無しさん :2007/08/12(日) 20:37:20
複数面を想定しています。 凸凹を気にしないとは?
>>268 たとえばこういう場合はどうしたいの?
統合したら凹多角形になるけど
○ ○
|\ /|
| \ / |
| \ / |
| ○ |
| A |. B .|
| | |
○───○───○
270 :
デフォルトの名無しさん :2007/08/12(日) 20:47:00
○ ○ |\ /| | \ / | | \ / | | ○ | | A B .| | | ○───○───○ ですね。 要は複数の面が一つの面になるようにしたいです。
凹凸を気にせずに単に外周をとりたいということか
274 :
デフォルトの名無しさん :2007/08/12(日) 22:14:57
>>271 そうなりますね。
>>272 ググってみましたが、
ちょっと理解しずらいです。
今回のケースの場合、
どうすればよいのでしょうか?
2つの形状が必ずぴったり隣接してるのなら、表裏だけ違う同一の2面を単に取り除けばいいんじゃないか。
>>274 条件が少なすぎる
Z座標はなくてもUVとか全部ずれるぞ
もっと全体のやることを掲示してくれ
後付けでZはありませんとか大事なこと後だしで出してるところからいって
お前が重要だと思い込んだ内容しか出せてないだろ?
この状態で返事はできん
277 :
デフォルトの名無しさん :2007/08/12(日) 22:34:40
>>275 隣接しています。
(ぴったり隣接しなくても結合できる方法があれば知りたいです。)
取り除きたいのですが、
隣接(=頂点が同一で2点以上になる辺)の
部分の判断方法がわからないのです。
例では2面だけ示していますが、
複数の面が隣接するケースもあるとしてください。
>>276 言葉たらずですみません。
条件ですが、
・2次元(2D)
・複数の面が空間上に存在。
・面は全て同じ頂点でなく、いろいろな凸凹面が存在。
・1つの面の頂点数は10〜100程度になりそうです。
・それぞれの面で隣接しているオブジェクトを一つの面として変換。
です。
>>277 くっついてるかどうか見るのは辺だけじゃないの?
まず、点・辺・面の定義について勉強してくれ。 用語の使い方が間違ってるから、言ってることがめちゃくちゃ。
でも正直もうちょっと勉強してから質問した方がいい気はする・・・ 今の状態で解るように説明するのって難しいんじゃない? 案外用語整理したら解き方思いつくかも
282 :
デフォルトの名無しさん :2007/08/13(月) 00:21:57
>>279 すみません。
明確なことは「二つの面を一つの面に変換する」です。
>>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のどちらか)は
外周として扱わないと、同一の面は維持できないですよね。
両方の頂点座標で同一の座標値を持つインデックスを走査したとして、
それが共有頂点で外周として扱う必要である頂点か否かの判断方法が
思いつかないのです。
>>286 そりゃなんとかなりそうじゃねぇの?
だって条件があるじゃん
頂点が共有頂点にしかつながってなかったらそれは消滅候補だな
とりあえず上の条件だけで共有頂点をとっぱらって循環してない共有頂点も消滅候補だな
で、だいたい消えるんじゃねぇの?
つか、紙に書いて考えてみた?
最終的につながった形がでけー四角形に穴が開いてる形になったらどうすんだろうな?
元質者は具体例のイメージができてナインジャマイカ?
ここまでの議論をまとめればレポート完成です。 ありがとうございました。
俺が教官なら、この程度の内容じゃ「不可」だな。
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) としたいんですけどね。
>>288 でも出てるけど、
○───────○
|\ C /|
| ○───○ |
| \D / |
| ○ |
| A |. B .|
| | |
○───○───○
(Dは領域外)
の場合はどうするの?
○───────○
| C |
| ○───○ |
| \D / |
| ○ |
| A . B .|
| |
○───○───○
これでいいのか?
ダメだこりゃ。
295 :
デフォルトの名無しさん :2007/08/13(月) 23:25:08
○───────○ | | | | | | | | | | | | ○───○───○ ですかね。
すげぇ、gdgdだぜ。
○───────○ | C || ○───○ | | \D / | | ○ || A B | | | ○───○───○
もうなにがなんだか
○───────○ | C | | ○───○ | | \(^o^)/. | | ○ | | A . B .| | | ○───○───○
○───────○ | | | ○ | | /(^o^)\ .| | ○───○ | | フッジッサーン | | | ○───○───○
>>292 ていうかお前、仕様が確定してない状態っしょ?
具体的に言え、何をどうしたいからそんなことやってんだ?
面をくっつけたいのはわかった、でも、
それだけの条件だと多角形なんてもんで表せない図形になるでしょ?
網目みたいな簾みたいなもんだってできるわけじゃん
俺は、正直、こんなもんの用途なんて無いと思ってる
外枠も糞もドット絵で白黒表現したほうがよっぽどはえーぐらいだよ
だから、俺が知りたいことは「面をくっつけたい」って部分じゃなくて
「なんのために」面をくっつけたいのか?って部分なんだよ
絶対そっから仕様が確定するはずなんだ
いまの質問は限りなく無駄なことをしてるとしか思えない
>>292 合成した後、共有してる辺を消したときに繋がって無い辺(図形を構成していない辺)だけが残る
ときがあると思うからそれを消すためのもん
紙に書いてみればわかる
あ、 >循環していない共有頂点とは? に対しての返答ね
304 :
デフォルトの名無しさん :2007/08/14(火) 09:54:17
NURBS同士の交点を求めるにはどうすればいい? っていう質問はどこですればいいでしょうか?
ここの連中は頭悪いから無理 もう少し真面目なところを探しな
例えば? 数学板行ってみたんだがカオスだった。
>>304 そういえば、2次元の幾何学系のスレってム板にないな。
ちなみに自由曲線の交点を求めるのは、ニュートンラプソン法を使うのが一般的。
>>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
遠くにあるもののマップは小さくするとか
>>310 キューブマップを描画のたびにオブジェクトごとに更新してるってことなんかな?
いや、ようわからんけどw
俺、マップ(シーン?ワンフレではない)で共通のキューブマップしか 使ったことねぇからさっぱりわからないや 拡大具合によっちゃワンフレ更新も意味あるけど、 そんなオブジェクトが3体も入るようなカメラでオブジェクトごとのキューブマップなんているのか? かなーり近づいてキャラの表情が物体に映りこむぐらいしないと演出としてあんま意味無い希ガス
>309 参考までにその完璧な屈折エフェクトを見てみたい
315 :
デフォルトの名無しさん :2007/08/14(火) 22:44:26
あれは疑似屈折だぞ。
つーことはバックバッファをとってきてテキトーにずらして描画するタイプ?
まちがった そのページから「次へ」を押してくれ。
319 :
デフォルトの名無しさん :2007/08/14(火) 22:59:21
>>301 GISで多角形で構成される地物を一つの地物に変換したいです。
面の中が空の物は作る必要はありません。
二つの面から外周頂点を求めるアルゴリズムが知りたいです。
レースゲームのボディの映り込み用のキューブマップとかって 毎フレーム更新してたりするの?
321 :
309 :2007/08/14(火) 23:50:01
>>310 キューブマップは6面あるので
6回描画しなければいけません。
>>311 それはすぐに出来そうな方法なので
試してみます。
>>313 凄く近いオブジェクトは動的キューブマップ
それ以外のオブジェクトはシーン共通の静的キューブマップ
こんな形で使い分ける感じでしょうか。
>>314-316 アービターの異端者制圧のステージで
味方のキャラが光学迷彩をした際、
背後の死体もちゃんと透けていたんで
まじめに処理しているのかなと思ったんですが
擬似なんですかね・・確かに反射を含まない屈折だけなら
その方法でいい感じにいけそうな気がします。
そうだよな? 俺、3Dのゲーム組むようになってから最適化したことねーしw ストリップ化だってやったことねぇw 最適化するぐらいならポリ数と塗り面積落とすわw だって見た目全然かわんねーもん
NURBS曲線・曲面を扱いたいのですが、ライブラリとかないでしょうか? 2Dのみでもかまいません。
ごめんgluだった
325です。 表示にはgluをつかう予定ですが、表示しかできません。。。 途中の点の座標とか面の向きを知りたいのですが。 Cから使いたいのですが、DLLとかになっているものでも かまいません。よろしくおねがいします。
調べたところ、gluNurbsCallback等がありました。 ありがとうございます。 たとえば、Nurbs面と交わるz平面の交線を抽出する ことなどは可能でしょうか。
無理
Parasolidカーネルってどこで買える?
そしてハウマッチ?
335 :
デフォルトの名無しさん :2007/08/21(火) 23:30:25
質問です. 3D プログラミングに興味を持って,「リアルタイムレンダリング」を読んでい るのですがクォータニオンが良くわかりません.具体的には,42 ページで脱落 しました. こんな人間がクォータニオンを理解するのによい書籍等はないでしょうか?
339 :
338 :2007/08/24(金) 22:15:48
とりあえず、表示に必要な前計算をやりたいです
がんばって!
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が上がれば上がる程レンダリング結果がよくなっていますが。
くっ・・俺はこの論文を、ただ眺めていることしか出来ないのか? こんな事じゃ、いつまで経っても実装に移れないというのに!
KはBRDF関数をSVDで分解して近似したときの項数だろ
そうなんだ
345 :
338 :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に期待している。
SVDとかWaveletは数値計算ライブラリを使って計算するつもりです。 ライセンスがGPLなのが気になりますが。GPLよくわかんないので。
分解する前に、BRDFをどうやって用意するのか・・
>>348 論文ではAshikhmin-ShirleyやLafortuneのモデルを使ってますよ☆
このままじゃ挫折します HELP ME!
>>350 どんな行列を分解するかなんて論文見渡せば10秒で見つかるだろカス
>>338 を読むための前提知識が足りなすぎる
線形代数からやりなおせ
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分解できないと先に進めない・・
おまえは英語も駄目だな
分かるかこんなの!
358 :
デフォルトの名無しさん :2007/09/03(月) 10:38:15
すみませんでした
360 :
デフォルトの名無しさん :2007/09/10(月) 22:02:51
(´・ω・`) ショボーン
スクリーン座標→ワールド座標の変換をする関数を作りたいのですが(D3DXVec3Unprojectみたいな)、 これどういう風に計算するんですか?教えてください もしくはどこか参考になるサイトがあれば。逆の場合なら解説しているサイトはたくさん見つかるんですけど…
362 :
デフォルトの名無しさん :2007/09/12(水) 12:20:28
投影行列の逆行列を求めて、座標を表すベクトルを掛ける。
364 :
デフォルトの名無しさん :2007/09/12(水) 12:45:08
>>358 アドバイスできないなら、ひっこんでろカス
傍で見ていても不快になる殺すぞ!!
∧_∧ / ̄ ̄ ̄ ̄ ( ・∀・) < PRT!!! ⊂/ 9) \____ q( / > >
3Dアクションの当り判定って一般的にはどうやってとってるの? 進行方向ベクトルのさす1点がポリゴンに交差しているかだけを 見ると、曲がり角に肩をぶつけるような状況の時に抜けちゃうと 思うんだよね。進行方向から扇状に何点か見る感じですか?
モデルを構成する全ポリゴンと交差判定すればいい
それ重杉でしょ…。
当たり判定用のモデルを用意したら良いんじゃないの。単純なフォルムの奴を。
ポリゴン同士の交差判定は出来ればしたくないなぁ。 「辺の数」+「辺の数」x「線分とポリゴンの交差判定」を 「モデル1のポリゴン数」x「モデル2のポリゴン数」 やるわけでしょ?重いなぁ。
こまかいけど、 「辺の数+辺の数」x「線分とポリゴンの交差判定」ね。
単純図形でとる
単純図形で取ってもさ、早く移動する物体だと検出すりぬけちゃうでしょ みんなどうやってるんだろう
もまいらおはようさん。 この話ってキャラとBGの当りのことだよね?確かに一般的な 方法論があるか気になる。やったこと無いけど、円(球)とモデルの 当り判定は軽く正確に取れないのだろうか。
>>376 ゴメン、どの辺が素人考えなの?その当り、素人で無い人は
どんな感じでやってるの?
素人じゃない人は
>>376 に載ってるような方法(or さらに発展したもの)をやってると思う。
衝突判定とか詳しく勉強したいなら買っておいて損はない。
おおざっぱに説明すると
1, キャラの境界箱みたいのをあらかじめ作る。
2 空間を分割
3 各分割した空間にどんなキャラがいるか調べる。
4 キャラと衝突するのは同じ空間または隣接する空間にいるキャラだ
5 4で衝突する可能性のあるキャラ同士を集め、1で求めた境界箱の衝突チェック
5 境界箱が衝突したらもうちょい細かいモデルで衝突チェック
詳しく知りたい人は BVH(bounding volume hierarchy),
BSP treeとかググればいいかも
>>378 境界球とかBoxで処理切るのとか、視推台との位置関係で
表示に関係無いモデルの座標変換を省いたりっていうやつは、
今の話題ではないと思うんだよね。
>>367 は、背景とキャラクタの
厳密で高速なあたりの取り方を聞いてるんじゃないの?
頂点を減らした簡素な背景の当りモデルを一定の区間で分割して、
>>378 が言うように自分が存在する周辺27(XZで済む場合は9かな)
区間に対応した当りモデルに対して、キャラが持つ簡素な当り
モデルに対するポリゴン交差判定を実行するってのが結局一番良い
のかね?これならBGを切る区間の幅がキャラのスフィア半径を
超えない限りは大丈夫そうな感じはするけど。
でも、これって理論は簡単だけど、データ管理とか、ソースの
可読性の面で、相当なデメリットを被るから、もっと簡単なやり方を
皆やってるのではないかと思って漏れも聞きたいのだけど。
領域が重複するように区切ると、1区画だけで済むよ。
でかい1区画も小さい27区画もあまり変わらなくない?
全然違うよ。 区画を拡張するサイズは、判定に使うのが球なら半径の分。 (隣接した区画が半径分ずつ広がるから、直径分重複する) 1区画の大きさが100*100*100のサイズだとして、全方向に4だけ拡張すると 1.26倍の体積になる。これで、半径4以下のサイズなら漏れ無く判定できる。 この方法は、特に八分木と相性がいい。 それと、1区画が必要以上に小さくなければ27区画も判定する必要もなく、 一番近い8区画で十分。
>>382 丁寧にありがとう。なるほど、結構効率が違いそうだね。
どうしても、ある区画と、その隣の区画には、同じポリゴンが
存在することになってしまうと思うから、最大の速度効率で
考えると、キャラ半径分で区画を細切れにして、各区画に
割り当てるデータは、中心を含めた周囲27区画(9区画なのかな?)の
広さをカバーしたものにする、っていうのが最も早そうだね。
区画を細かくすればするほど、速度は上がるが、メモリ消費は
大きくなるって感じかね。
ところで、27区画っていうのは中心を含めた3x3x3の区間で、
ルービックキューブのような状態なんだけど、
8区画っていうのは3D?それともXZ平面上での話?
>割り当てるデータは、中心を含めた周囲27区画(9区画なのかな?)の >広さをカバーしたものにする 正確には中心の区画+半径分の広さをカバーする ですね。
>>383 8区画ってのは、重複領域がない場合に検査する必要のあるサイズ。
球の直径より小さいと27区画(3*3*3)のチェックが必要だが、直径より
大きければ8区画(2*2*2)でいい。
それと、重複領域がない場合は、通常は地形のポリゴンは隣接する
複数の区画を貫いているから、周囲の区画もチェックするというのは
実際には同じポリゴンに対する判定ばかりで無駄が多い。
なるほど〜。よくわかったです。 けど、高速の時でも抜けないように判定する方法はあるの? 進行方向に対してなるべく沢山レイを飛ばすしかないのかな?
元の質問(
>>367 ,374)は速い移動で抜けてしまうという話だったか。
基本的には、肩がこする程度の抜けは無視するものだと思う。
常識的な速さでfpsが極端に低くなければ、移動先で球なり円柱で判定を
取るだけで、荒が目立つほどでもないかと。
そもそも、判定用の図形は実際のキャラクタと厳密に同じ大きさではないから
それの端が多少めり込んだところで問題ないかと。
ただ、移動前-後の座標で直線を作って、その直線×地形の判定は
入れておいた方がいい。
3D格闘ゲームでは点と点を繋いだ直線ではなく、球と球をつないで
ソーセージ型で判定していたりするが、一般のゲームでそこまでしても
コストに見合うほどの効果はないと思う。
>>387 元の367です。色々なアドバイス有難うございました。
結論としては、キャラの1フレームの移動量を抑えて、
@キャラの簡単なモデルA球や円柱B箱 などで、
移動先の地形と判定を取る。
っていうのが一般のゲームでは基本的な方法という
ことですね。
他にもBGを区分けする方法など、とても参考に
なりました。有難うございました!
ソーセージは初めて聞いた。 カプセルと表現することが多いように思うけどな。 壁に向かって斜めに動く時に、カプセルでやるほうが綺麗に押し戻せるので、コストに見合う効果があると思う。壁でクラッシュするならいいけど。
カプセルで当り取るヒントキボン
球+円柱+球
393 :
デフォルトの名無しさん :2007/11/03(土) 10:49:50
CPUでOpenGLをエミュレートするプログラムを書きたいのですが 何を参考にすればいいですか? 本かソースを紹介してください
mesaしか知らない。
何をやりたいかにも依るけど、TinyGL は小さくてお勧め OpenGL|ES でよければ Vincent
以前なんか実行ファイル形式のTIPS網羅したマガジンうpしてくれてたよね 誰か再うp or 続編があったらうpしてください
397 :
393 :2007/11/04(日) 13:47:50
正八面体を描画するプログラミングを教えて!!!
質問です 四次元立方体を描画する猿を探せ
lib3dsを使って3dsファイルを読み込んで描画したいのだけど、具体的にどうすりゃいい? lib3ds_file_loadでファイル読み込めてると思ってるのだが、正しいのか?
>>400 読めただけでは描画はされません。描画してください。
具体的にはlib3dsのサンプルみりゃいいんじゃなかろうか
現在特定用途用にレイトレレンダラを組もうと考えているのですが、 1〜20数四角ポリゴンでテクスチャ、透明度を使用し、影や光源を考えない場合、どのような最適化方法 を適用するのがいいでしょうか?目標としては、テクスチャなしの640x480で15fpsくらいを出せるようにはしたいです。 バウンディングボリュームは当たり前として、空間分割もやった方がいいのでしょうか?
405 :
404 :2007/12/31(月) 00:01:19
ちょっと上げさせてもらいます。
>>404 "光源を考えない"の意味が分からない。
どんなに反射屈折しても光源にたどり着かないなら真っ黒な画像になると思うのだけれども。
多分、ポリゴン色とでもいうべきものを採用という意味なのだろうと思う。
そうだとすると、Z ソートしてポリゴンをラスタライズするのでは何がいけないのかが分からない。
空間分割は、その程度の対象個数だと、実行パスが複雑になることの弊害が多すぎるように思うけど、データにもよるし、結局のところやってみないと分からない。
これもやってみないと分からないのだが、SIMD 演算機があるなら、対象ポリゴンを32個固定にしてアンロールしたヒットチェックを作ったほうが速いかもしれない(その個数ならね)。
ところで今どのくらいの fps がでてるの?
3Dモデルを出力するツールの作成を検討しています。 出力フォーマットは、汎用性を考えてFBX形式で出力を考えているんですが、 目だった問題点とかあるでしょうか? フォーマット仕様を読む限りではあまり無さそうな印象ですが。
408 :
404 :2008/01/02(水) 13:36:42
>>406 遅れてしまってすいません。
光源を考えないというのはポリゴン色を使うということであってます。
ただ、ポリゴンに透明度を適用し、ポリゴン同士の前後関係を正しく
表示したいため、OpenGLなどを使うことはできません。
また、オフスクリーンでレンダリングする必要があるので、
ハードウェアの恩恵を受けることができず、ポリゴンを細分化
するとOpenGLではとても重いので・・・
まだ設計の段階で実際に組んだわけではないのでfpsが
どれくらいでるかわかりませんが、とりあえずバウンディングボリューム
のみでやってみます。
ありがとうございました。
OpenGLでもオフスクリーンレンダリングできるし、 ハードウェアの恩恵も得られるでしょ。 半透明ポリゴンの正確な描画も一手間かかるだけで問題ない。
410 :
404 :2008/01/02(水) 22:39:08
>>409 この前OpenGLでオフスクリーンレンダリングすると
どうやってもソフトウェアレンダリングになってしまって重くて
使い物にならなかったのですが・・・
一応GeForce7600GSを積んでるのでハード的には問題ない
はずですが、なぜでしょう?
具体的ななコードをだせ
412 :
404 :2008/01/03(木) 01:57:51
>>411 今手元にコードはないのですが、処理の流れは
1.32bitRGBのHBITMAPを作成
2.それを元にデプスバッファ32bitのレンダリングコンテキストを作成
3.テクスチャ、アルファ、デプステストを有効に
4.512x512未満のテクスチャを作成
5.レンダリング
という流れですが、この方法だとハードは使用されないようです。
413 :
404 :2008/01/03(木) 02:00:12
>>412 この方法というのは、HBITMAPを使用したオフスクリーンレンダリング
のことです。
既存のウィンドウかダミーウィンドウからコンテキスト作ってFBOかpbuffer使え。 拡張を使うのがいやならバックバッファーに書いてフロントバッファーは放っとけ。
415 :
404 :2008/01/03(木) 11:32:04
>>414 わかりました。ダミーウィンドウ作って試してみます。
ありがとうございました。
>>412 すべて半透明ならデプスバッファは要らないでしょ。
どうせ、すべてのポリゴンを奥から順に描画するのが前提になる話しだし。
ところで、ポリゴン同士は交差するの?
ならば、交差した部分でポリゴンを分割した方がいいのだけど、>408 の細分化ってコレを指してる?
スポットライトのライティング計算式ってどっかにない? 調べても、線光源とか点光源くらいまでしか出てこない。
どうやって高速物体の衝突検出すんだよ
>>420 それはグラフィックスとは関係ないと思うが、
ヒントはスイープ体。
いきなり喧嘩腰だなw
仮想空間って宇宙よりヤバくね? 光速越えも楽勝
>>423 ニュートンの力学法則だけでシミュレーションすればそうなるな。
つまりちゃんと特殊相対論でシミュレートしろとw
特殊相対論の影響が無視できないような物理シミュレーションが必要になるのはどんなときですか?
>>420 物体が変形しないconvexならseparating axisでググ
変形しながら移動する三角形の衝突検出って難しいよ;;
というかこういう話は3Dアルゴリズム全般スレですべき?
それとも物理シミュレーションスレでも立てる?!
そんなスレ立ててもすぐ落ちる。
もうこういうことに興味持ってるの一握りの予感 日曜プログラマはみんな儲かりそうなウェブ方面に行っちゃったし。
>>426 ローレンツ短縮の短縮率が、必要な精度より大きくなったらで良いんじゃないか
431 :
デフォルトの名無しさん :2008/01/25(金) 13:02:54
これからOpenGLかDirectXをはじめようと思うんだけど どっちが良いとかってある? ちなみに今まではJavaメインでCGプログラムしてた。 あと少しCができる程度。
なにがやりたいんだ
>>420 つ「ゲームプログラミングのための3Dグラフィックス数学」
436 :
デフォルトの名無しさん :2008/04/14(月) 18:11:12
3Dはある程度までレベルあがると物理との戦いになるな
CPUはある程度までレベルあがると量子論との戦いになるな
ある程度以上の物理って言うとデータ転送速度とオブジェクトサイズに生成速度とHDDアクセス時間とかそういうのかな?
ライト増やすとすぐ重くなるのに何でデモでは幾つもギラギラ光ってんだよ!!
3Dマークの光る蝶々と、PS3&pspのメニュー画面の背景のモヤーってなってるのはどうやって描いてるのか教えて!
>>442 どんなんか見てないのでよくわからんが、たぶん
最初に蝶をライティング無で白くレンダリングしてそれをぼかして
その上に蝶をレンダリングしているんでないでしょか。
いや、あの蝶々は光源になってたから、他にも処理があると思う。。
445 :
デフォルトの名無しさん :2008/04/20(日) 19:20:39
Bounding Volume Hierarchiesって何?
octreeみたいな奴のことか?
そうなのか? 実装しようと思ってHow to pack trees探しているけど 逆から始まっていたり、文字が選択できなかったり、文字の検索が正常に出来なかったりとか変なのしかない。
>>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とほぼ同じ目的で使われるけど、違うアルゴリズムだよ。
449 :
445 :2008/04/21(月) 23:41:33
この手の高い本は大学図書館に買わせているけど、たまに研究室にあったりして 購入してくれないことがあって困る。 自分はこれ関係の学部生じゃないんだがね。
451 :
デフォルトの名無しさん :2008/07/09(水) 12:57:40
Mayaで作った物体形状をファイルに落としたものがあったとして それの中身(物体形状データ)を調べるにはどうしたらいい? Autodeskが提供してるライブラリとかある? 何でもいいのでヒントになることあったら教えてください
それはこのスレなのかな…? FBXについて調べてみ SDKあるから
人間のモデルを作ったとするじゃん その人間の髪だけ物理演算でサラサラさせたり、皮膚だけ弾力を計算させたり、どうやるの? ボーンで髪を動かすくらいしかわからない
>>453 以下はリアルタイムレンダリングの話だけど。
1.オブジェクト単位の物理演算
これはいま大抵のところがやってる。段ボール箱を投げたり、
銃で缶を撃つと転がったりするヤツ。これは簡単。
2.ボンを物理演算する
ラグドールなんかはこの方法。こちらも簡単だし、軽い。
もちろん、ボンの有効角度の設定とか、肉の厚さ、ボンの重さ、間接の摩擦係数とかの
パラメータ自体を増やす必要がある。物理演算するとしたら現状はこっちが無難。
3.メッシュ自体のデータをいじる
メッシュのデータをいじるのでロックする必要がある。ロックすること自体は別段、悪い事じゃないけど、
メッシュの物理演算は非常に重いし、突き抜けとか避けるのは結構面倒。頂点シェーダに
パラメータを与えて、っていう方法も考えられるが、細かいコントロールが当然効かない。
シェーダモデルが3になれば、多少は状況が変わるのかな?
4.パーティクル
これはメッシュとはちょっと違う系の物理演算。これはそんなに重くないので、
意外と実装しやすい。質点の集合で管理する。水とかの流れとかだな。
ディアブロ3は 1.2.4.はやってそう。ブリザードはそんなにCGに凝るメーカーじゃないから、
いまは 1.2.4.ぐらいはやって当たり前なんだろうな。
>>453 なんか上のを書いたけど答えになってないな・・・。
簡単に書くと、
メッシュの物理演算は基本的には頂点と頂点をつなぐ
線分をゴムみたいな弾性体だと仮定して計算する。
メッシュ 物理演算あたりでググってみたら?
>>453 それはグラフィックスの問題だろうか。むしろモデリングやシミュレーションの問題だと思われ。
グラフィックスの問題と言えるのは、
>>454 の処理がおわって具体的な幾何学オブジェクトを描画する部分。
レンダリングだけがグラフィックスの問題というわけでもなかろうに。硬いこと言うなよ。
>>455 線分をゴムみたいな弾性体だと仮定するだけでいいのですか?
たとえば風船ならある場所を押すと中の気圧が上がって全体的に膨らみますし
スポンジだと多少変形させてもちゃんと角が角ばった状態に戻りますよね。
そういうのもちゃんとシミュレーションできるのでしょうか。
弾性体の物理シミュ関連の論文でお勧めがあったら教えて下さい(;><)
google scholarはしりませんでした。 今まで普通にググって,無料で落とせる論文探してました。 ばねで繋げるってことは、f=定数×バネの長さの変位を計算して、 そのfを頂点に加えて積分して頂点の位置を計算するってことですか? でも布とか少し伸びただけですぐにフックの法則が成り立たなくなって fがどでかい値になったり破れたりしますよね。 計算の時間間隔を小さくすればfの値の急激な変化にも対応できるようになるけど それじゃリアルタイムに計算できません(><)つ large steps in cloth simulationという論文にその答えがあるのでしょうか?? がんばって読んでみよう
盛り上がってきたじゃん
>>460 基本はバネの考え方だったりするわけだけど、当然それだけじゃ
まずまともに動かないよ。あくまでバネっていうのは近似に過ぎないわけだから。
布の破れとかもやりたいの?バネに摩擦のような物を持たせたり、回転方向にも
フックの法則を適用したりしたほうがいいよ。回転方向の係数を下げると当然、柔らかい布になる。
でも、現実問題として布の衝突検出はかなりきつい。
ちなみに、布が少し伸びたときには布がその引っ張る力と釣り合うような力を
逆向きに出してるだけだから、f がどでかい値になるだろうって言う想像は見当違い。
そのどでかい値と同じ力で布を引っ張ってるはず。
あと、本当に学問的なシミュレートとしてやるんだったら物理板で聞いた方が良い。
・・・と思ったけど、数値解析ってスレは無いのな。計算物理学ってジャンルだから。
その他の話題でこのスレが大賑わいしてるならともかく、、 需要自体もあるようだし別にこのスレでいいと思うよ
シミュレート板なんてのも一応あるけどな。まあ閑古鳥だ。
465 :
デフォルトの名無しさん :2008/07/20(日) 02:35:36
はじめまして。 現在、C++言語でlighwaveで作成したシーンオブジェクトファイル(*.lws)を C++プログラムのプログラムの方からレイアウト情報を取得して、何らかの入力に応じてアニメーションをさせたいのです。 しかし、D-Storm社のデベロッパーサイトにはlwsとlwoをc/c++からそうさするためのユーティリティ関数のリファレンスが提供されているものの,こういった実装の資料はfWebや書籍を探してもほとんど資料が見つかりませんでした。 どなたか、C++とOpenGL(DirectXでも可)で*.lwsのアニメーションを再生する方法をご教授願います。 サンプルソースあると助かります。
>>465 残念ながら、そういう簡便な仕組みの世の中にはなってない。とはいえ頑張る気があれば何とかなる世界だから頑張れ。
必要な資料も、多分君が見逃しただけで、全てある。でも、俺なら一千万うぃ下回る金額では請けない仕事だね。
>>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だと思います。
zipでまとめたはいいがうpろだって何処使えばいいんだろうか・・・
自分とこのサイトは知ってる人が居そうでイヤだ。
>>468 すぐにLW9.5が出るからLWSなんて使わずにFBXを使った方が
MAYAや3DSMAXも一緒に扱えて便利だけどね。
>>466 二十年くらい前で時が止まってるオッサンですか?w
471 :
デフォルトの名無しさん :2008/07/20(日) 17:59:10
>>469 >すぐにLW9.5が出るからLWSなんて使わずにFBXを使った方が
MAYAや3DSMAXも一緒に扱えて便利だけどね。
あ、そうなんですか。<LW9.5
lightwaveを使うことになったのは、某大学と共同研究をしているためです。
ですが、ウチの教授が「こっちはこっちでプラットフォーム作ったほうがいいんとちゃう」とか言い出しまして
で、モデルデータは共有で使えるようにlwo,lwsとなったわけです。
FBXなんかは、XNAでもサポートされてますし結構メジャー(?)ですよね。
この形式については、調べていないので調べてみます。
使えそうであれば、FBXのサポートも検討します。
アドバイスありがとうございます。
一応補足しとくとLWO/LWS読み込みが1.0としたらFBXの読み込みは10.0位の難易度はある。
LWO,LWSの読み込みやった事あるけど知識ゼロの状態から3ヶ月で出来たよ
>>470 十五年位かな。
>473
それはおかしいだろう。お前は適当言ってる。二週間もあれば十分だ。読み込むところまでなら。
そんなの人によるだろJK
>>475 全くその通りだけど、パースだけならイイ感じのラッパが公開されてなかったっけ?
>>474 3Dソフトのシーンを実機再生なんていまだと新人にやらせる程度の仕事だな。
>>479 採用時に選び放題のようで羨ましい。
それでもソレはボーンだけの話だよね?
元の話>465はレイアウトってことだから、確かにボーンだけなのかもね。勘違いしてたかも。
一番面倒なのがボーンじゃね? ボーンさえ読めればアニメーションやメッシュ情報なんて屁でもないと思うが。
>>481 そうか?
パーティクルとかダイナミクスとか使われてると結構きついぞ。
まさか、オブジェクト配置してキーフレーム読み込むだけじゃないだろうな?
3Dソフトのシーンを実機で再生するならそうだろうな。
>>479 は新人の仕事というより、「学習用」って意味だと思うぞ。
3Dソフト=モデルやモーションとかのリソース作成用って扱いで。
カットシーンやらマップのレイアウトやらパーティクルや物理パラメーターや骨の設定は
全部エンジンに合わせて専用でツール用意するのが普通じゃないか?
>俺なら一千万うぃ下回る金額では請けない仕事だね。 低脳露呈www
>>481 "ボーンだけ"ってのは、カメラとかライトとかマテリアルとか、個々の作業は簡単でも、こまごましたのを全部やってると大変って話。
>>483 > 全部エンジンに合わせて専用でツール用意するのが普通じゃないか?
LW だとどうかは知らないけど、3dsmax とか Maya ではプラグインとかスクリプトで、オーサリングツール上で設定するのが普通だと思う。
>>484 typoの指摘をありがとう。
486 :
デフォルトの名無しさん :2008/08/18(月) 00:57:01
回転するコマの表面の模様を一緒に回転させたいんですが、どうすればいいん でしょうか?テクスチャマッピングの技術で対応できるでしょうか? どうも、基本的にラスタライズした後の2次元画像にテキスチャマッピイング するから無理のように思えますけど。
模様の付いたコマを回転させたら、模様も一緒に回転するのが普通だと思うけど。 模様だけ止まったまま回転しないの? テクスチャマップは回転したり変形したりして貼り付けられるよ
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 今までずっと短形だと思ってました・・・・
矩形(くけい)だったんですね・・・・or2...
>>492 矩形と線分の交点が矩形平面上にあることとが検出できれば良いです。
ヘイヘイ平面の方程式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のように今いる三次元の世界から二次元の世界に行きたいと言う人を時々見かけるが 二次元へ行く方法を知りたいかい?
>>494 パラメトリック幾何ですね。
計算誤差的に不利になることはあるけど、
まあ大抵の場合にOKですな。
CADもパラメトリックなのが主流ぽいし。
496 :
デフォルトの名無しさん :2008/08/19(火) 12:28:34
パラメト厨乙
497 :
デフォルトの名無しさん :2008/08/20(水) 05:06:01
所謂爺語じゃね?
>>499 九州だと「いいんじゃ」になるよな。
爺語ってなんか気持ち悪いな。
さも、「私は○○歴が長いんです」って自己主張してるみたいな。
別にそれ自体は構わないのだが、>494に関して言えば「チェケラすればいいのじゃ」の辺りが痛い。
502 :
494 :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
すいません。
眠たかったので変な言葉遣いになってしまいました。
不快な思いをさせてしまい申し訳ないです。
うむ。check it outにしろcheck it upにしろ、〜してね、っていう意味が含まれてるからな。
ピクセルシェーダ1.1と2.0ってどの辺が違うんだろう? 3.0や4.0との比較はぐぐって見つけることが出来たんだが…。
1.1と2.0なら話にならないほど違う
MosaicとFirefoxぐらい違う
1.xは固定機能のコンバイナに毛が生えた程度で、汎用シェーダと呼べるレベルではないな
恐ろしくてとても言葉では説明できないほど違う
510 :
デフォルトの名無しさん :2008/08/30(土) 00:52:24
すいません質問させてください。 Blenderなどのオーサリングツールのエフェクトアルゴリズムを、 外部のプログラムから直接利用する方法ってあるのでしょうか? Blender内でPythonを使ってプログラムするのではなくて、C++などで実装したアプリから、 エフェクトアルゴリズムだけをライブラリのように利用するという意味なんですが。
オープンソースなんだから好きなだけ参考にすれば良いだろ。 ただしライセンスには注意な。
将来任天堂64のソフトを作りたいと思ってるプログラミング初心者です 3Dについて調べたらこのOpenGLとかに当たったんですけど、 もっと簡単に3D描けるソフトがあると思うのですが、そういうのを使ったら互換性とかが無いんですか? それと、任天堂64だとキレイなグラフィックは不可能なんですか?
WiiでもGCでもなく64?
>>514 64大好きなんです。ロード時間が無いから。それとコントローラー
OpenGLなんて相当簡単なAPIだろ。 C/C++から利用するものであれより簡単な3DAPIなんてないだろ。
>>513 64のロード時間が短い理由がわかるようになるまで経験を積めば
PCでも同じ事ができることがわかるよ。
518 :
デフォルトの名無しさん :2008/08/30(土) 14:35:58
コンシューマー機が読み込み遅いのは大抵が CDとかDVDとかから読み込みしてるからだろ。 読み込み速くしたきゃSSDにでも入れとけ。
実行時に生成すれば読み込み時間はごく少なくて済むな 生成時間の方がかかるかもしれんが
なんでモデラーは解析用メッシュ生成ソフトみたいに画面上に節点番号出せないの? 皆どうやって髪だけ物理演算とかしてるのよ 節点番号と位置がわからないじゃない
頂点インデックスがあれば分かるだろjk
じゃあ頂点インデックスを使ってモーフィングをどうやるのか簡単なアルゴリズムを書いてみそ
なぜモーフィングの話に? モーフィングはまた別だろ。
唇の構成節点だけ別個に把握してないと駄目だろ?
>>521 画面上に表示されたとして、デザイナさんにメモさせるの?
ちょっとメッシュ変更する度に変わるかもしれないのに。
普通はスクリプトとかプラグインで抽出するんだよ。
ところで接点って頂点のこと? ボーンのこと?
Knot の和訳? Node の和訳?
モデラーでは節点って言わないんだっけ
髪の毛ならプラグインで骨に物理のパラメーター埋めとくのが普通だと思うが。
スカートは?
ゲーム用途ならスカートも骨に物理だろ・・・。 ロングスカートにクロスシミュでも入れるつもりなのかと・・・。
>>527 モデラー云々じゃなくて、ソフトによって和訳が違うから、ソフト名か英語表記を書いて。
>>530 ボーンじゃコリジョン調整が大変だろう。
360とかPS3では、ウチは頂点単位でやってるよ。
>>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; }
convexなポリゴンなら交差した頂点が平面を構成する直線の常に同じ側にあるって条件とかで好いんでなかったかな?
>>535 交点の(u,v)を求めて、それが区間内かどうか判定すればいいだけじゃね?
平面上の有限領域がどのような形式で表現されているかによるな
539 :
535 :2008/09/04(木) 03:19:03
平面上の有限領域はそれぞれVector3で表現できる3次元座標4点です。
3次元空間上の矩形と線分との交点を求めたいのです。
最終的には直方体を線分が貫通している点を検出したいのですが、
>>535 のコードにどのように手を加えればよいでしょうか?
直方体なら貫通している平面上の交点が向かい合わせの面以外の平面の内側にあればいいんでないの? サイコロで言えば1の面上に直線が交わっているなら2-5,4-3のの各ペアの面から距離が符号違いであればいいって事じゃないの?
条件を小出しにするなよ
>>539 p2-p1をu軸にして、p4-p1をv軸にしてuv空間上の交点(u,v)が第一象限にあるかチェック。
p2-p3をu軸にして、p4-p3をv軸にしてuv空間上の交点(u,v)が第一象限にあるかチェック。
両方通れば矩形内。
直方体と線分の交差判定ならSeparating axis theoremを使ったほうが速いような気がする。 直方体がAABBなら、 線分をAABBの3組の平面で切っていきながら2つの平行な平面と交差するかチェケラするのだ(ΘωΘ)
>>542 p1p2p3p4が完全に矩形であるという前提なら、
p2-p1をu軸にして、p4-p1をv軸にしてuv空間上の交点(u,v)が[0,1]内かチェック
だけでいいんじゃね?
HLSLとCgどちらから勉強すればいいですか?
GLSLはout of 眼中ですか?
行列による座標変換についての質問なのですが、 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
>>547 > ・XYにスクリーンの高さと幅を掛ける
バーカ
dotXSIファイルのモデルでスキニングをしようと思っているのですが、 一つの頂点データが3つの三角形で使われていて、この頂点に対する法線が各三角形で違うものになっています。 この場合、3つの法線を平均化して一つにして扱うんでしょうか?
>>550 XSIはXSIの都合で作られているだけなので、自分の使っている3Dライブラリ(GL,DirectX,etc.)
に合わせて違う物をちゃんと準備する必要がある
>>550 違う値なら違うんじゃないの?
立方体の角が三面の平均じゃおかしいでしょ
>>552 言われてみればそうだなあ
でもそうすると法線データの方が数が多いから、DirectXの頂点バッファ作るときに頂点数を法線の数に合わせないといけないんですよね…
頂点変換するときに増加した頂点座標分の負荷が問題になるから、元の座標データで変換して、それを増加した頂点座標にコピーしていくとか
やるんでしょうか?
>>553 法線が違えば元から違う頂点としてデータを作った方が良いと思う。
負担になるのを気にしてるみたいだけど、頂点シェーダーは余裕ありまくりだから。
>>554 自分は三角形リスト使うつもりなんですが、
それだと三角形ストリップでやろうとするとき問題になりませんか?
隣接してるのに違う頂点なわけだから
>>555 違う頂点として扱うのに、どうして三角形ストリップを使おうと思うわけ?
>>556 思ってないです
違う頂点で扱うときやり方だと三角形ストリップでメッシュ作る方法が使えないから
一般的なやり方ではないんじゃないのかと思っているんです。
PC+DirectXだと頂点キャッシュ効くように最適化すれば三角形リストで十分だけど、
三角形ストリップが必要になる環境もあろうだろうし
その場合はどうやるんだろう?と思ったんです。
別の情報をもった頂点なんだから違って当然だとは思わないの?
ウマい手があるよーん 的な答えを期待してたんじゃないかのぅ?
>>555 法線データと位置情報を別のストリップで管理したいって事なの?
別で管理するって事は、どの位置情報がどの法線に対応するか、
っていうインデックスデータが今度は必要になってくるけど、
それも自前で管理する?自前でラスタライザを作ろうとしているのなら、
そういうフォーマットもアリだと思うけど、ストリップにする意味がない。
っていうか、三角形リスト使うのなら、別にいいじゃないか。
>>559 恥ずかしながらその通りで。
DirectXだと頂点増やすしかないということで了解しました
自分の中で三通りの可能性を考えていて、
1、法線データの数に合わせて頂点データを作る
2、座標データの数に合わせて頂点データを作り、法線データは平均化する
3、法線データの数に合わせて頂点データを作るが、頂点変換は元の数の座標データで行い、対応する頂点にコピーする
(その際、対応する頂点のインデックスなどを持たなければならない)
このどれかだなと思っていたんですが、ストリップにしろリストにしろ1でやるようですね
昔はメモリ読み出しの回数を抑えたりマトリックスの乗算コストとか考える必要があったけど、今時だとピクセルフィルしている最中に次の三角形は変換おわっちまうからそういうの気にしちゃダメだと思うよ
いまは冗長で普通なデータに最適化されてるから、あんまり深く考えない方が良い。
ユニファイドシェーダだと、VSもPSも同じところで 計算するんじゃなかったっけ でも計算コストは PS>>>>>>>VSだろうけどさ
せっかく作ったストリップも ジオメトリシェーダに入るころにはバラバラにされてるんだよな
ストリップはインデックスのなかったPS2時代の遺物じゃねぇの。 インデックスが使えるならそっちのが余計なデータ省けるし 頂点キャッシュに有利だしDrawの回数が減るしでいいと思うんだが。 縮退ポリゴンつかってストリップを1つにつなげると結局頂点数増えるから意味ねぇし。
ストリップも悪くはないけど、そこまでがんばることはない。 半透明とか絡んでくると、ストリップじゃ気が狂いそうになるし。 というわけで、俺はストリップ使わない派。
DirectXのジオメトリブレンディング使ってスキニングやってる場合、モーションブレンドってどうやるんですか? モーションブレンドの仕組みって2つのモーションによる頂点の補間だと思うんですけど、 ジオメトリブレンディングって一つの頂点に対する変換処理で、そのまま透視射影変換までやっちゃうじゃないですか。 だからジオメトリブレンディング使いつつ、モーションブレンドをやるってのがどうやればいいのかイメージ出来ません
モーションブレンドはCPUだけの処理です。 シェーダーがどうなってようと関係ありません。
あー、SetTransformでマトリクス設定するときに既にブレンド済みのものを使うのか
行列演算の分配法則やねー
573 :
デフォルトの名無しさん :2008/10/31(金) 03:27:42
ボリュームデータをサーフェイスデータに変換する上手い方法.何かありませんか?
>>573 ボリュームデータはビットマップ?
どの程度までは出来るか書いてないから不明だけど。
一言で「ボリュームデータ」と言われてもな
コミュニケーション力が不足しているプログラマって多いよな。 自分の常識=他人の常識みたいに思ってる。
>>574-575 説明足らずですみません.
ボリュームデータは三次元の座標データとして持ってます.
可視化の際にはその場所に点打ったり立方体並べることで表示してたのですが
一般的な3Dモデリングソフトで表示したいと考え,
STLなんかのサーフェイスデータに変換したいと思っています.
>>577 普通に空間分割して近傍の3点じゃダメなの?
579 :
デフォルトの名無しさん :2008/11/01(土) 03:20:41
>>577 それは普通ボリュームデータではなく点群(point cloud)と言わないか?
>>579 最近傍の三点で結んでポリゴン化するとして、
最近傍の三点の検索が非常に遅くなっちゃうのは結局実用的じゃないでしょ?
ある程度、空間を分割して、その中にどの頂点が入ってるか
インデックスデータやツリーデータを作る。
サルの一つ覚えみたいにオクテットツリーを使っても良いけど、
そういう点群の分割は偏りが多いから、分割方法を工夫した方が良い。
ちなみに最近傍の3点じゃ、溝みたいなのがある物体だと再現する事はできないよ。
というか、君がこちらに与えてくる情報がものすごく少ないし、抽象的なので、
マジレスするの嫌になってきてる。
たとえば、Z 軸方向ではすでにソートされてるとかそういう情報が多少はあるでしょう。
そういう情報を書かないでいきなり、ボリュームデータってwww
>>581 ライブラリじゃない方のSTLを知ってて空間分割を知らないって言うのは完全にネタでしょ。
宿題と見た。
ボロノイ図とドローネ三角形をググれ
ディレクトエックス ヴィッジュアォストゥディォ
>>584 英語発音に近づけたければサーフィスだな。
CG業界のカタカナ用語としてはサーフェスの表記が多い気がする。
DirectXのヘルプでは昔から頑なにサーフェイスだけど。
サーフィスのが近いかというと微妙かな。 発音記号の i は、だいたい日本語のイとエのちょうど中間くらいの音。
じゃあ、サーフィェス
サーフィスばっかりずるい。 ストゥーディオもお願いします。
既に日本で定着してしまっている「スタジオ」があるからもういいよ。
日本で公式規格にも使われている「トラヒック」の立場は・・・w
酔っ払ったトラですか
大トラですね
594 :
デフォルトの名無しさん :2008/11/06(木) 08:35:01
食器棚の「カップボード」。 この単語のリアル英語発音を聞いてビビら無い奴はいない。
俺はビニールの発音を聞いて吹いた記憶があるな。 発音厨はまず一般的な用語をどうにかしろよ。
既存のカタカナ語はもう仕方ないとして、新しく変な言葉増やしたくないという感覚はあるけどな。 発音に限った話じゃないが。
日本化学会では発音と表記の乖離に業を煮やして、かな表記は発音を反映させないことにしたけどね。 Ex. ホスホン酸:phosphonic acid、スルホン酸:sulfonic acid まぁ、それも今じゃ結構崩れてきちゃっているけど。
カボードって聞こえる
WPFで3Dゲーム作って公開してるとこある? どんな感じなのか見たいお
601 :
デフォルトの名無しさん :2008/11/07(金) 06:37:03
>>595 でもvinylは化学用語で、日本語のビニールと同様には使われないよ。
ビニール袋なんかは「plastic bag」と呼ばれる。
>>599 「cupboard」の「board」部分は、鳥の「bird」と同じ発音だから、
カナで表現すると「カバード」がいいかと。
>>601 発音記号上は同じあいまい音(schwa)だが、
強勢の「bird」と弱勢の「cupboard」を「同じ発音」と断言するのはどうかと思う。
cup+boardのような単語の連結による弱勢化→schwa化なんて英語では非常によくあることだから、
>>594 であえて採り上げている意味がわからない。
一応は第二アクセントだから、強勢とは言えないまでも、それに準じるぐらいの発音ではある。
>>603 cupboardのboardの部分に第二強勢記号が付いている辞書があるなら教えてくれ。
第二アクセント(第二強勢)とは「単語の中で2番目に強い」という意味じゃないぞ。
普通、第二強勢が存在するのは「separate」のような3音節以上の単語で、
2音節しかない単語では2番目に強い音節は第二強勢にならない場合が多い。
>>604 > 普通、第二強勢が存在するのは「separate」のような3音節以上の単語で、
> 2音節しかない単語では2番目に強い音節は第二強勢にならない場合が多い。
第二強勢にならないんじゃなくて、表記が省略されてるだけダロ
cupboardのような合成語こそ第2アクセントの典型例だろ
>>605 その辞書の発音表記法では、
第一強勢の音節の後ろに太い「'」、第二強勢に音節の後ろに細い「'」が付くようだが、
cupboardでは第一音節の後ろに第一強勢記号があるだけで、第二強勢記号は付いてないね。
そのリンク先が何の反論になっているのかよくわからない。
>>606 たとえばgoo辞書(EXCEED 英和辞典)やエキサイト辞書(新英和中辞典)の場合、
「cupboard」には第二強勢記号が付いてないが、「eighteen」のように2音節で第二強勢記号が付いている単語もある。
単に省略されているわけじゃなくて、第二強勢と弱強勢には明確な違いがあると思うのだが。
おまえら暇だな
ここ何のスレだよw
厨房は熱くなると周りが見えなくなるから…。 まぁ飽きるまで待つしかないだろうね。
612 :
デフォルトの名無しさん :2008/11/10(月) 07:38:23
>>602 >発音記号上は同じあいまい音(schwa)だが、
「ə:r」はschwaじゃねーよバカw
中途半端な知識で大恥乙w
英語の発音の勉強してるレベルのスレか
いつからここは語学スレになったの?
>>612 >中途半端な知識で大恥乙w
皆中途半端だからスレに集まって協議するんじゃないのかい?
それは、OpenGLであっても語学スレであっても同じ事だと思うし恥ずかしいことじゃないと思うんだ
もう少し冷静になろうよ
笑われているのは、中途半端な知識ではなくて、中途半端な知識で上から目線、なわけだが。
サーフェイス(・∀・)
技術的な議論するのに目線を気にするヤシってw
>>612 hooked schwaってやつですね!!
schwaが技術的な議論か?
620 :
デフォルトの名無しさん :2008/11/11(火) 09:32:56
つかこの板に英語喋れる奴なんていねーだろw
621 :
デフォルトの名無しさん :2008/11/11(火) 12:36:58
Yes, we can.
イフェクトっていうのはかまわんけど、書かないでほしい
623 :
デフォルトの名無しさん :2008/11/12(水) 07:41:51
↑ なんで?
単純に3次元の点いっぱい 表示したいだけなら C#+DirectXが楽ですかね? なんか楽そうなライブラリ知らないですか?
SDL
626 :
デフォルトの名無しさん :2008/11/17(月) 07:22:21
OpenGLが初期化が簡単でいい。
DirectX10に比べると簡単ってほどでもないきが・・・ あと行列やクォータニオン系の補助関数が揃ってるDirectXのが楽だろ
すいませんlinuxしか使えないんですよ windowsは難しすぎてインストールすらできません
ならOpenGLかSDLでいいじゃん。
630 :
デフォルトの名無しさん :2008/11/19(水) 06:21:00
>>627 そんなん、検索すればいくらでも出てくるし。
>>630 まぁLinuxとか使うなら無駄になるかもな。
Windowsだったら車輪を再発明する意味は無い。
>>631 何が無駄になると言っている?
OpenGLならWinでもLinuxでも使えるだろ。
いやいや
元が「C#+DirectX」なのに「linuxしか使えない」ときてるのは別人?
635 :
デフォルトの名無しさん :2008/11/21(金) 00:49:41
java3Dはお話にならないでしょうか
お話にはなるけどそんなに派手な事は出来ないから せいぜい3Dのお勉強する人が使う程度じゃね?
637 :
デフォルトの名無しさん :2008/11/21(金) 01:54:13
はでなってのがよくわからないですけど 大概の事はできますよね
openglも大概のことはできますよね
よね〜。
640 :
デフォルトの名無しさん :2008/12/11(木) 00:25:36
glって超おもしろくね? いまさら知ったのが悔やまれるな。 まじハンパねーよ。
スレが適切かどうかわからないが… 3Dツール作ってるんだが、ファイルフォーマットで悩んでる。 ・ バイナリ形式(サイズでかいと面倒) ・ 資料がある(sourceはなくてもいい。自分で書く) ・ ボーンと頂点ウェイトが使える ・ できればアニメーションデータも扱える こういう既存フォーマットはないかな? colladaのバイナリ版とかあればベストなんだろうけど…
Xファイルが超楽でいい。 ・適当な解説ページ見ながら読んでいけば理解が簡単(独自テンプレートとかはイラネ) ・3Dデータファイルに最低限必要なものが一通り学べる
Xファイルもっと普及して欲しいね。 他の人が作ったデータも楽に見れるようになるから参考になるし、 改竄も簡単にできるから Mod も作りやすい。
644 :
641 :2008/12/26(金) 17:58:06
ゲームなら独自フォーマットでいいじゃないか。 通常の保存はcolladaでも使って、ゲーム用のバイナリ形式は そこからエクスポートする形がいいかと。
OpenGL用のXローダってあります? libxとやらは開発が継続中なのか怪しくて…
647 :
641 :2008/12/29(月) 17:19:18
>>645 ゲームつくるときに周辺ツールも作るんで、そんときにオリジナルよりは
既存のを使うと他の有り物ツールもつかえてしあわせなんすよ…
# あと、自分で設計してちゃんとしたフォーマット思いつく自信がないorz
>>647 俺は周辺ツールとかアニメーションも含めて全部市販のツールだよ。
プラグインを書いてそれを自分のフォーマットに変換してる。
敷居が高そうだけど、それが一番柔軟だと判断した。
Xファイルなんかは俺より頭のいい人が作ってるだろうけど、
MSの提唱するサンプル的なフォーマットという要素も強いと思うからね。
Xファイルってシェーダーのデータとか入れられるっけ?
649 :
641 :2008/12/29(月) 20:17:46
>>648 そうかー。シェーダーとかモーションの関数形式とか考えるとそうだなぁ。
他人様の考えを借りて楽しようとするのは、失敗への第一歩かな?
645 で FA。 ツール作る時に collada で困る理由は無いだろ。 オーサリング中は XML で、実機確認直前に独自形式バイナリに変換。 最終バイナリは別に適当でいいよ。 実機での構造をほぼそのままでいいでしょ。
651 :
641 :2008/12/29(月) 21:23:56
ありがとう>all 年末年始の休みのあいだに collada domをちょいとイジってみるよ。
colladaは地味にバージョンアップが激しくてうざい… けど、押さえておくと勉強にもなるしいいと思うよ
653 :
デフォルトの名無しさん :2008/12/30(火) 10:07:30
>>647 あたりまえだな。いろいろ規格や技術も変わるもんだし
654 :
650 :2008/12/30(火) 13:49:45
なんだよ、まだ collada やってなかったのか。 641 見て、やってるものだと思ったから、collada 以外の余計なものに手を出す必要はないという意味を含めて提案したのに。 650 の XML の部分は、"使用予定のオーサリングツール(3Dモデラー)の形式のファイル"に読み替えてくれ。 collada export をモデラーがサポートしてるなら、乗り換えの可能性も考えて collada でもいいけど。
655 :
641 :2008/12/30(火) 16:16:21
collada domは少し使ってみたんだけど、(fbx daeでmayaと blenderで)
やっぱサイズがデカすぎて、バイナリで便利なフォーマットで全部かたづけば
いいなぁと思ってたんだ。
でも、それで Xフォーマットとかも良いなとおもってたんだけど、
>>650 とかの話をみて、全部まとめて1つのフォーマットじゃなくてもいいなぁと
考えなおして、collada domでやりとりして実機にはそれをベースに考えた
バイナリ自前フォーマットかなぁと。
いま colladaの1.4.1の資料みながら、collada domから移行しやすくて
実機ですぐ使えそうなバイナリフォーマット&コンバータ考え作ってる途中。
説明よわくてスマヌ。
3Dキャラを作って 鳥のはばたきみたいなのだと関節を持ってるんじゃなく 羽の付け根がぐにょーんって伸びるやつがあるけど あれって一般的にどうやるの? それぞれの形状のモデルを用意して連続的に表示してんの? リアルタイムで計算してんの? 複数の形状モデルを作る場合はフリーソフトで出来るの?
>>657 スキニングのこと?
あれは、ひとつの頂点が複数の関節を参照している
第一関節の影響50%、第二関節の影響50%みたいに
計算は普通は頂点シェーダーでやる
昔は複数の形状を持ってその間を補間するようなやり方もあったけど、最近は見ないな
659 :
デフォルトの名無しさん :2009/06/19(金) 12:27:44
すみません。 レイを使ったキャラクタと地形との当たり判定で、 キャラクタが急な坂を登れないようにするにはどうすれば良いでしょうか。 進行方向のポリゴンの傾きを検出して急な場合にはキャラクタを止めてやればいいと思うのですが、 傾きを検出する方法がわかりません。
法線を使えばいいだろカス
法線が傾きそのもの
>>659 面の放線とキャラクタの姿勢方向の内積が何を表すか考えてみれば答えが見えると思うぞ
663 :
デフォルトの名無しさん :2009/06/20(土) 01:12:52
2つの凸抱が一部重なっているとします。 重なりを無くす為に、2つの凸抱を引き離すとします。 引き離す為のベクトルと距離はどうやって決めればいいですか?
ヒント: Separating axis theorem
>>663 地形と何かで、地形は全く衝突の影響を受けない(移動も回転もしない)ということでいいかな?
単純にやるなら、方向は前回位置と今回位置の差分(移動方向)ということでいいだろう。
>>664-665 お答えありがとうございます。
相対速度で試しましたが、
いろいろ問題があり断念しました。
調べてみると、GJKアルゴリズムが
要件を全て満たしてくれるベターな
方法らしいんでこっちを試してみます。
ありがとうございました。
元気な女子高生アルゴリズム?
GJKはメジャーな方法だけど速度が・・・ まぁそれ以上のアルゴリズムがあるかと言われるとないけど。
リトルビッグプラネットのクオリティをPCとDirectXだけで再現して フルHDで60fps出せるもんなの? 物理演算はこの最無視して、グラフィック処理として可能な範囲なのかな?
グラフィックなら問題ないだろ。 問題になるのはCPUだろう。
PCなら余裕だろうな
>>669 そもそもPS3のGPUって、GeForce7800GTXのカスタマイズ品だよ。
PCで言えば2世代前のもの。
CPU含めPCで出来ない要素が思いつかない
PCではスパイウェアとか仕込むの難しい
SPUでカリカリにチューニングされたソースを Core2DuoあるいはCore2Quadに落とし込むのはかなりしんどいだろ。 ベクトル演算特化のユニットが7基だっけ?
誰もPS3からPCに移植する話なんてしてないと思うがw
ソース持ってきて移植するのが絶対条件じゃないでしょ
試しに誰が作ってみてよ 動きとかなくていいから60fps出せるかの確認の意味も含めて
>>679 やってみたけど
ぜんぜんリアルじゃねー
他に最近のPCゲーのデモでもやってみればいいじゃない 3DMarkぐらいやれ
まさか3Dmarkがリアルだとか目の腐ったこと言ってる?
じゃあ何を期待してんだよ LBPが最高だといいたいだけならお引き取りください
自分でなんか作ってみようとキャラのモデルを作ったまではいいんだが 動きってどうやって作ったらいいんだ? フリーソフトで出来るん?
687 :
デフォルトの名無しさん :2009/07/07(火) 04:27:36
HSP関連
>>687 何言ってんだてめーは?
想像してるのはモデルに関節とかを定義してadobe flashみたく
各フレーム毎に変形具合を作っていって連続再生して動きになるみたいな
それぞれ変形後のモデルをファイルで吐き出すか
関節データと変形データを吐き出してリアルタイムでモデルを生成するか
そんなソフトがフリーでないんかな?
そこから作っていかないといけないのか?
ただの誤爆だろ Toystudioとかエルフレイナとかいろいろあるだろう
690 :
デフォルトの名無しさん :2009/07/07(火) 13:46:37
ゲハ厨うぜえ
どこをどう見たらAA掛ってるように見えるんだ ただの被写界深度じゃねえか
>>695 やっぱりそうですよね。ゲハのGK連中は頭がおかしいですよ。
被写界深度も4枚目にしかないぞ
拡大して見るとポリゴンの境界が少しぼやけているように見えるのでAAを掛けているのかもしれない。 けどjpg圧縮によってエッジがぼやけただけかもしれない。 被写界深度をレンダリングするには視点を変えて複数回レンダリングしなきゃいけないから 被写界深度やる余裕があればAAする余裕もあるんじゃないかと思うんだけど。 ゲハの人々は団子とまんじゅうのどちらがおいしいかでずっと喧嘩するようなおかしな人に思える。 たまにはこのスレでレイトレvsラスタライズ, 粒子法vs格子法みたいな議論をするのもいいかもしれない。
まじめな複数サンプリングじゃなくて2次元ぼかしによる擬似DOFじゃね?>被写界深度
DirectXでxyzの軸線0.0〜1.0の各3本引いて マウスでTEX0を360度自由に回転させるようにしてて Zバッファを有効にして 回転させてZバッファをテストしてるんだけど 角度によっては線が重なる 何か間違ってる?
-1.0〜1.0の軸線の間違い
建物を3DCGで作ってその中をグリグリ移動して遊びたいだけど、 どういったツールやら言語やらがいいの? 教えてえろい人!
Lightwave+C/C++
>>704 手軽にやりたいなら、Google SketchUp(無料)で建物をモデリング
次に、Flashのプログラミング言語 ActionScript 3.0 専用の3Dライブラリ Papervision3D(無料)を使って
プログラミング。
swf形式のファイルを書き出して、ウェブブラウザーでうまー
単純に移動するだけならSketch Upだけで出来るよ。 壁にぶつかったりとか階段とか上れたりはしないけど。
709 :
704 :2009/12/12(土) 08:30:05
レスどうもありがとー 手軽なのから順に試していこうと思いまっす
2つのカメラからのビューボリュームが重なる範囲[minX maxX minY maxY minZ maxZ]を求めるのはどうしたら良いですか
>>710 二つの四角錐台 A と B がある。
A を構成する8本の辺を、B を構成する 6 つの平面で切断する。
切断された辺を元に面を再構成する。
切断した平面の裏側にある面は取り除く。
出来上がった立体は凸包なので、全ての頂点の min, max をとればよい。
平面の方程式は a*X+b*Y+c*Z+d=0 で[a b c d]が平面を表すパラメータですけど、 Z=0の平面ってどうやって表されるんですか?
法線ベクトルは(0,0,1)だから0*x+0*y+c*z+d=0 原点との距離=d/√(0*0)+(0*0)+(1*1)=d=0より c*z=0 こんなんでいいんかな
てか、z=0で平面の方程式じゃん
>>712 [a b c d] = [0 0 1 0]
ターゲットカメラの回転行列の作り方を教えてください。 カメラと目標地点の座標は既知で、カメラのz軸周りの回転は無しと仮定します。
カメラとターゲットのベクターを正規化して前ベクターとし、ワールド上方の単位ベクターとのクロス積が横のベクター、 さらに前ベクターと横のベクターをクロス積をとると上のベクターができる。これらをそれぞれ行列の行か列に入れる。 右/左手座標系と列/行ベクターの組み合わせにより、行か列のどっちに入れるかは決まってくる。
正規化した前ベクトルとワールドの上ベクトルとのクロス積を横ベクトルにしていいのはなぜですか?
>>718 前提条件でZ軸回転が無いと仮定してるから。
ただしこの方法は、前ベクターが真上か真下を向くと、ワールド上ベクターとの外積がゼロベクターになってまずいけどね。
一般的に3Dでは、地面はどの平面ですか? なんとなく自分の感覚でいえばXY平面かなとも思うし Zバッファとかいう言葉があるぐらいだから、 Z座標方向に視線があるとするとXZ平面なのかなとも思うし 3Dはほとんど触ったことがないので誰か教えてください
>>720 右手系 左手系 opengl directx
でぐぐれ
>>720 OpenGLやDirectXではカメラ空間で視線がZ軸方向になると決まっているだけだから、
ワールド空間は自分の好きなようにすればいい。
一般的にはゲーム系ではY-up、CAD系ではZ-upが多い気がする。
8台のカメラから得た三次元オブジェクトのシルエット画像が8枚あります。 カメラはキャリブレーション済みで、透視投影行列はそれぞれあります。 この8枚の画像から、3次元点群を得て、Paraview等で見たいのですが、どこか参考となるサイトはないでしょうか?
俺には答えられないが、ツール探してるの? コード書くヒント探してるの? 写真測量から検索し始めると何かにたどり着かないとは言い切れないかもね。
725 :
デフォルトの名無しさん :2010/04/26(月) 22:34:55
>>725 申し訳ないけれども、何が分からないのかが分からない。
見た目から 3dsMax だと思うのだけれども、ならば 3d 板
http://pc11.2ch.net/cg/ で Max スレを探して質問してもらいたい。
さもなくば、もっと頑張って説明してもらいたい。
あと、適切な漢字かな混じり文でないと読みづらいので、質問者という立場としてはカタカナのみというのは二度としないように。
727 :
725 :2010/04/27(火) 13:01:55
mayaですよ
728 :
725 :2010/04/27(火) 15:07:02
自己解決しました^^
729 :
725 :2010/04/27(火) 15:12:17
してないですけど(怒)
730 :
725 :2010/04/27(火) 21:26:34
と見せかけて!
731 :
725 :2010/04/27(火) 22:32:20
ジャーンプ!!
こんにちは。 表示されているオブジェクトを描画領域全体に納まるようにするには どうすればよろしいのでしょうか。例えば遠くに表示されたモノを 境界ボックスの範囲で画面いっぱいに納まるようにしたいと思っています。 モノと注視点が原点にあって、視点の位置をコントロールすると思うのでが、 この先からどのようにしてよいのか分からず悩んでいます。
カメラの画角を使って三角関数の計算ができればなんとかできるんじゃない?
まずはカメラの視線が境界ボックスの中心点を向くように設定する。 これはDirect3D付属の関数とかgluLookatとかで実装できると思う。 次はカメラと境界ボックスとの距離Rを求める。 きっちり画面スレスレまで納めたいってわけでなければ 境界ボックスの一番長い辺の距離をLにすると R=αL αは見た目がそれっぽくなるように調整する。 カメラを横から見た図とか描けばRが境界ボックスの高さに比例する事がわかると思う。 この方法は簡単だけど視野角を変更するとαを更新しないといけない・・・。
>>733 >>744 即レスありがとうございます。
早速試してみます。
できてからお礼を書きたかったのですが、
最近プロバイダがすぐアク禁になるみたいなので先に。
736 :
デフォルトの名無しさん :2010/05/10(月) 07:10:27
sin(theta)cos(phi) sin(theta)sin(phi) cos(theta) さいさいこすこす・・・むぎゃー! ところで魚眼レンズ像っぽく仕上げるやりかたご存じの偉い人やりかた教えて! CかFortranで書くのでできれば数式(ベクトル表記可)でお願いします。
非線形な座標系だから、2Dのポストエフェクトで変形させた方がいいんじゃない?
魚眼レンズのシミュレートではなく、「っぽい」でいいのならそうだろうね。 そもそも「仕上げるやりかた」だけではどういうデータが与えられているのか想像もできない。
ポストエフェクトでも、180度未満の魚眼レンズなら十分シミュレートと言える精度になると思うけどね。
>>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度以内をとりあえず想定)をひとまとめして見たい・見せたいというのが動機です。
う〜ん、とりあえずあきらめてふつうにデータ体積の外から眺める投影でつくるのが安全かなぁ。
おお、ありがとうございます!
いまさらフルスクラッチのソフトレンダラーとか作ったら需要あるだろうか
>743 品質がもの凄く高いか、フレキシビリティが現在のハードウェアの追従を許さないくらい凄ければ。 がんばれ。
>>743 Silverlight向けなら低品質でも速ければ需要ある
いまやGIレンダラも普通にGPU使ってるしなぁ
>>743 オープンソースで移植が簡単なものならほしい
mesaより高品質なら
749 :
743 :2010/05/14(金) 12:49:21
正直すまんかった。 習作的な意味でリアルタイムレンダラーやろうとおもってたから そんな高度な事は考えてなかったんだ・・・。 ぶっちゃけ大層な事やるならDirectX11でやりゃいいやと思ってた。
>>749 勉強になるし、ゲーム屋になるなら特に、その経験は役に立つよ。
開発対象の GPU のドキュメントを読んだ時に、設計の狙いが分かるようになるから、効率的な使い方に気付きやすくなる。
それと、DS のゲームを作る時におまけモードでピクトチャットの豪華版を入れろといわれた時(実体験)に役に立つ。
751 :
743 :2010/05/14(金) 17:45:28
とりあえず勉強のために作るだけ作る事にする。 画面にポリゴンが出るようになった頃にまた来るよ。
>>751 そういう板ではないから、進捗報告や完成報告に来る必要はない。
質問があればまたおいで。
753 :
743 :2010/05/25(火) 00:11:39
同時座標系で手前(near clip)に派手に刺さると反転して座標が おかしくなる現象の回避方法ってないでしょうか。 near clip以外は同時座標系でシザリングして事なきを得ているけど near clipだけはどうにもならない・・・でもDirectXとかは出来ているから方法があるのかなと。
ゆうてる事がよく理解できてないので間違った事を言ってたらごめん。 > 同時座標系で手前(near clip)に派手に刺さると反転して座標が > おかしくなる現象の回避方法ってないでしょうか。 射影行列を掛けた後にx, y, zをwで割るとnear clipと交差するポリゴンがおかしくなるっていうことかな? OpenGLでは射影行列を掛けた後にwで割る前にClipingをやってるよ。 Clipingするとclip volumeと交差する三角形が四角になるので2つの三角形に分割されたりするんだっけな。
755 :
デフォルトの名無しさん :2010/05/25(火) 09:30:43
カメラの後ろ側が折り返されて前側に見えることはあるけど。 nearクリップしてるなら問題ないよなあ、わからん
756 :
743 :2010/05/25(火) 10:13:50
すみませぬ、日本語が確かにおかしかった・・・ w<=0の頂点がひっくり返って変になるから 描画もシザリングも出来なくなるって意味だった。 wで割る前にシザリングすればいけるって事なら -w<x<+w -w<y<+w 0<z<w でシザリングすれば 綺麗にポリゴンが切れるって事になるのかな。 ちょっと試してみます。
757 :
755 :2010/05/25(火) 12:16:03
>>756 DirectXと同じ機能をソフトウェアで書いてるのか?
クリッピング空間のZ=0〜Wでnearクリップ、farクリップしないとダメ。
計算上Z<0の領域はZ>0に折り返されるからnearクリップしてないならそれで正しい動作。
>>756 View 空間でニアクリップ平面でシザリングすればよいのだが、実際はラスタライズのときでも構わない。
ポリゴンを描画する前段階として、エッジウォーキングのための DDA セットアップをするはずだが、その時に
エッジを w に基づいて決めればよい。無論、x, y を考慮に入れることで、より有効なクリッピングができる。
それはまだ先のことでいいんだけど、とりあえず困ったら DirectX 8 以降のマニュアルを見なさい。
今回の件は [DirectX Graphics] - [固定機能パイプライン] を理解すると、どの段階でやるべきかが理解できる。
高速化のことを考えていると、DirectX のは無駄な処理が多いように思えるかもしれないが、後でハードウェアに
丸投げする可能性を考えた時、[-1 .. 1] に正規化して、そこで処理することに一貫性の利点などが発生する。
759 :
デフォルトの名無しさん :2010/05/25(火) 15:40:30
3DCGPに使う幾何学って何幾何学っていうんですか?
もういいです。 偉そうな態度の人に何を言っても無駄でしょう。 この書き込みの跡に私を罵倒する書き込みがあるとおもいますが、一切無視します。 さようなら。
またこいつかよw
いいえ、OpenGLスレの人ではありません。 偶然OpenGLスレッドをみていたら私も興味があったので 正しいスレッドで質問しました。
>>759 特別何学ってのは聞いたこと無いけど、線形代数とか代数幾何とかアフィン変換とか?
CG はコンピュータサイエンスの一分野ではあるけど、特別そこをくくる言い方は知らない。
何かあるなら俺も知りたいけど。
>>760 どこの誤爆?
他人にレッテルを貼るあなたも充分偉そうだと思うけど。
765 :
753 :2010/05/26(水) 22:16:44
助言ありがとうございました。 結局クリップ空間で全てのシザリングをやるのは難儀だったので クリップ空間で(Z<=0)でNearをシザリングしてから同次座標へ変換して 残りの-1<x<+1、-1<y<+1、z>1でシザリングする事で画面外に出ても綺麗に表示されるようになりました。 ネタが思いつかないので次は異方性フィルタとかを調べてみます。
逆行列ってどういう時に使うのですか? 逆行列自体の公式見たらややこしい解説ばかりで 使用目的がわからないのです。
行列計算したあと元に戻したいときに 逆行列を掛けると元に戻る。
>>766 名前の通り、逆変換をしたいときに使う。
例えば、1万頂点と1つの光源でライティング計算しようとしたときに、
ワールド座標系で計算するには1万回の座標変換が必要だが、
光源をローカル座標系に変換すれば1回分だけでいい。
こういうときはローカル→ワールド変換行列の逆行列を使う。
>>765 パースペクティブコレクションはやった?
そしたら後は mipmap と異方性 mipmap と MSAA とAlpha to Coverage やってピクセルシェーダと頂点シェーダくらいかな。
異方性フィルタもシェーダでやる方がスマートかも?
圧縮テクスチャとか Swizzle とかはメモリ帯域節約の技法だからどうでもいいかな?
ていうか速いね! 実装したこと無いだけで全部知ってたんだね。
>>766 行列T x Tの逆行列 = 単位行列
であり、 a x (1/a) = 1 というのと同じことを言っているのは、何かで読んだだろう。
正規直行のアフィン変換行列について言えば、教科書にある、面倒くさくてわかりにくい LU 分解とか掃き出し方とかは不要。
左上 3x3 を転置して、平行移動成分をかけてやれば作れる。
ていうか、使えるようになるのは重要だけど、作り方は後回しでいい。どっかの動くルーチンをコピペして使えばいい。
使い道としては、割り算の代わりに逆数を掛けるようなノリで必要になる。
というか除算に当たるものとして、逆行列を乗算する。
すると
>>767 や
>>768 の効果が得られる。
例えば手首のワールド座標を、腰から見た座標に変換するような場合にも有用。
無理に例を考えると、矢が刺さった時に、矢のワールド座標から刺さったパーツの相対座標に変換して、矢をそのパーツの子供にするとか。
770 :
753 :2010/05/28(金) 01:43:16
>>769 パースペクティブコレクションとバイリニアフィルタは実装しました。
一応頂点変換とピクセル処理は関数ポインタを渡して、
頂点からピクセルへのデータの受け渡しは可変でもてるようにもして
DirectXのシェーダーのように使う形にしてあります。
まずはmipmapを実装してから異方性関連のフィルタをやってみようかと思います。
とはいえ異方性フィルタはかなり資料がレアっぽいですが・・・。
その辺やる時はOpenGLの仕様書とACMの論文がかなり便利。
以前はDirect3Dのリファレンスラスタライザのソースが公開されてたけど 今でも落とせるのかな?
OpenGLのリファレンス実装とかMesaによる実装もソースあるね
775 :
753 :2010/05/30(日) 14:32:44
む・・・違法性フィルタって単にトリリニアの傾きにあわせて沢山サンプルします版なのかしら
>>775 あと、どのレベルからサンプリングするかを決定する部分とね。
a
3Dプログラミングでカメラの概念を分かりやすく理解するにはどうしたらいいでしょうか? カメラビューが動くというのは,全てのオブジェクトの頂点を共通の量だけ動かすということで,つまり カメラが動くというのは, オブジェクトをすべてカメラの動きと正反対に動かせばいいということでしょうか 例えばカメラがz軸に500進むというのは,全オブジェクトの頂点座標のzの値を-500すればカメラが前に進んだようになる、という考えであっていますでしょうか?(全オブジェクトを動かす命令が書かれているのがカメラの正体なのでしょうか?) 今、カメラクラスというクラスを作ろうとしてますが、カメラクラスのアルゴリズムがわかるようなわからないようなで悩んでます お助けください
天動説と地動説で激論を交わしていた頃を思い出すな あの頃は若かったわ
>779 儂にも覚えがある >778 3Dプログラミングにカメラという概念はなく、 ビュー変換・プロジェクション変換を分かりやすく理解するために、 カメラという単語をつかっているんじゃないのか? カメラで理解出来ないのなら諦めてビューとプロジェクションを直接理解しろ
>>778 3DCGのカメラは、概念上はワールド空間をカメラが動きまわるイメージ。
プログラマは映画監督の視点から考えた方がイメージしやすいと思う。
実際の計算はこの概念とは真逆で、カメラは動かずにカメラ以外の全てが
カメラに合わせて動く計算。
また、ビュー変換とプロジェクション変換の2つ併せて現実のカメラに相当する。
ビュー変換はカメラの位置と向き、プロジェクション変換は焦点距離などの
カメラそのものの設定になる。
ビュー変換は、とりあえずLookAtだけあれば十分だと思う。
>>780 >>781 779です。ありがとうございます。回答の内容にやっと追い付きました。初歩的過ぎですみません。
原理はわかったので、あとは実際の座標変換の手順だけなのですが、色々ググったところ、下記のような各行列を掛け合わせるだけで一発でプロジェクション座標が決まる?のでしょうか。
以下の行列の掛け算は世界の中のすべてのポリゴンを構成する一点一点のポイント座標(x,y,z)に対して、
ループ処理で呼び出してやらないとダメということですよね。この以下の考え方は正しいのでしょうか。
※以下、「ポイント」とは(x,y,z)座標情報を持つ一点のポイントという意味で書いています。
(ポイントが集まってポリゴンになるイメージです)
プロジェクション変換後の座標(ディスプレイに表示される位置(x,y))=
[モデル座標(ローカルのポイント)]×
[ワールド行列(ワールド座標の中でのポイント位置)]×
[ビュー行列(ワールド座標の中でのカメラの位置、方向)]×
この中で、毎フレーム、常にワールド行列が動くというのは、「オブジェクトが動いている」という意味になり、
逆に、ビュー行列の内容が常に毎フレーム変化するというのは、「カメラが動いている」というイメージなので、
カメラを動かす命令というのは、ビュー行列の値が常に変動するということで、
結果として3Dの世界の中のポイントがすべてカメラの動きと逆に動くという感じ?と理解しております
最後にプログラミングの構成ですが、上記の行列の掛け算によってプロジェクション変換後の
座標を返す為の計算をさせる専用の「プロジェクション変換の為のクラス」を作るんでしょうか。
間違い、的外れ等、ご指摘頂けると嬉しいです
座標変換の仕組みも分かってないのに、クラスを設計しようとするのが 間違ってると思う。 プロジェクション変換ってのは、ワールド行列でもビュー行列でもなく プロジェクション行列で変換すること。 スクリーン座標まで変換するには、 頂点座標×ワールド行列×ビュー行列×プロジェクション行列×ビューポート行列 の計算が必要。 ただし行列は合成ができるので、実際の計算は頂点座標×合成行列でいい。 Direct3Dのシェーダなら、ビューポート変換はシェーダより後段で行われるので プロジェクション変換まででいい。
>782 正直何をしたいのかよく分からないのだが、 Direct3DやOpenGLを使わずに自前で3DCGを処理しようとしているのか? もしそうなら悪いことは言わないからDirect3DかOpenGL、いや別に他の3Dライブラリでも良いけど、 既存のライブラリとその解説などから3DCGの基本的な事を学んでからにした方がいい。
レイトレなら行列理解しなくてもOKだよとか言って見る
>>783 >>784 782です。ありがとうございます。色々調べて変換の考え方がわかりました。理解を進めてから書こうと思ったので遅くなってすみません。
仕組みを知ろうと自前で作ろうとしてますが、言われているように根本的な理解を進めてからじゃないと厳しいと反省しました。以下、理解した表示するまでの一連の手順です
・ローカル座標系として、オブジェクトの各頂点のポイントを定義。
・ワールド変換:各頂点を任意の座標まで移動する。
方法:ローカル座標系に行列を掛ける(拡大縮小行列、平行移動行列)
・ビュー変換:カメラの位置に伴う変換処理
カメラ座標位置を定義。カメラ座標を原点まで行列で平行移動する。カメラの向きを回転の行列で決める。
上記のカメラの移動の合成行列を、逆行列にしたものがビュー変換行列(世界全体をカメラと逆向きに移動、回転したいので逆行列にする必要がある)
(カメラの注視点ですが、カメラの注視点はビュー変換時のカメラの向きに当たりますか?)
・プロジェクション変換 ここで初めて、透視投影でパースペクティブをつける処理を行う
3Dの頂点座標情報から、x,yの2D表示にする(結果、遠近感がつく)
・ビューポート変換 画面サイズに合わせて、拡大縮小行列により、拡大。
以上、という流れですよね。ただ、プロジェクション変換のときの行列だけがわかりません。どういう形の行列を作ればいいのでしょうか?
2D表示するだけなら、
スケール = focalLength/(focalLength+z座標)
としておいて、そこで得られたスケール値を、x,yの座標の値に掛けて、消失点座標(x,y)に加えることで遠近表示表現はできるのですが。行列内に消失点や、焦点距離をどう絡めたらいいのでしょうか。
現状、ビュー変換までの合成行列を、モデル座標に掛けることでプロジェクション変換の直前までは定まり、あとのプロジェクション変換(とビューポート変換)部分が行列ではなく、各頂点に上記で書いた処理の関数を適用するみたいな感じで表示までは出来ました。
>>786 ちょっと本とか読んで出直したほうがいいんじゃない?
同感。説教たれる気はないけど、ここまで初歩の段階から、逐一人に聞き始めるのは786にとっても効率悪いんでないかい。
786です すみません、初歩すぎるみたいで、もっと本読んで理解します。反省。 初歩レベルの人間が座標変換について理解を進めやすい良書があれば、 オススメおしえてください。出直します。
松坂の線形代数よんどけ
DirectXのドキュメント読むなら、8のやつがいいんだけどね。 数学的な話は9になって少し減ってしまった。 ただ、8のSDKはもうMSのサイトから落とせないっぽいが。
DirectX使うならいいと思うけど誰もがDirectXを使う前提に立ってないからなぁ・・・
DirectX 以外では不要になることも書いてあるけど、 基礎的なことも詳しく書いてあるよ。 [DirectX Graphics] - [プログラミングガイド] 中の、 [DirectX の基礎知識] - [3D 座標系とジオメトリ] と [固定機能パイプライン] - [トランスフォーム] [固定機能パイプライン] - [ビューポートとクリッピング] やさしくはないけどタダだし簡潔。
座標系の設定って、画像処理屋さんだと右手系と決まってるけど、CG屋さんは実装する人とかライブラリによってバラバラなのはなぜ? 統一されてないと回転行列とかライブラリ間の移植がめんどくさいだけじゃん
その意見には全員賛成だと思う。 で、どっちに統一するのって所でモメるわけで
別に統一されてなくても大した面倒は感じてないよ。
現在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です。
FBXは知らないけどそこで得られたlayerCountは1or2?
elemにUV情報問い合わせるんじゃないの?
>>799 layercountは1でした。マルペケさんによるとUV複数なら
そもそもここが2以上になるそうなのですが…orz
>>800 elemに問い合わせるのですがelemにはUVが1つ分しか格納されていませんorz
そもそも、データに1つしかなかったというオチとか。
>>802 lightwaveの出力の方の問題とかですかね…
ちゃんとテクスチャ3枚貼り付けたモデルを出力してるんですが…
2枚でした。 UVも2つ設定して貼り付けてます
FBXは良く知らんけど、 LW9.0+Autodesk製Plugin(Autodesk配布)でのFBX? LW9.6+Newtek製Plugin(同梱品)でのFBX? 最小限のデータのFBXを出して、ファイルを直接見て どんな要素がどう出力されてるか確認するのが 先かもね。 FBXのレイヤー==LWのチャンネル(diff.spec,etc) FBXのレイヤー!=LWのテクスチャレイヤー(内で重ね張り) のような気がするけど、そこら辺は大丈夫?
>>805 使ってるのはLW9.0の標準で搭載されてるユーテリティで出力してます。
Autodesk配布のもあるんですね、それもちょっと使ってみます。
レイヤーに関しては私も大体そのような認識です。
ためしにLWのモデラーで、違うテクスチャとUVを使ってる部分を
全部別々のオブジェクトレイヤに分けてみたら
FBXに出力後、メッシュの数がその分増えてその中に1つずつそれぞれ割り当てたUVが入っていました。
ひとつのメッシュにひとつずつしかUVが出力されないのかな…俺のLWは。
>>805 ところでLW9.0のFBXのプラグインってあるんでしょうか
9,0から標準搭載されてるし
AutodeskのHP見てもmayaと3dsMaxしか見当たらないですが
英語版LW9.0にKaydara版が付いてた可能性はあるけど、 日本語版9.0には入ってない(8.2位迄はzipが付いてた) と思うのだが。 9.6のつもりで9.0と言ってるなら止めた方が良い。 マイナーバージョンでも結構変わるからね。 Autodesk版は去年半ばに2005年の物をDLした。 今も残ってるかはしらん。
>>808 3年近く前に買った正真正銘9.0verです。
Kaydara版ってダメなんですかね。
>>808 今プラグインのutilityフォルダあさってたら
kaydara.zip
がありました。
サブディビジョンの頂点位置の計算とか曲率とか、 そういう基礎的なことを学びたいのだが、何かいい資料はないだろうか
>>812 計算方法は色んなサイトに載ってるんですが、
何故その計算になるのかの説明がなかなか無いのです。
とりあえず "√3-subdivision" から参考文献を辿ってみます。
Real Time Renderingという本に参考資料へのポインターがいっぱい載ってるよ。 確かsubdivisonの手順だけで、なぜその手順になったのかまでは書いてなかったと思うけど。
サブディビジョンって基本的に何か「正解」の曲面があるわけじゃないから、「なぜ」と言われても、 「こうやって計算してみたらいろいろと都合のいい性質が得られた」くらいの理由しかないんじゃないかな。
なんかαとβが4n+1でどうたらって感じだったような記憶はおぼろげにある
>>812 に教えていただいた論文の参考文献に
「Clark, Recursively generated B-spline surfaces on arbitrary
topological meshes」
という論文がありました。
どうもオリジナルの catmull-clark アルゴリズムを説明しているっぽいです。
かなり分かりやすく、計算の理由が書かれているようです。
(まだ途中までしか読んでませんが)
818 :
デフォルトの名無しさん :2010/09/24(金) 23:55:43
興味あるなあ
3D初心者です。行列の変換とかは何をやってるか大体わかるんですが 3Dの表示って、元データ(3次元の世界)の範囲をループして画面に表示するのって計算量的に無理ですよね? 速度はでなくていいので簡単なエンジンを作ってみたいんですが 最終的なスクリーン座標の一つ一つのドットを入力として、 それに対してモデル→スクリーンまでの行列の逆行列をかけ その結果取得出来た色を画面に表示するっていう認識でOKでしょうか
英語でおk
元データ(3次元の世界)の範囲をループして ↑ 元データ全てを描画処理するって意味?
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?
>>821 大体そんな意味のつもりです。
実際は画面に表示されないところは隠面消去だとかZバッファだとかなんだとか
色々あるんですよね?
どうもその辺のイメージがよくわからなくて
デバイスの点の位置からカメラ方向に向かって直線をのばして
モデルのボクセルと交差したらその色を取得して描画する、
みたいなイメージを持ってるんですが、そういうのとはまた違うのでしょうか?
その考えだとレイトレだな でも最前面の色を描画するって意味では正しい 何で作るの?
あ、勘違いしてた。3次元の座標を1点ずつみながらループするようなイメージがあったけど モデルデータが持ってる点だけを変換すればいいって事ですね 言語はVBで、今後必要になるかもしれないので予習目的です。 残念なのは、.netには4x4の行列クラスがなさそうなこと
RasterizeととかScan ConversionとかDDAとかでぐぐれ。 80年代ならともかく、今のCPUなら数千ポリゴンくらいは余裕でやれる。
ありがとうございます。辿ってみます。
ループするに違和感
3次元上で自分が浮かんでいると考えて、 上方向がYベクトル、 後ろ方向がZベクトル、 左方向がXベクトル と考えてみろ
えと、左手系の説明、ですか? 各軸を求める計算自体は一応理解出来ます ただ、求まった各軸のベクトルから アフィン変換のパイプラインの一部としてそのまま使える行列を どうやって作るかってのがよくわからないんです 行列を右からかける(転置してる)として元データがv=(x,y,z)だとすると v * model * view * proj * viewport的な計算をしますよね そのための計算で使える基本的な行列の演算として 「平行移動」「回転」「拡大」「せん断」についてはよく解説があるのでわかるんですが XYZ各方向の軸ベクトルからアフィン変換に使える行列を作るやり方ってのが よくわからないってことです。 なんで縦に並べるだけで回転が表せるんでしょうか?
自分で試行錯誤して理解しないと後で困るから がんばれ
>>831 そもそも変換行列ってのは、各基本軸のベクトルを
どういうベクトルに変形させるかを記述するものだから。
なるほど、ちょっと理解が進みました。 連立方程式の係数として考えると 左からかける場合はベクトルの要素を横に並べる 右からかける場合はベクトルの要素を縦に並べる、ってのに相当するわけですね こちらの方法は、θとφで表すのは無理ですよね?回転経路が複数ある的な意味で やっと最後まで作れそうです。これで勝つる!
質問なのかチラ裏なのかわからんな
836 :
デフォルトの名無しさん :2010/10/12(火) 19:19:31
プレゼンハムで三角形とかを描画するのをハードウェアで実装する方法が書かれた サイトか本を教えてください
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という値はどこから出てきたのでしょうか
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パターンあるような気もするのですが
固有ベクトルを正規化して束ねた行列の逆行列求めて掛ければいいんじゃ
質問者ですが、大きい順に並べた固有値に対応する固有ベクトル3つを正規化したものを使って 元データを全部回転させてからAABBで求めてみたところ バウンディングボックスの体積は48になりました。 微妙に答えが違うがこれで良いような気もする
固有ベクトル3本を正規化し、 入力点8つをそれぞれ射影(内積をとる)すると 5と5と2という値にならんか? 面倒なので俺は計算しないが
なるほど、気づかなかったけど、確かに計算方法は同じですね 求まったバウンディングボックス座標は [-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です。 なので、これで合ってると思う事にして次に進む事にします ありがとうございました。
4x4の行列からx,y,z の回転角度を求めるにはどうすればいいのでしょうか?
Cgのglstate.matrix.mvpって透視射影も正射影に変換されるんだな glFrustumの値が取れても行列の計算結果が明らかに違う
ピクセルシェーダをやるなら座標変換の処理は GLのセマンティクスに依存させず、全部自前で書いたほうがいい。 ところどころ矯正が面倒なだけだし、ソースも汚くなる。
>>847 leftとright、topとbottomが等しい場合、リファレンス通りの行列で演算すると正射影になるよ。
glFrustumで指定した場合は等しくてもちゃんと遠近感が出るから、実際どこか違う計算をしているんだろうね
ンなわけねえだろw そもそも式が間違ってんじゃねえのか? farとnearは一部負にしなきゃいけない、変換後の座標は左手系になる それを踏まえてnearの値を小さくしてみれ 近づいているはずなのに物体が小さくなれば、視点を逆に置いたままってオチだ
OpenGLで立方体に円柱の穴を開けたいのですが、 細かくポリゴンを指定するしかないでしようか?
うん、そう
穴が開いているように見えるだけでいいなら、ステンシルバッファを使う方法もあるけどね。
>851 CSGでぐぐれ
閉領域で、凹を許容した多角形の頂点配列を抽象化する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; とか。ご存知であればご教授ください。
根本的に何か勘違いしてないか? 閉空間Aー閉空間Bの計算結果の空間は簡単にあらわせないぞ。 必ずしも1つの閉空間にならないしな。 体積を計算したいだけかもしれないが、それでも簡単ではない。
あと3次元の話ならpolyhedron(多面体)だよな? 面積とか言ってるから2次元なのか?
>>857 そうだね。書き込んだとき、多角形の x - y をしたとき、
yの面積分xを縮小すればいいやと思ったけど、別のやり方なら
多角形の真ん中に別の多角形が現れて穴が開く可能性とか考えてなかった。
複雑化どうかは置いといて 座標 - 座標 = ベクトルみたいな理想論をしりたいよ。
あるんであれば。
>>858 3D座標ではあるけど一応平面を前提。
今のところ折れ曲がった多角形までは面倒見きれる技量がないんで。
やりたいことによって変わるとしか。 多角形のandやor操作の結果は多角形に閉じて無い。 だから領域同士のandやorとして実現するか、 NULLやboost::optionalで未定義を返すしかないんじゃないか。
>>860 ブーリアンはブーリアンで別で用意してるんだけどなぁ。アレと混同させるのはちょっと違う気がする。
結局多角形同士の足し引き結果は面積のスカラー値にしとくのが無難なのかなァ。
自然数の減算や除算みたいに、場合によっては成功する演算扱いは?
>>862 >自然数の減算
どういう場合に失敗するんだろう・・・。知らんから教えて。
そういや、多角形の足し算引き算がやりたい目的が、
面積以外であったわ。ある多角形に、負の面積を持つ可能性のある多角形を足す。
でもコレってよくよく考えると多角形のクラスで計算って考えが間違ってるやもしれん。
多角形じゃなく多角形グループにすれば綺麗にまとまる気がしてきた。
Polygon x,y;
Model s,ss;
s = x + y;
ss = s - y;
>>863 >どういう場合に失敗するんだろう・・・。知らんから教えて。
整数と混同しがちだけど自然数は負にならない。
>>864 なるほど。
確かにそうだね。
unsignedは意識しても自然数を意識した事なんてなかったよ。
スレの主旨からズレるけど。プログラミングで自然数で考えないと
いけない場合って何があるの?
どのみちやってる事は無駄だし、頭の悪いうざいガキに粘着されて迷惑だ
うざいから消えろ
869 :
デフォルトの名無しさん :2011/01/27(木) 22:34:05
フォンシェーディングで用いられる法線ベクトルは、単位ベクトルとして 扱うべき? 拡散反射や鏡面反射では、単位法線ベクトルを使いますよね
>>869 法線は向きなのだから長さがあったらおかしい。
だが、理由があるなら長さが 1.0 でなくても、プログラムが元の式を正しく反映していればそれで良い。
複数のカメラの共通するビューボリューム内にランダムな点群を発生させたいのですが まず共通ビューボリュームの出し方、というか記述の仕方がわかりません 凸包みたいのを作ることになるんでしょうか?
>>871 711 の何が分からないの?
視錐台の共通部分を最初に出すのが面倒なら、全ての視錐台を含む
AABB 内にランダムに点を打って、その点が全ての視錐台の中にあるか
調べるのでも良い。
多少効率が悪いが、全ての視錐台の論理積を作ってからでも同じことを
やるので、処理速度の問題が出るまではそれでも良いのでは。
873 :
デフォルトの名無しさん :2011/03/24(木) 14:47:04.09
WebGLの話題もここでいいのですか?
FBXSDK使ってみたんだけど、これって初期化にすごい時間かからないか?
タイルベースラスタライズのHWについて質問です。 内部的には、タイル毎に同じ頂点のパスが繰り返し実行されるのでしょうか? ラスタライズでのメモリアクセスが、小さいタイルでは内部レジスタに置き換えられるから、 ここではメモリアクセスが減りそうな気はしますが、 頂点を繰り返しアクセスするとなると、ここではメモリアクセスが増えそうな気がしてます。
>>875 タイルレンダリングは、資源をケチるための戦略であって、高速化のためのものではないよ。
877 :
デフォルトの名無しさん :2011/05/05(木) 22:25:17.06
3次元データをメモリ内に効率的に持つための 構造について解説した書籍は無いでしょうか BRep や partial entity structure など レイトレーシングなどのレンダリング用ではなく、 インタラクティブに操作できるモデラーが内部で持つようなものです それぞれに関する論文などは少しあるのですが、 本という形でまとめたものを探しています
879 :
デフォルトの名無しさん :2011/05/12(木) 10:40:10.76
ジンバルロックだね クォータニオン使ってないんだね
シーンを作る際、例えば床上に配置されるオブジェクトは必ず床とノードを共有してないといけないんでしょうか? それともオブジェクトの底面のyだけ0で床とノードは共有させないものなんでしょうか。 もしくは僅かに浮かせているのでしょうか。 また、床はどういうポリゴンの構造である必要があるのでしょうか? 多角形ポリゴン一枚?もしくはそれを対角線で分割する程度?三角or四角で綺麗に分割? その辺の決まりがわかりません。一般論でいいのでお願いします。
自分の好きなようにやればいいだけ
世の中には決まりに縛られたいという人間もいる
OpenGLでアンビエントオクルージュンをやりたいのですが、参考になる解説を教えてください。 ソースコード付きがベストです。
関係ない糞アフィリエイト貼るな
(もしかしたら)下らない質問ですみませんが。 複数のポリゴンで出来た閉じた物体の体積を求めたいんですが、バウンディングBOXを 求めて、それぞれのポリゴン頂点から垂線をBOX上に延ばして得られた体積を引く、 という形で求めようと思うんですが、もっとまともな方法は無いでしょうか? 面の向きや、凹検出の為に垂線が他の面にぶつからない…など、結局、2Dのバケツ ペイントのアルゴリズムに近い事を模索してて、さすがに自分でも 「こりゃ無いかも...」と思い始めまして。 体積を求める方法や、それに関しての良書があったら教えて下さい。
887 :
886 :2011/06/02(木) 19:04:53.28
すみません、スレ汚しなだけでした。 ググったら直ぐありました。 忘れて下さい。
888 :
デフォルトの名無しさん :2011/06/02(木) 19:08:20.09
二次元で処理する時、 グラフ用紙(升目用紙)に図形を写し取り、 内側に属する正方形の数をかぞえる。 そうするとその数が面積になる。 三次元でも同じ方法が使える。 あなたの必要な精度に合わせて、細かく処理すればよい。
889 :
887 :2011/06/02(木) 22:09:52.57
>>888 ありがとうございます。良いヒントになりました。
というのも、体積を求めるだけじゃなくて、「体積を(出来るだけ)変えずに
変形させる良い方法」が無いかと考えてたので。
そのヒントになりました。
光と光(光源と光源)が重なりあう部分の表示がおかしいんですが、 うまく処理する方法ないですかね…?詳しく解説のあるサイトとかない?
自分で作っておかしいと言うのはおかしい。
893 :
デフォルトの名無しさん :2011/06/05(日) 10:19:37.05
>>891 表示がおかしい例(画像)とおかしくない例を幾通りか見せてくれ
ユーストで関西のシェーディングカンファレンスの録画があって分かりやすかった 検索のとこでshadingで出ると思う
何か3次元形状での温度分布を作る事になりそうです。 良くある3D温度分布らしきものを組み込む事になりそうですが・・・ どの様に作って良いのか分かりません。 他のEDA(有料)とかを使うと言うのは出来ないらしいのですが、 フリーのソフトの場合は使用可能で有る方向性で考えています。 つまり最初は無料で配布形式(おまけでの)となりそうです。 一般のソフトの場合、グラフとかはどの様に作っているのですか? また、可視化部分はどの様に作っていますか? 一応ググッてみたけど、出てきませんでした。 宜しくお願いします。
898 :
デフォルトの名無しさん :2011/06/09(木) 17:48:02.81
3Dの温度分布 実測温度によるか、計算による理論地のデータを元にするか? ビジュアルの映像にするには、 3Dモデルで3D形状データを作る。 一般的なモデルツールでよい、メタセコイアでいいだろう。 温度分布の色表示はどうしようか、 かんたんな方法として、ライトの光源色を変えて使えばいい。 光源ライトは、スポットライトとポイントライトを使う。 3Dライブラリが数多くあるから、あなたの技量に似合ったものを選べばいい。
matlabクローンの無料ソフトでいいだろ
>>897 そんなの、このスレで効くようなレベルの話じゃないだろう。
下の線だけのグラフの方は隠線処理が面倒だが、上の塗りつぶしのやつなら
画面奥にあたる方向から手前に向かって、1マスずつ四角形を描くだけ。
GDIのPolygon関数だけあればいい。
グラフをグリグリ回すのでなければ、必要なのはせいぜい中学レベルの数学。
斜めの格子を描ければ、あとは各頂点をデータの値によって上下に変位させればいい。
HSPで出来なければセンスがないからあきらめよう。
心当たりはないが自分で作らなくても探せばありそうだけどなぁ
>>898-901 有難うございます。
>>898 表示は簡単そうでも、結構難しい要求です。
当面の目標は100*100の2次元に100℃までの水温の3D表示となりそうです。
y軸が温度で、上に行く程赤く表示をすると言う内容みたいです。
ファイルデータは、シーケンシャルファイルで温度データが10000個入っている計算です。
>一般的なモデルツールでよい、メタセコイアでいいだろう。
3D形状ファイルは作成したとしても、Xファイル形式だと思います。
メタセコは使い難いと思われます。
でも有難うございます。
>>899 はい、動かしてみました。個人的には相当面白いプログラムでした。
興味が有るので、調べたいと思いますが・・・
先方が意図するものと違うので、無理だと思われます。
>>900 3Dプログラムを作成するとしたら,DirectxかOpen GLが個人的には有力です。
Open cv 辺りで何か良いものが有るか?も検討してみます。
本当は、モジュール形式か何か?で有ると有り難いのですが・・・
>>901 scilabも検討してみました。多分それを使うならmatlabiになると思いますが・・・
実は一番回答の中で使えるかも?と思いました。
>>902 多分、そうなると思いますが・・・
いざ作ろうとすると結構難しいです。何か?理論が有ると思われます。
その辺を調べる所から入ります。
>>903 出来ない・・・と言って諦めたいです Orz
>>904 私もそう思います。何か有りそうだと思います。
有料でも何か作成するツールとか有りそうな気がします。
有難う御座います。
少し検討してみます。
907 :
デフォルトの名無しさん :2011/06/09(木) 21:07:14.20
データが二次元+温度なら簡単。 MSエクセルのグラフ機能で出来るし。 プログラムで書いたとしても、2Dだけでも簡単ですよ どこまでの機能を要求するか、それで決まってくるから、それはあなたが決める事
オープンソースのコードを丸々パクれ。 大抵、ソース同封なら、商用でも使用可だろう。
これくらい自分で作れるくらいのスキルがないなら流用は難しいぞ
>>907-909 有難うございます。
>>907 実は、これも検討していました。けれど・・・
「不特定多数に、配布した場合必ずしもエクセルを持っているとは限らないし、エクセルを使えるとは限らない・・・」
でNGなんだそうです。
ですから無料ソフトで考えていました。そしてスクリプトを作り自動的に表を作成するか?
と考えていたのですが・・・難関だろうな・・・と思っていました。
有難うございます。
>>908 欲しかったのは、ズバリそれです!
有難う御座います。
プログラムを作成し、時間が余った場合
OpenGLかDirectXを検討してみます。これから先有力そうです。
これから先、結果をマウスでグルグル回転表示とかになりそうです。
>>909 実は最悪の場合、それも覚悟していました。
>>910 スキルが、なかなか身に付かない・・・ Orz
本当に有難う御座います。一度消えます。
陰線処理なんか必要ないだろ。バカか 20x20のメッシュを高さと色を変えながら描画すればいいだけ。 1回目はポリゴンで、2回目はラインで書く
グリッド型のメッシュを温度データを書き込んだテクスチャを使ってディスプレースメントマッピングすればいいんじゃないの
>>911 gnuplotやRを同梱じゃ駄目なの?
>>916 メッシュの計算が分からないとか表示が分からないとか
何処で迷ってるか教えてくれ
上のHSPのデモにもあるような光の玉を作るにはどうすればいいでしょうか ライトを光の粒の数だけ配置したら重くて動きませんでした
どこに光の玉があるんだ? 俺には半透明の玉と床のメッシュしか見えないが...
お前には見えぬのか
>>920 ただの半透明画像を加算描画しているだけだよ。
受賞者のコメント通り。
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 全てに適用すれば白っぽくなっていくだろ
926 :
925 :2011/06/12(日) 01:43:17.70
ごめん、勘違いしてた 許して、そして忘れて
>>924 知識だけで頭でっかちになってるな。手を動かすべし。
加算描画なら明るくなることはあっても暗くなることはない。光の(≠色の)三原色の原理だ。
ホワイトアウトもやり方は色々ある。ブラーエフェクトみたいのとか。
じゃあ光の玉って基本ビルボードなんですか? ギラギラした光でたまにアニメーションしてるようにも見えるようなのとかも、 上手くテクスチャをアニメーションさせてるだけなんでしょうか?
ああ、ブラーさせてそれを加算で重ねていけばどんどん明るくなるって事でしょうか FF7のエンカウントみたいな感じで
>>928 そう、ビルボードだよ。アニメーションはまったくしてない。ただの一枚の絵。
床は加算合成だけど、玉は普通のαブレンドじゃないかな。SS撮ってまで確認したくはないが。
>>929 それがよくあるパターンだと思う。前フレームの結果を次フレームで使うっていうね。
他には、HDR表現のシェーダでよくあるブルームをパラメータ変えていったり、全画面に渡って真っ白なテクスチャを加算していったっていい。
932 :
デフォルトの名無しさん :2011/06/12(日) 11:14:51.67
アンチウィルスソフトが反応した
934 :
925 :2011/06/12(日) 11:24:23.61
アンチウィルスソフト切ればいいだろ
935 :
925 :2011/06/12(日) 11:42:22.88
>>932 ondo.exe を実行しようとしたら
「パラメータが間違っています。」とダイアログが表示されるんだが
なにか足りない?
パラメータって何だろ?
936 :
デフォルトの名無しさん :2011/06/12(日) 11:48:22.65
>>935 わからない、私のマシンでは正常に動作してる
テストマシン
WindowsXp,32bit, DirectX9c
>>911 遅いレスでスマンが、
データ可視化 とか Data Visualization のスレがシミュレーション板に(昔)あったと思う。
ツールやライブラリだと、 MIPAV ParaView MayaVi gnuplot R matplotlib あたりか。
あとWebサーバを用意できるなら、(質問者のスキルが足りないと思うが)、Java (Applet), Silverlight, WPF, Flash あたりで自作すれば配布の手間が減るよ。
939 :
928 :2011/06/12(日) 14:47:18.80
>>930 さん
もしかしてサンプル間違えてませんか?
玉が転がる奴ではなくて、一番上のデモの奴です。
>>939 それを先にいいやがれorz
みんな勘違いしてるじゃんかw
改めて答えると、光の玉は全てビルボードだよ。デモに使われてるライブラリのパーティクル機能だそうだ。
アニメーションしてるように見えるのは、多分ビルボードをくるくる回してるだけ。ライブラリにそういう機能があるし、ゲームでも常套手段だ。
もちろん加算合成な。
ホワイトアウトは、パーティクルで使ってるような、中央が明るいテクスチャを用意して、それをスクリーンサイズで合成。
時間経過で色の係数を上げていってるんだろう。
実際にライブラリを使って試してみ。
>>931 うるせえばーか
941 :
928 :2011/06/14(火) 02:12:17.19
ありがとうございます。 あと厳密には3Dとは関係ない質問なのですが、数キロバイトの3Dメガデモでよく使われている、 8ビット音源のような音色の音楽ですが、あれって win32のwaveoutを使って、圧縮した楽譜データをリアルタイム演奏しているのでしょうか?
>>940 916 の画像があれなんだから、誰かが勘違いしているのではなく、勝手に違う話をしている奴が紛れ込んでいるだけ。
943 :
940 :2011/06/15(水) 06:37:42.73
なんかよくわからんが、まぁいいや。
>>941 >win32のwaveoutを使って、圧縮した楽譜データをリアルタイム演奏しているのでしょうか?
そうだよ。俺は詳しくないから何の解説もできんが。
>>941 4K,16Kのintro系のデモかな?
あれなら最初にWave合成してメモリに波形生成してからwaveoutつかってるよ。
SONARとかそういう物を想定したツールがある。
詳しく知りたいならメガデモを語れスレの過去ログを探すと良いよ。
HSP厨がスレを私物化してるな 死ねばいいのに
>>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
回転軸を表すのに(1,0.0.0)はOKで(1,0.-0.0)が強制終了するんだけど +0.0と-0.0ってバイナリでは異なるの? 不動少数のフォーマットがいまいちわからん
949 :
925 :2011/06/27(月) 19:24:34.36
お前のフォーマットが分からん
950 :
925 :2011/06/27(月) 19:30:04.86
バイナリレベルでは異なっているのは確か 異なってなければ、例えば次の計算ができない x/+0 = +∞ x/-0 = -∞ ただ、強制終了の根本原因はまず間違いなくそこじゃないと思うぞ もっと前だ
951 :
925 :2011/06/27(月) 19:35:13.73
>>950 ごめん、この計算結果は x の値の符号に依存するな
ともかく、+0 と -0 で異なる計算結果が得られるんだから
バイナリレベルで異なっているって事だ
浮動小数点のフォーマットは Wikipedia でも見れば分かる
しかし、繰り返すがバグの原因はそこじゃない
それ、オイラー角かなんかなんだよね?もしかして方向ベクトル? アークタンジェント関数(atan2)とか、 ライブラリによってはゼロの符号次第で劇的な差異が出る関数もあるけど…
normalize(A)=A/sqrt(A) これであってる?
954 :
948 :2011/06/27(月) 23:55:46.37
Wikipediaをじっくり見ましたが、+0.0と-0.0では仮数部と指数部が両方共0でサインビットだけが異なるようです。 これで何で違いが出るのかはさっぱりわかりませんが、そう言うものとしてあきらめます。 私の完璧な推理によればぐりぐり視点を動かしてたまたま-0.0を食わすと死ぬです。
955 :
デフォルトの名無しさん :2011/06/27(月) 23:57:59.58
不連続点
なんかでアサートかけてんのかねえ
0じょさん
958 :
デフォルトの名無しさん :2011/06/28(火) 20:31:41.30
>>947 ごめん。返事忘れてたけどそれで動きました。
XP用はもう2008年くらいのしかないと思ってた。
960 :
デフォルトの名無しさん :2011/07/01(金) 23:42:10.92
2Dの等高線に高さを与えて3Dの形状を作成したいのですが、 参考になる資料、ライブラリはありますか? matlib使えば出来そうなのですが、 他に良さそうなのを探してます。
それぐらいなら自分で作れない?
962 :
デフォルトの名無しさん :2011/07/02(土) 21:39:49.24
カクカクの形状なら出来そう。
>>960 2Dの元データの等高線はどういう記述なのかわからんのじゃ堪えようもないじゃろ
ハイトマップ->3Dメッシュなら参考資料いくらでもあるし。
964 :
デフォルトの名無しさん :2011/07/02(土) 22:27:46.14
965 :
デフォルトの名無しさん :2011/07/02(土) 22:40:24.07
2Dの元形状はポリラインで高さを与えて3Dメッシュにしたいです。
>>965 2Dメッシュをポリラインとの交点で分割して、できた四角形、五角形を必要なら更に分割するんじゃダメなの?
967 :
デフォルトの名無しさん :2011/07/02(土) 23:45:15.29
分割して出来た頂点の高さを補間しなければいけないので、 何処かに良いライブラリや参考資料があればうれしいのですが。
968 :
デフォルトの名無しさん :2011/07/02(土) 23:56:21.19
>>967 元データと、利用目的を明確に提示せよ、
そうしなければ曖昧な回答しかできない。
また、ビジネスなのか? 娯楽趣味の範囲なのか?
2D−CADデータから3D−CADデータへ変換して、ポリゴンへと変換する。
日本地図などは、実測標高データから変換する。
目的によって方法が異なる。
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 綺麗ってのは分岐が少ないことかな。
ま、それはともかく、再帰なしで書くことが理屈上可能なのは解るが、
現実どう書けばいいか解からんのよ。
グラデーションを再帰でかいたことないな、、、
>>971 リンク先読んでもわからないの?
ブレゼンハムはわかるの?
ブレゼンハムを検索して理解できないなら、説明には小冊子を書くくらいの分量は必要になるから、掲示板で質問して答えを期待するのは難しい。面識のある人に聞くべき。
面識のある、見識のある人に聞かなくちゃだね。
>>971 せめて線形補間が分かれば遅くとも書けるぞ
とりあえずスクリーン座標で 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) を使えば除算を減らせるので速くなるぞ
977 :
976 :2011/07/10(日) 18:44:33.11
969はそういう質問じゃないような気がしてきた。 三角形を細かいメッシュにして色をつけたいなら 969 みたいな subdivision が簡単だし綺麗。 すでに細かくなっていて 3点の色をアンカーにして色を補完したいなら、距離で重み付け補完。
>>973 ブレゼンハムは解るよ。元のコードにも書いて(応用したShellingが)あるのも分かるし。
でもグラデーションとは関係なくない?ブレゼンハムで線形のグラデーションは分かるけど、
3頂点のグラデーションて聞かないしさ。
980 :
976 :2011/07/10(日) 23:51:33.03
ぅぉぁぅ全然気付かんかった >lerp
>>979 ポリゴンのラスタライズ、グーローシェーディング辺りを調べるといいぞ
線形補間を3つ同時にやればグラデーションできる
3つ同時ってのは、頂点→頂点の補間を2つと、その間の補間で1つ
まずはラスタライズからだな