- 1 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 18:13:16 ]
- NTT DoCoMoのiモード携帯電話用Javaに関する話題を扱うスレッドです。
※DoCoMo以外は下記スレへ。 CLDC+MIDP+携帯電話用Javaスレッド part 6 pc11.2ch.net/test/read.cgi/tech/1155174514/ ■ iアプリ特有ではなくJava一般に関する質問はこちらへ 【初心者】Java質問・相談スレッド99【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1173026128/ ■ iモード携帯電話用Java(iアプリ)まとめサイト ton.my-sv.net/ ■関連スレ 【日本携帯】Mascot Capsule/Micro3D【標準】 pc8.2ch.net/test/read.cgi/tech/1117773530/ 過去スレ Part13 ttp://pc11.2ch.net/test/read.cgi/tech/1164168601/
- 513 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 23:23:35 ]
- iアプリを作成しはじめたばかりのものです。
上のほうで、paint() メソッドでは何もしなくていいような書き込みがあるのですが、 Windowsアプリでいう WM_PAINT のようなものとは本質的に異なるのでしょうか? 例えば、端末が閉じられたときや、何らかの別画面が表示された後に、失われた部分を 再描画するのにpaintメソッドが呼ばれると思っていたのですが、paintメソッドを無視して いいということは、画面の内容は常に保持されていて、一度描いた内容はアプリ側で画 面を描きかえなければ、消えることはないということでしょうか?
- 514 名前:デフォルトの名無しさん mailto:sage [2007/06/03(日) 23:29:35 ]
- paint() メソッドでは何もしなくていいんじゃなくて何もしてはいけないんだよ
- 515 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 00:26:06 ]
- >>513
実際の表示面の内容は保持されないから、再描画する必要はあるよ またWM_PAINTのようにダーティエリアが設定される事もない Windowsで言えばメッセージループのアイドルタイミングにあわせて GetDC - GDIAPI描画する作り方をイメージするのがよいかと アイドルタイミングで常に画面が更新して、paintでわざわざ描画しないようなもん
- 516 名前:513 mailto:sage [2007/06/04(月) 00:49:25 ]
- >>515
画面の更新の必要がないときにでも、定期的に別のところで再描画するということだったんですね。 やっと理解することができました。どうも、ありがとうございました。
- 517 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 02:13:08 ]
- Canvasを使用する場合はpublic void paint(){}がないとエラーが出る
paint()なんて使いたくないからいらないと思っても 組み込まないとエラーが出るからとりあえず入れとくしかない これはドコモジャバの約束事だからしかたない
- 518 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 02:27:07 ]
- そもそもMIDP1.0で既に
protected abstract void paint(Graphics g) だし(´・ω・`)
- 519 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 02:40:11 ]
- >>517-518
キミ達ちょっと流れとズレてるぞ
- 520 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 02:59:51 ]
- APIリファレンスを活用できるようになって欲しいという親心?('-'*)
- 521 名前:デフォルトの名無しさん [2007/06/04(月) 11:20:37 ]
- 904iのオプションAPI対応リストってどっかにないですか?
公式行っても903までの対応状況しかないんだけど。
- 522 名前:521追記 [2007/06/04(月) 11:27:07 ]
- getAudioTrackPresenter()
使いたいんだけど、904で対応してるキャリア増えてるかなって思って。 手元にはFしかないからわからんのよね・・・
- 523 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 14:38:37 ]
- Transform#transVectorが容易にオーバーフローするので、ほとほと困っています。
Vector3D v = new Vector3D(128,0,0); Transform tr = new Transform(); //単位行列 tr.transVector(v,v); System.out.println(v.getX()); こうすると、正負がひっくり返って-128.0を出力します。 推測するに、transVectorは内部のどこかでaxbxcを単精度で計算しているようです。
- 524 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 17:48:19 ]
- >>523
TranformってFastMath使ってるよね? だったら、float値は12ビット固定少数(1:符号, 19:整数部, 12:少数部)に変換されるんじゃない? それにしても 128.0x4096 = 7+12ビットなので、楽勝なはずだが。
- 525 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 18:15:46 ]
- そのとおりなんですが、おそらく、内部で3つのFastMath値の積をFastMath精度で計算しているらしく、
計算途中で整数部7bit x 3 = 21bitの値が現れ、それが原因でオーバーフローになる… と推測したわけです。
- 526 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 19:39:02 ]
- >>525
うわw そうかもw 掛け算する場合は、乗数のビット数+被乗数のビット数 <= 32bitでなければならないってことかwダサっw 普通、固定少数の積は 基数のビット幅の倍に拡張して、 return (int32)((int64) a * b >> 小数部ビット数); とかやるけど、やってないんだw FastMathとかTransformとかGraphics3Dまわりってどこが書いたの? 何回も言うけどクソ杉。
- 527 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:04:25 ]
- エイチアイはクソ、それを採用したドコモ等もクソ。
- 528 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 22:10:33 ]
- だからこそのFastMath。
- 529 名前:デフォルトの名無しさん mailto:sage [2007/06/04(月) 23:33:21 ]
- iアプリからインターネットランキングに登録したいので
パスワードと得点をURLから送信しようと思ったけど、 それだとアプリを解析されて不正登録ができてしまうと思った。 そこまでして不正登録をする人はいないと思うけど 不正登録のできない得点の送信方法があったら教えてもらえますか?
- 530 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 00:28:11 ]
- しかしJavaからならFastMathよりfloatで直接計算するほうが速度出る罠(実機確認済)
- 531 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 00:54:28 ]
- >>529
アプリ自体が解析されるのを懸念するのであれば、何をしても無駄では? とりあえずそこは置いておいて、アプリからHTTP(?)で送信するデータの 加工等を考えてみたらどうかな。 短めのデータであれば、自分なら復号可能でチェックサム付きの簡単な 暗号化機能を作ると思う。 というか興味あるので識者の意見求む。
- 532 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 01:04:51 ]
- アプリがPCからダウンロードされるのを防ぐ方法が前に出てたと思う
それを探せば解析される心配はなくなる、たぶん
- 533 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 01:09:31 ]
- >>529
アプリの解析についてはiモード網内からだけダウンロードを許可にすれば良い。 >>531にある通り、データの加工は必要に応じて自分で検討すれば良し。 通信内容はPOSTでやり取りするべし。 GETだとiモード履歴情報サービスを使われると、通信内容が分かってしまう。 欲を言えばHTTPSだが、そこまで必要ないでしょ。
- 534 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 13:11:02 ]
- ちょっと漠然とした質問で申し訳ないんですけど、
iアプリからWebサービスを呼び出して利用する事って可能なんでしょうか? ちょっと試してみようかなと思ったんですが、Dojaの資料を読んでも どこにも載っていなかったので。。
- 535 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 17:31:27 ]
- >>534
アプリをダウンロードしたドメイン以外とは通信できなかった気がするので、 アプリのダウンロード元にプロキシCGIを置いておいて、 アプリはそこ経由で通信すると良いんじゃなかったっけっか。 識者フォロー頼む。
- 536 名前:529 mailto:sage [2007/06/05(火) 17:55:10 ]
- >>531-533
レスありがとうございました。 PCからのダウンロードを禁止する方法を調べてみます。
- 537 名前:デフォルトの名無しさん mailto:sage [2007/06/05(火) 18:11:54 ]
- Eclipse(+プラグイン)使って開発してるんだけど、プロジェクトをsubversionで
管理してると、Eclipseからエミュレータ起動したときに、res/ 内の.svn/ まで 突っ込んだjarを作ってくれやがる。 除外設定を色々してみるも変わらず。 どなたか対処法ご存じありません?
- 538 名前:デフォルトの名無しさん [2007/06/05(火) 21:54:26 ]
- AudioTrackPresenterで、オーディオトラックのみで
構成された3gpを再生させようとしているのですが、 エミュレータで動作確認したところ、再生しようとした音源とは 異なる音が再生されています。 これはエミュレータだから、音がおかしくなっているんでしょうか? 自分の携帯が902なので実機では確認できないのですが、 何かご存知でしたら教えてください。
- 539 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 15:21:55 ]
- ソフトキーのラベルって、初期は全角2文字(半角4文字)までが基本だったと思うんですけど、最近のは全角で3文字とか4文字とか入るみたいですね。
そこで、どの機種で何文字まで入れられるか知りたいんですが、どこかまとめてあるサイトなどありませんか? 最悪、どのシリーズ以降は何文字が保証されてるなどの情報でもいいのですが。 どなたか知っていたら教えて下さい。
- 540 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 18:27:21 ]
- DoJa3.5の機種で3文字だっけ?
- 541 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 19:15:48 ]
- PanelのアプリでPopupメニューってできるものです?
- 542 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 22:01:50 ]
- はい
- 543 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 22:14:51 ]
- 数年ぶりに携帯を変えたので、
初めてのiアプリに挑戦しています。 janis.or.jp/users/segabito/f904/ プログラム自体はあらゆる解像度に対応しているため、 F904iの画面を横にすれば快適にプレイできるだろう、と期待していたのですが、 実機で動かしてみると、縦でも横でも240x240の枠の中でしか動きません。 ワイド画面をフルに使うには、特別なAPIが必要なのでしょうか。
- 544 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:08:27 ]
- >>542
まじで?
- 545 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:49:07 ]
- >>543
たしか240x240以上はjamのDrawAreaに直接サイズを指定する必要があったはず。
- 546 名前:デフォルトの名無しさん mailto:sage [2007/06/06(水) 23:50:30 ]
- >>543
ttp://www.nttdocomo.co.jp/service/imode/make/content/spec/iappli/index.html >※4: ADFのDrawAreaキーに指定がない場合は、描画領域が横240×縦240となります。
- 547 名前:にくちゃんねる ★ mailto:sage [2007/06/07(木) 07:32:57 ]
- >>545-546
DrawAreaを変更したら一発でうまくいきました。 ありがとうございます。これで快適になりました。 適当に移植してから軽量化を考えようと思っていたのですが そのままでも十分な速度で動いてしまったので驚いています。
- 548 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 08:43:05 ]
- パソコンでJAVAやってたんなら画像処理速度は携帯のほうが上でしょうな
画面小さいし常駐ソフトも少ないから当然といえば当然ですが
- 549 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 10:13:39 ]
- >>547
なんでキャップ??
- 550 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 12:47:23 ]
- エミュはJava上でJ2ME用インタープリタが走っていていて遅いとかなんとか
- 551 名前:デフォルトの名無しさん mailto:sage [2007/06/07(木) 16:41:03 ]
- なるほど。
- 552 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 14:42:22 ]
- 基本的すぎて申し訳ないのだが、iアプリから携帯電話ネイティブの画像ファイルを削除する方法はないよね?
addEntryした画像を削除出来ないのはキツイです ...
- 553 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 16:23:33 ]
- アプリからネイティブデータ消し放題ってそれ何てマルウェアやねん。
標準機能のカメラにしてもwebブラウザにしても、撮影した画像や ダウンロードした画像の保存はするけど、削除するのはデータフォルダ 機能からであって、それぞれのアプリケーションではないよね。
- 554 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:38:15 ]
- >addEntryした画像を削除出来ないのはキツイです
これ何で? わざわざユーザがaddEntryしといて削除するかどうかはユーザが決めることじゃないか たしかに端末によっちゃ手間がずいぶんかかるやつもあるけどさ あれか。最近流行りのデータフォルダに偽装してデータを置くとかいう
- 555 名前:デフォルトの名無しさん mailto:sage [2007/06/08(金) 23:44:32 ]
- でもあれ一部の端末で無理になったんじゃなかったっけ
- 556 名前:デフォルトの名無しさん [2007/06/08(金) 23:44:53 ]
- FastMathとTransformがあまりにクソ仕様で,クソ精度で,クソ遅いので、
すべてのメソッドを自作したら50倍くらい速くなった。エミュ上だけど。 でもGraphics3dのラスタライザ自体がクソなのね。 OpenGL ESを一般公開するか、俺にGraphics3dも書き直させてほしい。
- 557 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 00:11:12 ]
- エミュ上かよ……。
- 558 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:35:53 ]
- 質問があります。
C言語には、void *といったなんでも入る型がありますが、 javaいもこのようななんでも入れられる型はあるのでしょうか?
- 559 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:37:54 ]
- javaいも
って美味しそう voidはある
- 560 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 01:42:42 ]
- >>558
つObject
- 561 名前:558 mailto:sage [2007/06/09(土) 01:50:00 ]
- >>560
こんな便利な型が有ったとは知りませんでした。 有り難うございます。
- 562 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:02:19 ]
- 次はメソッドが無くなっちゃったとか言って来そ。
- 563 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 02:31:28 ]
- ドコモのF901isなんですが無料で遊べるチェスのアプリはないでしょうか?
- 564 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 03:19:12 ]
- 板違い
- 565 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 04:12:14 ]
- またまたGraphics3dだけど、これzソートかよw
16bit深度バッファで112kb位けちるなよ。 おまけに1モデルあたりのサーフェース数が最大255面って正気?w Primitiveクラス内部で、int[] vertexBuffer = new int[255*3*3]とかハードコードされてんだw 想定外にボロイんで、俺のバグだと思って悩んじゃったじゃないか。 あと、頂点座標が12bit固定少数扱いされてない気がするんだけど気のせい? マジで萎えるなこれ。
- 566 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 09:19:01 ]
- GIFがPNGに比べて容量が大きくなってしまうんですが、
どうにかできないでしょうか。だいたい1、2KBくらいでかくなってしまいます。
- 567 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 12:16:02 ]
- スレ違いな気がするけど
どうしようもない
- 568 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:16:57 ]
- Jar圧縮しておくと若干縮む場合もあるけど、期待するほどじゃない。
- 569 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:18:45 ]
- >>565
そろそろうざい
- 570 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 14:23:40 ]
- >>566
1〜2kbが気になって仕方のないサイズであるなら、色数を減らす等の対処をすればいい。 それが嫌ならプログラムを削減すればいい。 それも無理ならどうしようもない。 >>567 iアプリ開発の話だろ。たぶん。
- 571 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 15:29:46 ]
- 画像の色数が多いならJPEGにすれば?
透過できない点に注意が要るけど
- 572 名前:566 mailto:sage [2007/06/09(土) 17:03:54 ]
- みなさんありがとうございます。
確かによく考えたらスレ違いでした。すいません。 減色とか劣化は試してるんですが、満足行く結果は出ないです。汚いのにPNGと容量一緒とか。 減色ソフトを買ってみます。
- 573 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 18:12:18 ]
- >>565
頂点バッファサイズというより、インデックスバッファがバイト型で なおかつ固定番号の処理してるんじゃない? >>569 俺としては現状の問題点を洗い出すという点で悪くないと思ってる
- 574 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 19:22:30 ]
- 空気嫁てない
- 575 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 20:03:43 ]
- たぶん君が空気だと思ってるのは君だけだ
- 576 名前:デフォルトの名無しさん mailto:sage [2007/06/09(土) 20:11:29 ]
- ↓をのっとっちゃえば?
どうせ過疎&糞スレだし。 【日本携帯】Mascot Capsule/Micro3D【標準】 pc11.2ch.net/test/read.cgi/tech/1117773530/
- 577 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 00:31:29 ]
- >>俺としては現状の問題点を洗い出すという点で悪くないと思ってる
御意。 自分が使ってないからって「空気よめてない」とか自己中なことよく言えるよな。 そもそもおまえの空気なんかしらねーよw 興味ないならスルーすりゃいいだろ? ひょっとして糞クラスライブラリ制作会社関係者? 128.0fでオーバーフローするっていう情報だって、知らなけりゃハマリバグになってたかも。 Graphics3d, FastMath, Transformは糞クラスなので、糞っぷり情報は貴重。
- 578 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 01:57:18 ]
- >>565
> またまたGraphics3dだけど、これzソートかよw > 16bit深度バッファで112kb位けちるなよ。 ソフトウェアレンダリングだと大抵Zソートじゃない? 最近だとFlashのPapervision3Dもそうだし。 ZバッファはピクセルごとにCPUが一番嫌がる分岐が必要になるっしょ。 まあ3Dの実装がカスなのには同意するとして、エイチアイに退場願いたければ ATIやNVIDIAがとっととケータイに食い込んでくれるのを祈るのが一番だろうな。
- 579 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 02:43:57 ]
- 煽り口調を何とかして欲しいと思う。
情報は有難いんだが…
- 580 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:16:34 ]
- もし同じ症状になった人がいれば教えてほしいんですが。。。
Iapplicationの派生とCanvasClass派生とは別にClassを作成して、 そのClassが突然作成不能になっちゃったんです。 解説すると長くなりそうなので簡潔に。 ・アプリは起動する ・そのclassのインスタンスを作成したり、staticフィールドにアクセスしようとした瞬間アプリが落ちる ・Throwableで囲んでもキャッチに飛ばない ・ただし落ちるのは900のみ ・もしかしたら900isも落ちるかもしれないけど実機がなくて試してない ・901は大丈夫 ・メモリエラーかとも思ったが、同じメモリの機種でも900じゃなければ大丈夫 Javaってエラーキャッチできないこともあるんですね。。。
- 581 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 04:22:20 ]
- 背面カリング無い方が萎える。
- 582 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 10:51:02 ]
- >>580
VMが落ちたらcatchできない JavaでもPHPでもPerlでも同じ
- 583 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 11:12:53 ]
- >>580
その別のクラスってなに? そのクラスのコードは、その携帯電話の中に本当に存在してるの? 症状からNoClassDefFoundErrorな気がするんだけど。
- 584 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 11:28:29 ]
- >>580
>>583の指摘を具体的に言うと、900はCLDC1.0、901以降はCLDC1.1で違うってこと。 その独自クラス、例えば浮動小数点使ってたりしないか? DoJa-3.5用(900用)のエミュレータで動かしてみると原因がわかるかもしれない。
- 585 名前:デフォルトの名無しさん [2007/06/10(日) 13:30:50 ]
- すいません。 誰か教えてください。
DoJa-3.5用(900用)のエミュレータを使ってHelloWorldを出すという、初歩の初歩でつまずいてるのですが、ビルドを実行すると javac:ターゲットリリース1.1がデフォルトのソースリリース1.5と競合しています。 とでて、ビルドが失敗してしまいます。 どうすればよいのでしょうか? Javaスレの神様どうかお教えください。お願いします。
- 586 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 13:43:13 ]
- マルチ乙
pc11.2ch.net/test/read.cgi/tech/1180419689/378
- 587 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 15:37:44 ]
- >>580さん
>>583さん 本当にありがとうございます。。。 動きました。 原因は浮動小数点でした。。。 Dojaのターゲットプロファイルを3.5まで下げてコンパイルして 何もでなかったので安心してました。。。 そういえば小数点使えるじゃんとか昔に調子乗って作って、 途中から900対応にしたので忘れてました。。。 出直してきます。。。 ありがとうございました!!!!!!!
- 588 名前:デフォルトの名無しさん mailto:sage [2007/06/10(日) 15:39:51 ]
- …そして、レス番号も間違えてしまいました。
>>583さん >>584さん でした。 ご無礼お許しください。
- 589 名前:552 mailto:sage [2007/06/11(月) 11:46:46 ]
- >553
>554 業務アプリで、1日辺り数十枚の写真を取り貯めしてセンタへ一括送信するってのを作った。 その際、スクラッチパッドはデータが一杯なのでネイティブ領域に撮った写真を保存してた。 携帯電話の機種によっては、iアプリで撮った写真は専用のフォルダに入れるくらいだから、 iアプリが自分で保存したエントリィぐらい削除できても良いのに、ってチラ裏ですまん ... やっぱ、普通に考えても削除はまずいよな ...
- 590 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 00:23:21 ]
- graphics3dなんだけど、こうやって↓ビットORして使う定数なのに,
Primitive.NORMAL_PER_FACE | Primitive.TEXTURE_COORD_PER_VERTEX 排他的に使う以下の定数が、 NORMAL_PER_FACE = 3 NORMAL_PER_VERTEX = 2 と、3, 2で定義されているってどういうつもり? 普通、2^n数列だろうが。 両方同時に指定された場合を考えてるのか?ならその場合、throwすべきだろ。
- 591 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 00:25:31 ]
- ヒント:ビット節約
- 592 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 11:32:21 ]
- つまりNORMAL_PER_FACEのときはビット1が必須だってことだろ
- 593 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 11:55:23 ]
- NORMAL_PER_FACE と
NORMAL_PER_VERTEX は同時に指定しないだろ・・
- 594 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 12:44:16 ]
- 排他的だから 2と3なんだろ。
2と4だったら、排他的な関係とはいえないだろ。
- 595 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 13:05:52 ]
- 愚痴ばっかり書くから…
- 596 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 21:33:49 ]
- 携帯ではArrayListって使えないんですか?
どうやっても上手くいかないのはなぜなんだろう? 絶対出来ないのなら、リンクリストみたいなのを自分で作ろうと思うのですが……。 明日までに仕上げたいものなので、出来れば早めのレスをよろしくお願いします。
- 597 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:07:37 ]
- >>596
少なくともCLDC1.0には無いみたいね。 APIリファレンスぐらい見ようよ。 Vectorならあるけど駄目?
- 598 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 22:11:56 ]
- Vectorがありましたね……すいません。
もうちょっと調べればよかったです。 ご迷惑をおかけしました。
- 599 名前:デフォルトの名無しさん [2007/06/13(水) 23:23:16 ]
- >>594
よく読め。 >>両方同時に指定された場合を考えてるのか?ならその場合、throwすべきだろ。 だからさ、そのNORMAL_PER_FACE とNORMAL_PER_VERTEXをユーザー側で利用する場合を考えてみ。 そのPrimitiveが 面毎法線なのか、頂点毎法線なのか調べるのに、 flags & NORMAL_PER_FACE ってやるだろ普通だったら。 なぜなら、ビットORして使用するような定数列の場合、2^nで定義するって<常識>だから。 その定数が幾つで定義されているかなんか知る必要がないの普通は。
- 600 名前:デフォルトの名無しさん [2007/06/13(水) 23:25:55 ]
- ところが、このクソライブラリの場合、
まず、System.out.println()で、NORMAL_PER_FACEとNORMAL_PER_VERTEXの値が それぞれ幾つなのか調べる。2^n列で無いことを発見。 ((flag & (NORMAL_PER_FACE | NORMAL_PER_VERTEX) ) == NORMAL_PER_FACE ) で、やっと動作。
- 601 名前:デフォルトの名無しさん [2007/06/13(水) 23:31:35 ]
- しかもなにこのラスタライザ。クソ遅いし。
おれのBREW2.1対応のポリゴンラスタライザ(任意矩形クリッピング+テクスチャマッピング+ パースペクティブコレクション+Gouraudシェーディング+カラーモジュレーション) の5倍以上遅い。俺のはサンプラーとスキャンライン周りはアセンブリで書いているものの、 graphics3dもラスタライザ自体はネイティブだろうから、BREWとさほど変わらないはず。
- 602 名前:デフォルトの名無しさん mailto:sage [2007/06/13(水) 23:35:08 ]
- >>599
内部動作とリンクしてるフラグ指定なら常識ともかぎらんよ たとえば下位ビットは法線があるかどうか、上位ビットは面毎か頂点毎か という意味で処理してんなら2と3が指定されてるのは自然だ そして法線が無い場合は0というのも納得がいく まあカラー指定のビットの方はそうはなってないんだけどな・・
- 603 名前:デフォルトの名無しさん [2007/06/13(水) 23:42:50 ]
- >>602
いや、いいほうに解釈しすぎ。 だから、ユーザーからするとそれぞれの値は基本的に見えないんだよ? ノーマルがあるかどうかを調べたいならそれこそ(flags & (PER_VERTEX| PER_FACE)) って"やるべき"。こんなの基本中の基本だって。社内ライブラリならどうぞご勝手にって感じだけどね。
- 604 名前:デフォルトの名無しさん [2007/06/14(木) 00:01:53 ]
- graphics3dではテクスチャサイズが正方2^n指定なのに、なんでテクスチャサイズの値域
(サイズが128x128だったら、[0,...,127])でUV指定するんでしょうか?許せません。 ちなみにおれのラスタライザはOpenGL|ESと同じ1:15:16の固定少数フォーマットだけど、 テクスチャ座標はちゃんと、[0.0,...,1.0]([0,...,0x10000])に正規化してます。 テクスチャサイズを2^nに決めているので、パフォーマンスのペナルティないんで。 あと、テクスチャーサンプラーでは乗除算を一切使ってません。
- 605 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:07:13 ]
- >>603
APIリファレンスに値書いてあるとおもうけど。 わざわざprintlnしたの?w
- 606 名前:デフォルトの名無しさん [2007/06/14(木) 00:12:53 ]
- >>581
凸包モデルしかテストしてなかったので、バックフェイス刈らないって気付かなかったw マジで? どういうつもり? 渡された頂点列を、World->View変換後に外積計算して 外積のz成分の符号を見るか、もしくはWorld変換後、視線ベクトルとの内積の符号を見れば 裏か表か判るんですが。。。やり方判ったら、そんぐらいやってもらえませんか? だめだこりゃ。。。orz docomoさま、OpenGL|ESを一般公開してください。
- 607 名前:デフォルトの名無しさん [2007/06/14(木) 00:13:43 ]
- >>605
うん。
- 608 名前:デフォルトの名無しさん [2007/06/14(木) 00:23:24 ]
- 具体的には、頂点座標v1, v2, v3の順に渡されたとし、
World->View変換後の頂点座標をv''1, v''2, v''3とすると、 O = (v''2-v''1)X(v''3-v''1) Sign( O.z )が視点に対する面の向き。 また、World変換後の頂点座標をv'1, v'2, v'3とし、視線ベクトルを sとすると、Sign( (v'2-v'1)X(v'3-v'1)・s )が視点に対する面の向き。 X: 外積,・:内積 graphics3dにバックフェイスカリング入れてください(CULL_NONE, CULL_COUNTERCLOCKWISE, CULL_CLOCKWISEでフラグ指定)。 バックフェイスカリングはリアルタイムレンダリング界の常識です。
- 609 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:28:46 ]
- というかBREW版のMCV4はわりとまともに機能がそろってるので
DoJa版インターフェースを作ったヤツがタコだったんだろうな
- 610 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:50:04 ]
- >>609
BREW版 MascotCapsul v4の場合、下位層がOpenGLだからまともなだけ。 てか、OpenGLつかえるなら、MascotCapsulなんかそもそもいらん。 じゃまなだけ。
- 611 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 00:54:51 ]
- ちなみにOpenGL使えるauの端末は、ハードウェアラスタライザー搭載機のみ。
型番でいうと、43とか以降かな。
- 612 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 01:04:38 ]
- 作ったやつ(ら?)は、外積とか携帯では計算が重すぎるから・・とか思ってそうだなw
- 613 名前:デフォルトの名無しさん mailto:sage [2007/06/14(木) 01:21:31 ]
- テクスチャーマップドポリゴン描画処理 >>>> 越えられない壁 >>>> ベクトル外積計算1回
|

|