【O3D】HTML5用 3D API WebGL 【Canvas:3D】

2011/06/23(木) 01:52:57.33
立ててみました。

Google  O3D
Mozilla  Canvas:3D

※ただし、マイクロソフトは否定的


競合技術
Papervision3D

関連スレ
むしろjavascriptでゲーム作ろうぜ
http://hibari.2ch.net/test/read.cgi/gamedev/1048171505/
2012/10/08(月) 10:28:15.60
IEを二種類作れば良いんだな
2012/10/08(月) 13:44:38.34
セキュリティ確保するためにハードウエアが制限されるなんて糞仕様。
2012/10/08(月) 14:04:23.35
>>422
NPAPIならセキュアなんですね(棒
2012/10/08(月) 15:08:39.90
しばらくしたらサンドボックスIEが出てくるよ
2012/10/08(月) 15:10:42.14
もうある
http://msdn.microsoft.com/ja-jp/library/vstudio/bb763046.aspx
2012/10/08(月) 19:47:18.26
MSのセキュリティ云々の言い訳を真に受けているのはどうかと思うよ。それに情報自体が古い。
MSはWebGLを実装しないってことは本当だけど、
それはセキュリティのためではなくDirect3Dを推進するため。
OpenGLのラッパーであるWebGLを推進することはない。
そのうちMSからDirectXをラップした3DAPIが出てくるから。
2012/10/08(月) 22:29:17.99
と、古い頭の人が何か言ってる件
Direct3Dを推進(笑)
430デフォルトの名無しさん
垢版 |
2012/10/08(月) 22:37:21.38
これからは、VRMLの時代だよね
XMLが創り出すセマンティックな3Dグラフィックが、新しい世界を切り開く

WebGLなんて、バカ丸出しだw
まずシェーダーのコード書いてコンパイルしろ、とか40年前の発想だよな
2012/10/08(月) 22:50:21.86
実際のところホビーユースやデモ用途以外の今後の展望は本当にあるのだろうか。
商業でつかいだしそうなのはヤフーモバゲーくらいじゃないか?
2012/10/08(月) 22:50:43.90
セキュリティが〜とか言っている人は病気だよね。
ずっとここ監視しているし気持ち悪いよね。仕事しているのかな?
2012/10/08(月) 22:54:48.88
>>431
当面はゲーム用じゃないのかな。
コンシューマやっているけどWeb系もやりたいという会社向けじゃないかと。
普段3D系のゲーム作っている会社にとってはOpenGLは慣れ親しんだAPIだし
WebGLで作るのも苦じゃないでしょ。
2012/10/08(月) 23:10:42.83
そしてグラフィックスAPI以上に整備も統一もされていない
オーディオや入力まわりのヘボさに幻想を打ち砕かれる、と
2012/10/08(月) 23:16:05.77
なんで何でもかんでもブラウザでやりたがるんだろうな
2012/10/08(月) 23:30:24.51
まぁ、おまえみたいに文句しかいわない奴のとこに仕事なんて来ないから安心しろよ
2012/10/09(火) 02:18:39.46
jsだとバイナリファイルの扱い遅いし、まともにパックされてない糞でかいリソースで帯域食い潰すんですよね
438デフォルトの名無しさん
垢版 |
2012/10/09(火) 02:45:49.04
なんかjsでlinux作ったとかいうニュースなかったっけ?
2012/10/09(火) 04:38:04.36
>>437
exeと違って同じ物を毎回(何度も)ダウンロードするんですね判ります。
2012/10/09(火) 05:05:16.34
実際のところWebGLのカウンターパートにあたる3DCGの宣言的記述言語が
全く手つかずなのが気になる。

VRMLは長らくお亡くなりだし、多分X3Dでまとまる方向なのだろうけれども、
標準化という意味ではWebGLよりも2周り以上遅れている。
今のところはまだ提案レベルでこれを標準としようとする動きがどのブラウザ
メーカーからも見えないのは辛い。
2012/10/09(火) 07:13:25.35
>>439
Application Cacheは?
2012/10/09(火) 07:20:30.37
仕様がただ単にラップしただけ。場当たりすぎ。
2012/10/09(火) 09:34:31.38
>>440
COLLADAがあるだろ
444デフォルトの名無しさん
垢版 |
2012/10/09(火) 10:27:43.28
いっそFlas...
2012/10/09(火) 11:03:50.62
htmlを組むのにテンプレートエンジンが星の数ほど
あるように

3d組むのにそれ用のフォーマットが星の数ほど生まれてきて
しまうのも自然の摂理なのだ。

しかしブラウザのバージョンを揃えた所で

osが違うと、ハードウェア構成が違うと
レンダリング結果は異なる…その辺の足並みが揃うのはまだ先や
446デフォルトの名無しさん
垢版 |
2012/10/09(火) 12:08:59.15
ハード構成はひとつの極論でしょ。
正論かも知れないが言い出したらキリがない事実上の空論。
ブラウザで標準化されることは必要かと思うな。

http://demo.bkcore.com/threejs/webgl_tron_godrays.html
(関係ないけど今朝見つけたデモ。)
447デフォルトの名無しさん
垢版 |
2012/10/09(火) 12:35:55.23
>>445
まあ、テンプレートエンジンについていえば、Json/jQuery のおかげでサーバサイドで HTML 生成する必要性が完全ゼロになった
ありがたや
2012/10/09(火) 13:29:43.51
>>443
EPSがあってもSVGが必要とされたように、COLLADAがあってもそれとは別に
Webと親和性の高い3DCGの記述言語は必要だと思う。
HTMLのDOMに直接ぶら下げられることとCSSへの対応は欲しいところ。
2012/10/09(火) 16:51:51.86
O3D,Canvas:3D,Papervision3Dを抽象化するレイヤが出来て解決
2012/10/09(火) 17:09:19.39
課題が全部解決したら上げてくれ
451デフォルトの名無しさん
垢版 |
2012/10/09(火) 21:42:45.66
XML解析してWebGLで描画するJavaScriptのライブラリ作れば、全部解決

2012/10/10(水) 09:35:59.60
>>448
ちなみに言っておくが、3Dデータって膨大なデータ量なんで最終的な段階でテキストデータを使うことはあり得ない。
COLLADAもあくまでデータ交換用のフォーマット。
2012/10/10(水) 10:50:38.54
>>446
http://d.hatena.ne.jp/nakamura001/20120615/1339782858
>他のマシン(OSはMac OS X)でGPUを確認するとこの様な表示になったのでコレなOKかな?と7
>思って期待して試したのですがこちらも上手く表示されませんでした

なんのためのblacklist。

opera:config#UserPrefs|EnableWebGL
opera:gpu

確認して動くかな

http://dev.opera.com/articles/view/raw-webgl-part1-getting-started/
http://devfiles.myopera.com/articles/8442/02-minimal-draw.html

動いた!

https://github.com/mrdoob/three.js/issues/672
http://mrdoob.github.com/three.js/examples/webgl_geometry_cube.html

Could not initialise shader とか three.js のサンプル軒並み動かない!

64bit の win7 radeon HD6720G2いう環境が悪いのか…前はもうちょい動
いてたような印象があるのだが…
2012/10/10(水) 11:01:45.68
>http://demo.bkcore.com/threejs/webgl_tron_godrays.html

機械の筒の輪みたいなのが表示されないけど
光の部分は3割り程度再現できてるようだ…

バージョン 12.02
Build 1578
プラットフォーム Win32
システム Windows 7
2012/10/10(水) 13:37:13.05
>>452
何を意図した「ちなみに」なのかよくわからん。

X3DOMとかってあまり知られていないのかな。
http://www.x3dom.org/?page_id=2
2012/10/11(木) 09:28:08.54
>>455
見たところHTMLに含められる事以外はCOLLADAともろかぶりだけど。
COLLADAもXHRを使えば簡単にDOMツリーに変換できるし。
問題はそれをどう表示するかだけど、three.jsを使えば読み込みから表示まで全部やってくれるよ。
2012/10/11(木) 09:45:14.19
colladaは統一フォーマットの体をなしていないうえに容量も読み込み処理も重くなりがち
簡単にパーサが書けるから安易にゲームエンジンに用いられているだけというのが実情
2012/10/11(木) 18:44:02.56
410以降丸々1か月以上レスが無かったのに急にどうしたこのスレ
459デフォルトの名無しさん
垢版 |
2012/10/11(木) 22:34:40.00
まあ410以外、みんな普通に水をチャプチャプ出来てたから共感出来なかったんじゃないかw
2012/10/11(木) 22:58:15.20
こういうスレって最初は物珍しくて伸びるけど、その内飽きて放置される運命
たまに誰かが上げてちょっと伸びるけど、そのくらいで終わる。
2012/10/22(月) 08:21:24.69
>three.js
aba氏に遅いと言われてたな
462デフォルトの名無しさん
垢版 |
2012/11/14(水) 11:07:29.08
俺が規制されてる間に世間の流れが変わっててワロタ

最新のネイティブアプリのゲームを見ると
この数年間HTML5HTML5盛り上がって、その実足踏みしてたやつらが
完全に置き去りにされたのがよく解るな。

ギルティドラゴン
https://itunes.apple.com/jp/app/girutidoragon/id561649266?mt=8

ブラウザに賭けてた連中、これと一体どうやって勝負する気だよ。無理だろ常識的に・・・
クソつまんねークリックゲームなのはもしもしゲーと一緒なんだが
だからこそパチンコ同様絵や音の派手な演出がモノを言うだろうし。

仮に今後WebGL対応が進んで、さらに、同じものが動かせるようになったとしても
先行してリッチゲームのノウハウ蓄積した連中が雪崩れ込んできて
押しつぶされるだけじゃないかな(´・ω・`)
つかUnityのようなゲームエンジンがちょいとWebGL対応するだけでおしまいだ。
2012/11/15(木) 00:24:26.92
>>462
主立ったゲームエンジンではflash、nacl寄りに流れててwebglはあまり相手にされてない
上位ライセンス下位ライセンスでapi制限つけたりするのにjsは都合が悪い
464デフォルトの名無しさん
垢版 |
2012/11/22(木) 03:58:45.05
Unityもがんばってるな。
http://www.youtube.com/watch?v=BwMu3PxHOEc
Flashはやはりパフォーマンス的にいつの時代もいまいちぱっとしない。。
2012/11/24(土) 20:33:22.51
Unity(Web)の主流は独自プラグインなんだよな
どうせPCのブラウザでしか動かないんだからWebGLとか意味なす
2012/11/25(日) 17:23:17.38
そういえば、UnityもNaCl出力できるよな。
将来的にはWebGLにも対応するのだろうか。
2012/11/25(日) 21:34:00.48
NaClは大した苦労なくMonoがそのまま動く。
ブラウザのJavaScriptだけで動かすのとは次元が違うよ。
2012/11/25(日) 21:44:38.94
Unityをちゃんと動かそうと思ったらMSのCLIを実装しなきゃいけないわけで
JavaScriptだけでそれやるのはさすがに非現実的すぎる話
スクリプティング言語をJavaScriptだけに制限して、ライブラリもかなり絞れば
超限定的な対応はできないこともないのかもしれないけど、そんなもん意味あんのかと
2012/11/25(日) 22:14:09.08
http://www.infoq.com/jp/news/2012/11/Moscrif

「 HTML5はパフォーマンスに重要な問題を持っているので、多くのグラフィックスを含んだ良質のゲームを開発するのは不可能である。」
2012/11/25(日) 22:24:20.46
そんな大規模なゲームをWebブラウザで動かす意味がないわな
ダウンロードに長いこと待たされるんならネイティブでいい
現状、C#やJavaScriptでほとんどすべてのプラットフォームに対応したネイティブアプリを作れる環境があって
それ以上何が必要なのか
2012/11/25(日) 23:07:10.93
HTML5は、facebook すら、まともなパフォーマンスではうごかない。
2012/11/26(月) 10:49:57.86
unityは素人が遊びに使うにはいいが

商業的にはライセンスが高すぎて使えない
2012/11/28(水) 17:15:01.75
商業規模で開発するゲームで遊ぶ暇なんて学生かニートぐらいのもので、
社会人が息抜きに遊ぶには素人の遊びレベルで十分
2012/11/28(水) 22:31:04.32
商業的に使われるとしたら、
ソーシャルカードゲーム(笑)のエフェクトにちょびっと出てきたりする程度だろうな
2012/11/29(木) 01:44:16.08
WebGL期待してるぜ
2012/11/29(木) 02:40:31.16
>>473
ゲーム = RPG
だと思ってるゆとり
2012/11/29(木) 08:06:02.89
ファイナルファンタジーは、会社員だらけ。
2012/11/29(木) 10:39:35.86
民主党 「韓国人の生活が第一。韓国をあざけることは、絶対にしてはならない」
http://2logch.livedoor.biz/archives/4285845.html
2012/11/29(木) 11:11:17.97
国民の生活第一が大津の未来と合流したのは
やはり大津だからだよな
2012/12/14(金) 10:20:46.58
SQLite
481デフォルトの名無しさん
垢版 |
2012/12/21(金) 12:27:33.07
>>473
本当にゲーム好きな人は社会人で多忙だとしてもやってるよ。
精神的なゆとりなさ過ぎだろw
2012/12/21(金) 20:39:36.73
大人にもなってどっぷりゲームやってるやつって終わってるよね
何ムキになってるの?
483デフォルトの名無しさん
垢版 |
2012/12/21(金) 21:36:41.87
テンプレ乙www
ガキ過ぎwww
484デフォルトの名無しさん
垢版 |
2012/12/21(金) 22:31:24.83
HTML5でシリアル通信できますか?
485デフォルトの名無しさん
垢版 |
2012/12/22(土) 17:28:59.46
もちろん、できますよ
HTML5に不可能はありません
486デフォルトの名無しさん
垢版 |
2012/12/26(水) 06:42:24.65
最近触り始めたので覗いてみたんだが、>>1にある
>※ただし、マイクロソフトは否定的
ってどういうこと?
公式に見解を出してるのかな?
2012/12/26(水) 10:47:40.97
>>486
セキュリティへの懸念を表明してるよ
もちろんセキュリティは大問題なんだけど、MSにとってそれより重要なのは
「仕様が安定していない」ということ。MSは過去の反省から、仕様が安定しているものでないと
IEには絶対に実装しないというスタンスをとってるからね。IEで一番重視されてるのは上位互換だから。
2012/12/26(水) 13:09:34.70
バグも仕様なのでバージョン上げても治しません(キリッ
2012/12/26(水) 18:04:35.04
>>487
現段階ではその辺の動向にも注意してやってった方がいいんですね。
ありがとうございます
2012/12/27(木) 00:15:43.70
そんなこと気にしてたら使えないよ
現実的に考えるならUnityのWebPlayerくらいが妥当
2012/12/27(木) 22:21:35.44
>>487
セキュリティの懸念は表向きの理由で、本当はOpenGLを支持する訳には行かないから
否定しているんだろうね。
2012/12/27(木) 23:06:22.15
政治問題以前に、サポートを拒否するのに十分な問題がWebGLにあるのは事実だろう
今IEが実装したら確実にIEネスケ戦争の二の舞になり、
古い仕様が未来永劫残り続けてWebGLにとっても有害
2013/01/12(土) 18:30:52.76
その観点でいうと現時点で完全に仕様が固まってないHTML5全体をを実装するのが間違いだろう
2013/01/13(日) 13:42:42.10
お薦めの本は?
2013/01/14(月) 00:11:45.85
C++でGLES使う本
2013/01/14(月) 11:59:06.40
しかし、GLESって中々試す環境が無くね?
amazonでwebglで検索すると幾つか出てくるから、それでいいんじゃない?
何がお勧めかは知らんけど。
2013/01/14(月) 16:53:47.15
FileReaderとDOMParserで簡単にCOLLADAを読み込めんじゃね?と思って
やってみたら、DOM化するのは超簡単に出来たけどCOLLADA自体のパースが
なんだこれ?っていうぐらい尋常でなく面倒くせー…めげそう…

つうか、デカいCOLLADAデータを読み込むと一時的に滅茶苦茶メモリ食いそう。
2013/01/15(火) 23:51:32.41
COLLADAっていろんなフォーマットの全部載せみたいなもんって聞いたなぁ
パーサ書くの大変そう
2013/01/17(木) 19:12:19.72
やっぱりWebSQLと同様、特定の実装技術を前提にした仕様は失敗するんだな
2013/01/20(日) 14:43:54.53
とりあえず、COLLADAのmesh要素だけのパースは思ったよりは簡単だったけど1つ問題が。
COLLADAは頂点座標と法線データがそれぞれ別個にインデックスが振られていたけど、
WebGLでどうやって表示するんだ?
例えば、座標は(0,1,2)とすると法線は(0,0,0)みたいな感じ。
drawElementsってインデックスは共通な事が前提だよね?

座標のインデックスに合わせて再構築しないと駄目かね。
2013/01/20(日) 23:49:07.72
Javascript特有のバグでハマったんで一応書き込んでおく。

var offset = dom.getAttribute('offset');
console.log(offset); // => 0 と表示されているのを確認
array[n * 3 + offset]; // 何か値がおかしい…

まぁようするにoffsetが文字列のままでarrayのインデックスが10倍されてた
って事なんだけど…
今に始まった事じゃないと思うけど、何か予防策とかあるのかな?
2013/01/20(日) 23:57:51.68
var offset = dom.getAttribute('offset') - 0;
2013/01/21(月) 05:27:50.75
parseInt() と 0+ はどっちがいいの?
2013/01/21(月) 09:35:01.84
>>502
もちろん最終的にはparseInt使って解決したけど、気付くまでだいぶ時間かかったよ
2013/01/21(月) 09:36:29.01
>>503
parseIntの方がソース見てIntに変換していることが明確なんでparseInt派だな
2013/01/21(月) 11:57:13.32
TypeScriptを使おう
2013/01/21(月) 12:03:47.07
確かにWebGL向きかもな
2013/01/21(月) 15:28:14.90
WebGL.d.ts
Three.d.ts
既にあるな
考えることはみんな同じなんだ
2013/01/21(月) 16:19:17.79
TypeScript - Wikipedia, the free encyclopedia
ttp://en.wikipedia.org/wiki/TypeScript

これか
2013/01/21(月) 16:20:23.60
ActionScriptみたい
2013/01/21(月) 16:32:20.66
as3は良いものだ。
2013/01/21(月) 17:01:06.05
TypeScriptはECMAScript6系だよ
そこそこ欲しい機能が揃ってる割には他の似たようなのと違って一切変なコード吐かないから
変な言い方だけどいつでもやめてJavaScriptに戻れる安心感が最大のメリットだと思う
2013/01/21(月) 17:15:43.91
それって JavaScript のままでよくね?
2013/01/21(月) 18:23:47.25
VBScriptが一番だよ
2013/01/21(月) 23:36:10.62
質問
drawElements(mode, count, type, offset);
のcountの最大値ってどうやって取得すればいい?
俺の環境だと255ぐらいだった。そんなもん?
2013/01/22(火) 04:45:36.98
>>513
オプショナルな静的型はIDEやコンパイラの支援が効いて便利よん。
オートコンプリートの打率が上がるし、大事なところは型つけて書けば実行時前に
静的検証出来るので堅牢にもなる。

あとprototypeを使ってクラス的なことをやる方法として何通りもの流儀が存在して
下手すればフレームワーク毎にクラス的な仕組みをバラバラに手作りしているJSとは
違って、言語仕様としてクラスを持っているのは車輪の再発明が無くてすっきり。
517500
垢版 |
2013/01/24(木) 02:50:23.34
>>500
他のサンプルとか見るとやっぱり全て展開(ようするに位置と法線の数を同じにする)してたんで、
同じようにして読み込みと表示が出来た。
>>515
これはどうしても分からないんで、drawElementsは使わずdrawArraysにする事で解決した。

両方の結果を踏まえると、インデックスは使わずにTRIANGLE_STRIP化したデータを
drawArraysで描画するのが最適な方法だね。
518デフォルトの名無しさん
垢版 |
2013/01/24(木) 12:34:09.34
TypeScriptは結局JavaScriptの問題を解決してないから萎えた。
ECMAScriptもだが、特にmodule、あれで大規模開発が可能だと本当に思ってるのか。

> 3. 次に挙げる ES4 の提案の一部はウェブでの利用において不適切と判断されたので、
> 今後二度と議題として取り扱わない。パッケージ、名前空間、早期束縛。この決定が
> Harmony の肝である。

つくづくバカな決定したなこいつら。
519デフォルトの名無しさん
垢版 |
2013/01/24(木) 12:35:35.19
正直、断言するけどActionScript=ECMAScript 4ルーツのHaxeを使ったほうがいい。
2013/01/24(木) 12:42:09.83
TypeScript クイックガイド - phyzkit.net
http://phyzkit.net/typescript/

> この b2Vec2 クラスを使うときは、
>
> var v : Box2D.Dynamics.b2Vec2 = new Box2D.Dynamics.b2Vec2();
> のようにかけます。ただこのままではすべての場所で完全名でクラスを参照しなければならず、面倒です。
> そこでクラスのエイリアスが欲しくなるわけですが、JavaScript のように単なる変数としてエイリアスを
> 定義してもうまくいきません。
>
> // b2Vec2 のエイリアスのつもり……
> var b2Vec2 = Box2D.Dynamics.b2Vec2;
>
> // コンパイルエラー。b2Vec2 というコンストラクタはあっても b2Vec2 という型はない
> var v : b2Vec2 = new b2Vec2();
> コンストラクタの呼び出しだけならできるのですが、b2Vec2 は単なる変数で型の名前空間にあるわけではなく、
> 型注釈の位置では使うことができません。かと言って直接クラス名のエイリアスを定義する機能はないようです。
> このような場合、import キーワードでモジュールのエイリアスを定義することはできるので、これを使うと
> 少しは楽なのではないかと思います。
>
> import B2D = Box2D.Dynamics;
> var v : B2D.b2Vec2 = new B2D.b2Vec2();

これを読んでTypeScriptは却下した。アホだろ実際。癖のなくなったCoffeeScriptでしかない。
なおHaxeは普通にimportすればnew b2Vec2()でおk
2013/01/24(木) 12:44:35.91
あとはこれも萎え要因

https://sites.google.com/site/jun1sboardgames/programming/typescript_module
> 「/// <reference path="" />の参照指定はあくまでもコンパイル時のもので、
> 実行時の依存関係の解決は君自身の責務だよ」
2013/01/24(木) 12:47:25.05
そういうコンセプトなんだよ
・JavaScript互換
・綺麗なJavaScriptを吐く
JavaScriptを中間言語として使うんではないってことだ
レスを投稿する

5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況