1 名前:名前は開発中のものです。 [2008/10/28(火) 18:23:40 ID:2CMNNHdH] Javaでゲームを作ろうと思っている人、今作っている人等が情報交換するためのスレです。 2Dのスレはありましたが、総合スレがなかったので立てました。 2D,3DどっちでもOKで、グラフィックス、アルゴリズム、お勧めサイト等、内容も自由です。
78 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:23:44 ID:iT3YBWbk] >>76 カードゲームだと、Java特有の処理はあんまり無いような… Image2Dクラスの使い方と、Graphicsクラスの使い方を勉強して画面表示を覚えて、 あと、MouseListenerなんかで入力方法を覚える。 ルールなんかのゲームの処理に関してはC++なんかとほぼ共通だと思う。
79 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:37:13 ID:iT3YBWbk] >>77 最近のPCでJOGL使えば、PS2くらいの表現はできると思う。 >>52 でレスがあるjMEとかあるし。 ただ、性能云々の問題よりも、見てくれのいい画面を作ろうと思うと、 データの作りこみで挫折するような気がする。
80 名前:名前は開発中のものです。 mailto:sage [2008/12/03(水) 22:47:18 ID:u1z+UiOf] >>72 現行のミドルレンジ以上のPCでJava+OpenGLなら ある種のピーク性能以外はPS3やXbox360を圧倒できそうなもんだが。 デバイスとの連携はデバドラやOSとの絡みが出てくるから マルチプラットフォームに縛られたJavaよりC/C++や.NETが強そう。 >>77 JOGLはしらんが2000年ごろでもOpenGLのバインドは複数あったぞ? バイトで3Dチャット作ったりとかしてたし。 >>79 データの作りこみとか言語関係無い。
81 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 00:09:46 ID:KzEmpabP] Xbox360は整数演算がやたら遅い
82 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 01:16:11 ID:VHEVebHW] >>80 結局JOGLしか生き残らなかった そしてそのJOGLも2年位前にでたばっかり メンテされてなくて古いバージョンのままなんて使えないからね
83 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 01:51:21 ID:Ji7FDur6] 需要があるかどうかでで決めているんじゃないか? フレームワークを整備するにしてもその分野に投資するわけだから、開発者の理想とは多少違う原理が作用している。 ただハードについてはどういう進歩をするか未知数だし、xboxとかでjvmが動けば面白そうなのは確かだけど、最近だとネットブックとかあるからな・・・
84 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 21:50:39 ID:8CYYyQEe] >>82 JOGLはJava1.4の頃から存在するみたいだから、2年ってことはないと思う。 というか、そろそろJOGLは標準に統合するか、インストーラがついてもいいような気がする。 もう、Java2Dとレンダリングパイプラインは統合してるんだし。 知人にゲーム渡すときも、「できればJava6にしといてね」なら「はいよ」で済むけど、 「JOGL入れといてね」はけっこう敷居が高い。
85 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:23:53 ID:jukux4Dk] こういう本が邦訳されないかなあ Pro Java 6 3D Game Development: Java 3D, JOGL, JInput and JOAL APIs (Expert's Voice in Java) ttp://www.amazon.co.jp/Pro-Java-3D-Game-Development/dp/1590598172
86 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:36:38 ID:VHEVebHW] >>84 正式版がずっとでてなかったのだよ だからまだ2年ちょい それとJOGLは配布に含めてもいいし、webstartで落としてきても良い webstartならばOSによって自動で判別してくれる
87 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:39:50 ID:VHEVebHW] >>83 ネットブックはクソみたいなマシンパワーだよ Windows2000がでる前くらいのスペック あとnVidiaのJOGLの動き見てるとウインドウモードでも 垂直同期取ってくれるので非常に滑らかに見えてよろしい IntelとかUMAなやつはもちろんそんなことはしてくれない
88 名前:名前は開発中のものです。 mailto:sage [2008/12/04(木) 23:49:14 ID:VDuy+WFo] >>85 プログラミングの本って高卒なら、英語でも大抵スラスラ読めるよ。 元々半分英語みたいなものだし。
89 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 00:18:21 ID:+H0hMIv3] >>87 945くらいのチップセットでも、Jakeあたりはサクサク動くんじゃないか? Javaでのゲーム制作の話であれば、そのくらいの性能があれば大抵事足りるような。
90 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 01:13:41 ID:e3ZCgJXA] あの、、、、JMonkeyEngineとかGolden T Game Engineの話もしましょうよ
91 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 01:24:48 ID:YhYI7/EZ] GTGEは開発止まったままソース公開されてないから終わった。 JMEはまだJOGLに対応してないから始まってない。
92 名前:名前は開発中のものです。 mailto:sage [2008/12/05(金) 21:41:54 ID:+H0hMIv3] ホビーでゲーム制作するにはJavaはかなりいいと思うんだけどね。 絵を出すまでが簡単だし、標準ライブラリが充実しているからサクサク作れるし、 Eclipseが強力な開発環境を与えてくれるし、デバッグもやりやすいし。 あとは、JOGL関係の資料がもうちょっと充実してくればな…
93 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 00:34:43 ID:DBxqTjVR] Javaにどっぷりつかってから、マクロ使いまくりのCのソースを見ると暗号に見える…
94 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 00:54:04 ID:fH1XA+GI] if ((flag>>12 ) &~ 0xff == ABC_MASK)... とかも今の時代は暗号なのか!といわれる。
95 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 01:32:49 ID:HksFENgN] >>92 JOGLのいいところは大量にあるOpenGLの資料だけみればいいというところじゃないかね? じゃヴぁ3Dとは違う
96 名前:名前は開発中のものです。 [2008/12/06(土) 19:22:36 ID:xrzGyecp] といっても、OpenGLの資料もそんな無いけどな。
97 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 21:24:54 ID:DBxqTjVR] >>96 「GLUTを使わないで描画タイミングを直接制御したい」とか考え始めると、 ドカンとハードルがあがる感じがするなあ。
98 名前:名前は開発中のものです。 mailto:sage [2008/12/06(土) 22:31:58 ID:8MEIfOsq] EclipseでGLクラスのメソッドを自動補完しようとすると、クソ遅いのは俺だけ? javadocから引数の一覧読み込んでるのが原因だと思う。 なんか解決策あったら教えてくれ。
99 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 02:47:55 ID:eg5RR+vG] >>98 ごめん、うちの環境だとごく普通に補完されて、特にストレスも無かった。 JOGLのバージョンが1.1だからかな?
100 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 12:45:51 ID:3k2pUL4/] Eclipse + JMonkeyEngineの話を聞かせてください
101 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 15:27:19 ID:eg5RR+vG] >>100 そもそも、jME使ってる日本人で、かつこのスレを見てる人間がどれだけいるのか…
102 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 16:56:27 ID:Zn+sddBX] jMEはJOGLがサポートされる2.0待ちだな
103 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 20:57:59 ID:eg5RR+vG] >>102 逆に考えると、Ver1.0は自前でやってたのか。 それすごいな。ネイティブコードはターゲットのプラットフォームの分だけ書かなきゃいけないのに。
104 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 22:56:57 ID:Nn+yNH/s] いやWJGL
105 名前:名前は開発中のものです。 mailto:sage [2008/12/07(日) 23:01:49 ID:Nn+yNH/s] Lが抜けた
106 名前:名前は開発中のものです。 mailto:sage [2008/12/08(月) 10:53:59 ID:jgis7Tkq] NetBeans + Golden T Game Engineの話を聞かせてください
107 名前:名前は開発中のものです。 mailto:sage [2008/12/10(水) 07:54:09 ID:3D5RyeX7] JEdit + JOGL の話を聞かせてください
108 名前:名前は開発中のものです。 mailto:sage [2008/12/10(水) 08:57:26 ID:ac9Yk6uY] SEDIT+LWJGLの話を聞かせてください
109 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 01:43:21 ID:3SjWPfE1] しかし、Javaが登場してから10年以上たったけど、ようやく本格的なゲームを作れる環境が揃ってきたな。 1.4で兆しが見えて、5.0とJOGLで発展して、6で条件が揃ったという感じだろうか。 まあ、Java2Dはもうちょっと頑張ってもらいたいけど。
110 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 03:33:47 ID:gKO864oZ] Java2Dの何をがんばって欲しいんだよ。十分だろw
111 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 08:50:12 ID:Bv4Ttm4f] ぶっちゃけると5.0では速度上昇とかほとんどないよ 言語的にかなり良くなったのは確かだけど 6はゲームに関係なく大幅にパフォーマンスアップしてるからいいとして >>110 ちょっと前のレスくらい読めないか
112 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 10:58:28 ID:nPp8TJ7O] 1.4から5.0で大分変わっただろ。6が変わりすぎなだけで。 5.0だとString周りの最適化がイマイチだったからソースによっては大して変わらんが。
113 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 21:36:16 ID:Bv4Ttm4f] 5.0はVMはあんまりいじってないよ 言語関係の変更が大きいからAPIもあんまりいじらなかった
114 名前:名前は開発中のものです。 mailto:sage [2008/12/12(金) 22:26:03 ID:KKKNBhB4] 個人的な感想では、5.0は「バグらなくなった」 総称型と拡張forのおかげで、collectionが格段に使いやすくなった印象がある。
115 名前:名前は開発中のものです。 mailto:sage [2008/12/13(土) 00:06:35 ID:1M59rG1U] コレクションとかObject型なんていまどきありえんだろ・・・ すでに5.0だって製品終了移行期間だというのに
116 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 16:43:59 ID:TN+SZTza] なんでもいいので、Javaゲーム製作の話を聞かせてください
117 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 21:22:31 ID:jS/QiwxG] javaでゲーム作ってるがMIDPだしなぁ
118 名前:名前は開発中のものです。 mailto:sage [2008/12/14(日) 23:32:28 ID:XGbF8guL] 話っていうより、まず皆さんのゲームを見せてください。
119 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 03:16:44 ID:MfbHcy6i] オープンにできる奴前提なスレが欲しければ、そういうスレを別途立てる意義があると思いますよ 人集まるかどうかは責任持てませんので、このスレの勢いあたりを参考にどうぞ
120 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 16:55:29 ID:8ZFUOkVn] >>117 ですがBSDでADVエンジン作ってますが何か?
121 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 17:21:51 ID:tDB84xdv] そういえば数年前に月山プロジェクトってのがあったような
122 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 17:25:24 ID:omChvuvp] vectorにまだあるよ
123 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:03:07 ID:6TEXMRk9] >>121 なにそれ? ググってもよくわからないです
124 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:14:22 ID:Fa0s+wiT] ググッたら一番上にvectorが出てくる。 ググり方が悪い
125 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 22:39:51 ID:6TEXMRk9] >>124 すみません 出てこないんですけど、、、 鮫島事件みたいなもんですか? 月山プロジェクト javaとか月山プロジェクト vectorでググってもそれっぽいのでてこないです よろしければURLを教えてください
126 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:13:14 ID:99CIASbr] ttp://www.google.co.jp/search?hl=ja&q=%E6%9C%88%E5%B1%B1%E3%80%80java&btnG=Google+%E6%A4%9C%E7%B4%A2&lr= なんでこの程度のことが出来ないんだ
127 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:29:52 ID:Il05ibjt] 懐かしいな。どこかの雑誌で読んだ記憶が。
128 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:48:13 ID:6TEXMRk9] >>126 そんなに怒らないで下ちゃい>< vectorから本家へのリンクが切れてるね もう、プロジェクトぽしゃったのかな?
129 名前:名前は開発中のものです。 mailto:sage [2008/12/17(水) 23:59:03 ID:hs4jebv4] とっくの昔に消えてるがGPLならソース残してくれよ
130 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 16:23:29 ID:fQUpb2IM] jsgrid.hp.infoseek.co.jp/j3d/index8.html これ使ったことある人いたら、使い勝手の良さとか教えて下さい。
131 名前:名前は開発中のものです。 [2008/12/18(木) 16:29:55 ID:5+hYGmku] スレ違いじゃボケ!!
132 名前:名前は開発中のものです。 mailto:sage [2008/12/18(木) 22:10:19 ID:mg8VfrHv] 動いてるゲームを見せてほしいのだ。 自分のじゃなくてもいいから、凄いヤツ。
133 名前:名前は開発中のものです。 [2008/12/18(木) 22:16:27 ID:5+hYGmku] だからスレ違いじゃ!! ここはゲームを作成するスレじゃ!!
134 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 05:47:06 ID:ll2XIugg] だって、Javaのゲームなんて全然見かけないじゃん。 ここで「Javaでゲーム作ってる」みたいな話してるけど、 実際は誰も作ってないんじゃないの? って疑問なわけ。
135 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 07:18:19 ID:DyRt92vu] いくらでもあるだろ
136 名前:名前は開発中のものです。 mailto:sage [2008/12/19(金) 12:58:35 ID:oxoM9XoW] 有名な、Javaアプレットのマリオ ブラウザで遊べる www.mojang.com/notch/mario/ ※音注意
137 名前:名前は開発中のものです。 [2008/12/19(金) 21:45:07 ID:f7nCI5ip] 只今、プログラミングのできる人材を急募しています。以下に当てはまればどなたでも対象となります 1:Javaが使える(専門学生でも可能な範囲) 2:プログラミングが好きな方 仕事内容を簡単に説明すると、携帯アプリを開発する事です。報酬、勤務日数・勤務時間、勤務地などは直接お会いしてご相談させて頂くこととし、極力ご都合に合わせて柔軟に対応してまいります。ご相談時にお会いする場所としまししては都内の六本木とさせて頂きます 少しでも何か質問・興味がごさいましたら下記のアドレスまでメッセージをお待ちしてます。宜しくお願いします taniguchi_iii3@yahoo.co.jp
138 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 00:31:58 ID:RcoayKqr] >>137 ギャラ書けよ
139 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 01:14:36 ID:t79yXi4L] 2chで急募とかどんだけ切羽詰まってんだかw 不景気だろうが世知辛い愚行
140 名前:オナカ(;´Д`)スイタ [2008/12/20(土) 01:37:42 ID:kxdPfTn6] 時給5万なら
141 名前:名前は開発中のものです。 mailto:sage [2008/12/20(土) 03:54:22 ID:F7xU+Sg4] つうかマルチうざい
142 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 01:14:54 ID:0ycqBLMt] なんか、javaでゲーム製作のためのキラーフレームワークみたいなの出ないかな C#だとゲーム用フレームワーク何個かあるよね javaだとGTEGは開発止まっているっぽいし、jMEは期待したけど公式みてもよくわからんし
143 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 01:25:58 ID:2HNvbm7d] java版のXNAが出ればいいんだな。 javaでゲームって海外ですらほぼ趣味の領域なのにそんなもんは出ない気がする。
144 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 08:23:01 ID:0ycqBLMt] >>143 そうだとしたら残念 でも、javaだとDIコンテナとかWebアプリケーションフレームワークとかよく使う領域だとオープンソースのフレームワークが何個も乱立してるじゃないですか それ以外でもあまり使わない領域でSOA関連でもSCAとかJBIとかあるし、、、 だから、ゲーム関連でも1,2個フレームワークがでてきてくれて、そのうちの1個がスタンダードになってくれると嬉しいなと思った C#よりjavaの方がその手のフレームワークは多い気がする
145 名前:名前は開発中のものです。 mailto:sage [2008/12/28(日) 14:06:03 ID:zTRJkVsL] 1,2個ならGTGEとjMEがあるじゃないか。 というかjava.dev.netのgameの項にいくつもホストされてるじゃないか。 ていうかjavaでゲーム作るなら自分で下層のフレームワーク作らないか? 俺はそれ使ってるんだが。
146 名前:名前は開発中のものです。 [2009/01/02(金) 09:54:41 ID:FHD5Wl49] あ、ちょうどいいや。自己宣伝。 sites.google.com/site/gorogoronyan/Home たまたま久しぶりにプログラムを書いていたもんで。 一点透視図法による自動車シミュレータのサンプル。 このあたりまではJavaでもできる。
147 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 22:05:34 ID:NzuwmyZb] ピクセルごとにやると限界がみえてくるよね。結局メイン・メモリのアクセスが問題なんだけど。 最近思うんだけど、ピクセルごとにやるのってゲーム(アニメーション)というよりも画像処理・画像解析なんじゃないの? それと一点法だけど公式をみると比率で出してるけど、もしgpuやopenglなどのハードに頼らない従来の方法(つまりGraphics2D) でやるなら、ベクトル方程式でやるのが妥当だと思うんだけど。
148 名前:名前は開発中のものです。 mailto:sage [2009/01/02(金) 22:10:39 ID:NzuwmyZb] それと、SSEとかJNIの方も実験してみたけど、ループでまわしてテストするとJVMが落ちて使えないしこのバグの原因も良く分からないし、 バグ潰しに時間使うのバカらしいから結局JNIでSSEは諦めた。一応mingwのgccを使って。 それにFPUと比べて、SSEでやると高々2倍ぐらい処理が早くなる程度でGPU(やOpenGL)に比べるとそんなにうまみもないし、 けっきょくCPUとFPUに頼るなら、擬似3Dは試験・実験程度が限界かと思う。無理して3D化するなら品質もFF7ぐらいかな。 Java3DとかJOGLとかのハードにアクセスできるライブラリじゃないと楽しむ目的のゲームは無理だと思う(Javaはプログラミングしやすいから擬似3Dなら実装実験にはいいけど)。 まあ、頑張ってアルゴを考えちゃう人もいるんだけど、そういうのはライブラリとハードで既に実現されているわけで、もし実験目的じゃないならその労力は別のところで使えばいいんじゃないかな。
149 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 13:05:01 ID:t9akt5LC] >>146 3D化ってこうやってやるんですね。参考になりました! 遠近法以外に3D化する方法って他にあるんですか?
150 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:28:53 ID:Am4P4YsQ] 何もわからなければ普通にJOGLとかJava3D使ったほうがいいと思う
151 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 15:35:49 ID:ghOEma/D] ええっ!そんな・・・ Javaだと数学公式で書いてあっても結構実装しやすいんですね。
152 名前:名前は開発中のものです。 mailto:sage [2009/01/06(火) 16:40:07 ID:Fpl4xlxf] 2Dゲームの話もしませう
153 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 01:01:16 ID:Klul6qgz] >>152 アルファブレンディング使わないのなら Java2Dだけで十分使えるようになった。 u10以降。 標準APIだけでここまでよくなったのはすばらしいが、 せめて加算合成だけでも実装して欲しかったなぁ。
154 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 01:54:21 ID:f23xR0rU] 自分でブレンド処理クラスとか加算合成クラスとか作るとそんなに遅いんですか? ピクセル単位でやるわけでu10でそのような処理用クラス用意したとしても結局同じだと思うんですけど。
155 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 02:33:37 ID:H12DUZW9] ハードウェアアクセラレーションがきかねぇって話をしてるんじゃないか?
156 名前:名前は開発中のものです。 [2009/01/07(水) 15:09:28 ID:RZ4OcdR7] >147 146の者です。 鋭いですね。 元がゲーム屋さんではなくて、画像処理屋さんなもんで。 3D関連にうといので実験的に作ったのですが、 本格的な話になるとPC上ではJavaよりはC#、C#よりはC++ という話になるんでしょうね。
157 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 16:18:55 ID:LMBDGvZd] いやJOGLで十分できるから
158 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 23:45:14 ID:9SF/8/R3] 2Dとか3D以前に基本的なゲームループの話とか場面管理とかクラス構成の話もしてください
159 名前:名前は開発中のものです。 mailto:sage [2009/01/07(水) 23:52:14 ID:XuNNcZQw] >>156 いや、君のHPの説明は結構参考になったよ。素直なコードだし、数学・物理の公式をコード化するのとか得意なんじゃないか? ただHPにあったけどjvm上自動で行う、配列のindexチェックで遅くなるという主張はただの妄想でしかない。たしかに20マイクロ秒ぐらいは違うだろうけどw 画像処理(CGとか非リアルタイムも)が得意なら、まずJavaで実験用コード・レファレンス実装して、これをハードに組み込みするという流れになるかもしれない。 その処理コードをハードに組み込みとか会社規模でやるんじゃないなら、PC(個人向け)ではもうすぐ環境が整うだろうけど、gpuやdirectx, openglのハード(ベクトルユニット)でやるようになると思う。 ベクタライズに多少書き直すことになるけど、PGする側からみれば結局は昔からあるコンパイラ最適化技術「ループ展開」の発展版でしかない。 pc.watch.impress.co.jp/docs/2008/1225/loilo.htm GPGPU対応動画編集ソフト「Super LoiLoScope」がパッケージ販売 こんなのも出始めたから一般PG向けにそれら計算ユニット(ハード)が使える環境が整うまではあと2年ぐらい必要なんじゃないか? といっても画像処理は分岐だらけだろうから、従来のようにピクセル毎でチマチマでもあまり差はないけど。 ただ、ベクトルユニットが使えるようになるとプログラミングスタイルやアルゴリズムが少し変わると思う。 リアルタイム処理(つまりあまり厳密じゃなくかなり適当でいい処理なもの)なら今なら普通にOpenGLが旬だし、2年ぐらいならJava3Dも来るかもしれない。
160 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:01:36 ID:tf5zZsbW] 一言で言えばJOGLでおk
161 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:24:34 ID:IHwS1EtB] それと、sseも試行錯誤の末Javaからつかえるようになったけど、1.2-1.5倍、場合によっては1.7倍ぐらいかな。 よくエンコードソフトとSSE対応批評でこれだけ違うってのと大体同じ。 new float[1024]ぐらいまでなら普通にforでdst[k]+=src[k]とたいした差はなかった(高々1.1の向上程度)。 アセンブラも含めてかなり文書(英語)を読まないと使えるようにならないけど、苦労した割にはそれほど恩恵はないかな。 [16*16]程度の小さいブロックでforで処理すれば済むし、実際にはピクセル画像処理(アルファを使ったブレンドも含めて)は native vectorization_mul (dst=new float[300*300], src=new float[300*300]); とか、[300*300]など大きな塊(画像)を一度にマスク処理するようなことはしないからなぁ。 それと、intel ネイティブなのも痛いかな。opengl やgpu だとintel以外でも使えて汎用性高いし 専用ユニットだから[300*300]とかならsimdはそっちのシフトしていくような気がする(ゲームとかストリーミングとかのリアルタイム性なもの)。 一応[300*300]とかだと1.6倍ぐらいSSEの方が早いんだけど、intel用にチューニングするには結構苦労する。 この用途でのsseはgpuが普及するまでのつなぎ(5年ぐらいかな)かもしれない。 浮動小数FPUと同じくコンパイラ・言語がサポートしちゃえば楽なんだけど今のSSEの普及率はFPU程普及してないし言語・ライブラリのサポートはまだまだなのかもしれない。 これからのプログラムは画像・映像加工処理が多くでかいデータ量を一度に扱う必要があるから、5年後のsseはfpuと同じく気がつかないで使ってるとかになるんじゃないかと思う。 sseをjavaで使えるようにするにはム版のjniスレに試行錯誤を少し書いといた。 sseはintel ネイティブ機能なんだけど、だれかブログとかでまとめといて。
162 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:29:33 ID:IHwS1EtB] >>156 C++ってことなないよ。ライブラリはCで作るかもしれないけど、それを使うのはC++やJavaでも言語はあまり関係ない。複雑なのじゃなきゃruby(でOpenGLのAPIラップしたクラスを作って)でもいいんじゃない? つまり今ならJavaでやるならJOGLで十分。 実際SWTみたくOpenGLやDirectXのAPIをJNIでラップしてあるだけだし。C++とJavaの差では、800マイクロ秒ぐらいの差はあるかもしれないけど。
163 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 00:58:26 ID:qJ7iXp4o] だからなんでJOGLでおkな話をそう長々といちいちレスするんだ。一人で喋ってて楽しいのか?
164 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 02:07:06 ID:22rtTB5l] ソフトレンダならもちろんマルチコア対応してるよね?
165 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 03:13:55 ID:IHwS1EtB] >>163 てか、おまえ誰だよ。何も作れないくせにJOGLの宣伝部長かww
166 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 04:00:12 ID:vFqRA9Ny] 無能が能書きたれるのはどこも一緒だなw
167 名前:名前は開発中のものです。 [2009/01/08(木) 04:06:29 ID:IHwS1EtB] >>163 じゃJOGLでおkなことを長々と語ってくれないか? おまえみたいな無能じゃ無理かw JOGLていうよりもOpenGLすら使ったことないんだろうww
168 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 07:19:56 ID:4pdEl9iG] >>154 自前のCompositeを使うと、内部でGeneralCompositePipeという物が使われる。 sun.java2d.pipe.GeneralCompositePipeの88-89行目を見ると、 dstIn = dstRaster.createChild(x, y, w, h, 0, 0, null); dstOut = dstIn.createCompatibleWritableRaster(); となっている。この時確保されるdstOutのサイズはw×hではなくて、dstRasterと同じサイズになる。 (java.awt.image.Rasterのソースを参照) 多分開発者は、createCompatibleWritableRaster(w,h);と同じ結果を期待していたんだと思う。 そのせいで、大量のメモリの確保を何度も行う事になる。何度も。 しかも、大きい図形は内部で32×32に分割して描画しているからメモリを確保する回数がさらに増加する。 これではアクセラレーション以前の問題。 どう見てもバグだけど、誰もゲームに使わないからか特に問題にならず、一向に修正されない。 描画に使う一時的なRasterは一々確保せずにキャッシュを使ってほしいけど、面倒だったのか毎回確保してる。 だから、自作Compositeをゲームに使いたいなら、Graphics2Dを使わず自分で処理するのが無難。 英語が得意なら、バグを報告して修正を待つ手もあるけど。 あと、Composite内で使うgetPixels()やsetPixels()も妙に遅い気がする。 sun.awt.image.DataBufferNativeが怪しい。自分の所だけかもしれないけど。
169 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 12:20:24 ID:exKmWyW7] >>168 だからその程度の技術力しかないなら、普通にJava API(高度に抽象化したAPI)を使えばいいよ。 確かjdk1.5ではBufferedImageは全てキャッシュされるって書いてあったから、その指摘も数年で色あせるんじゃないか?w そもそもjava.awtパッケージなのに、内部実装sun.*パッケージのソースにいちゃもんつけてるし、結局おまえじゃ何も出来ないだろww そんなにこだわりあるならネイティブ向けパッケージ使え。タコがw >>163 それと、JOGL(OpenGL)はAPIであって、GPUとかSSEはハードであって、上ではハードの話が書いてあるんだけどこの区別ついてる? 君の作ったOpenGLを使ったゲームを出してみ。
170 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 12:40:43 ID:exKmWyW7] 何度読んでもツッコミどころ多いな。 一般人程度の知識しかなく大してハード(メモリやCPU)のこと知らないのによくここまで妄想して大口たたけるものだと感心するよ。 そこまでJava/JVM(高度に抽象化したプラットフォーム)にこだわりがあるなら、まずは各ユニットの仕様知り各ハードの役割とか勉強したらどうだ? バスとかいっても何のことか分からないでしょ。ハードのことをとことん知ると、java.awtも含めて君の指摘する文句たらたらのアプローチになるから。 内部に思い入れなくアルゴリズムの研究するだけなら、Javaらしく、良い子はBufferreImage.getRGBを使え。w
171 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 19:22:31 ID:4pdEl9iG] >>169 (´・ω・`)?
172 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 19:59:44 ID:yiuTB4qR] もうさぁ、そういうのどうでもいいからさぁ。 ゲームを見せてよ。 みんなそんなに語ってるんだから、凄いゲームいっぱい作ってるんでしょ? どーなのよ? それとも、ゲームは作れないけど知識は凄いよ! みたいなことアピールしてるだけ?
173 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 21:24:31 ID:GSLhRqng] 最近Javaアプレットで作られたすげーゲームって何かないですか? 刺激にしたいです
174 名前:名前は開発中のものです。 mailto:sage [2009/01/08(木) 21:43:50 ID:4pdEl9iG] 突然喧嘩口調のレスが来たから何事かと思って変なレスしてしまった。ただの人違いか。 特に>>170 が誰宛なのか判らずに悩んだ。>>168 はjoglの人とは別人なんだけど。 >だからその程度の技術力しかないなら、普通にJava API(高度に抽象化したAPI)を そのJava APIの話が>>168 。java.awt.*とjava.awt.image.*を参照。 あと、「だからその程度の技術力」の根拠詳しく。joglの人と間違えたんだと思うけど。 >確かjdk1.5ではBufferedImageは全てキャッシュされるって書いてあったから、その指摘も数年で色あせ createCompatibleWritableRasterは0で初期化したラスターを返す。(これは仕様) つまり、憶測通りBufferedImageがキャッシュされるとしても、 全画面を黒く塗り潰す処理を何度も実行したのと同じ負荷がかかる。 これを防ぐには、無駄な領域を確保せず、staticなソフト参照を使って使い回す必要がある。 それにはGeneralCompositePipeの修正が必須。数年で色あせてくれるんなら助かるんだけど。 >そもそもjava.awtパッケージなのに、内部実装sun.*パッケージのソースにいちゃもんつけてるし、結局おまえじゃ何も出来 java.awt.image.Rasterの方は修正すると既存のプログラムに影響しうる。変更は望めない。 sun.java2d.pipe.GeneralCompositePipeの内部処理を変更するべき。 あと、デバッグツールによりsun.awt.image.WritableRasterNative.setPixels()が遅い事が分かっている。 DataBufferNativeが関係している可能性がある。これは自分の環境が悪い可能性が高いけど。 何もできないのは同意。これを修正できるのはVMの開発者だけ。バグ報告も自力じゃ無理。 あと、BufferdImage.getRGBのソースを見たけど、内部で同じメソッドを呼んでいるから速度は大して変わらない。 >>172 ゲームのエフェクト等に有効な加算合成がJava2Dに搭載されていないから、 自前でCompositeを用意して解決しようとしたら異常な遅さで困った。 一番重い筈のcompose()の中身を全部コメントアウトしても尚遅いまま。 なかなか原因が分からず、苦労している内にGeneralCompositePipeのバグに到達した。 AlphaComposite以外を使うと異常に遅くなるのは主にこの手抜き実装のせい。 この事を話す機会が無かったからつい。ゲームは作れないけど知識は凄いよ。
175 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 00:21:25 ID:5u2RDdW1] AlphaCompositeはハードウェアアクセラレーションあるから自前のは勝負にならない 標準APIで加算合成実装してもらう以外に方法がないのでJOGL使うのが一番無難
176 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 00:23:05 ID:KcPxsY0I] どうでもいいから黙ってろ。
177 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 00:27:02 ID:5u2RDdW1] >>176 お前が荒らしか
178 名前:名前は開発中のものです。 mailto:sage [2009/01/09(金) 02:08:32 ID:TyEo4JkI] だから、その程度の知識しかないなら内部にさわるのは止めとけ。 おまえはよく人のソースを読んだりしてるようだからどちらかといえば公式どおりの素直なコードを書くほうが向いていてるんじゃないか? 内部の職人技コードにはついて来れないだろう。さっそく >これを修正できるのはVMの開発者だけ とかついて来れないじゃん。バグ報告はパラダイスでフォームどおりに書くだけだろ(英語)。 俺の場合はたしかキャプチャーのバグ話で送ったけど担当者から丁寧な返事がきたぞ。 つまりおまえ技術力、知識、教養は、ウンチクだらけで実際はたいしたことないってこと。 中途半端な知識しかないのに「ウンチク電波」を垂れ流すのやめてくれないか?