SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
今更GWTで遊ぶぜ!
2014/04/05
上川大介
自己紹介
●
名前: 上川大介
● Twitter: d-kami
●
はてな: d_kami
●
多分Javaの人、場合によりバイナリアン、と
きどき3D
何をしている人か
●
仕事?
– AndroidとかServletとか
●
趣味
– SwingとかGWTとか
– Raw Socketとかx86とかWebGLとか
今日のテーマ
GWT!
(Google Web Toolkit)
でも...
●
GWTを詳しくやるわけではありません...
●
GWTでこんなことしたよ!程度の発表です
●
前半レイヤ高め、後半レイヤ低め
●
前半WebGL
●
後半x86
●
Javaがほとんどでてこない!
前半のテーマ
●
GWTGL!
●
MikuMikuDance!
つまり
●
GWTでMMDのモデルを描画
●
GWTでMMDのアニメーション
GWTGLとは?
●
WebGLをGWTから使うためのライブラリ
●
WebGLとは
– ブラウザで動くOpenGL ES2.0実装
– わりと漢のライブラリ
●
GWTGLはWebGLより更に漢
GWTGLの漢らしさ(1/2)
●
基本的に計算できるものは自分でやれ!
– Model変換行列
– View変換行列
– Projection変換行列
– これらの作成、計算は自分でする
– これらのUtilityがある環境もあるが...
GWTGLの漢らしさ(2/2)
●
シェーダ必須
– 頂点シェーダ
– フラグメントシェーダ
– デフォルトのシェーダがある環境は温い
●
非推奨関数は全く使えない
– Utility関数が消えた
デモ その1
GWTGLでMMD
●
サーバサイド
– モデルとアニメーションファイルを読み込む
●
クライアントサイド
– モデルの情報を元に描画
● ポリゴン情報が沢山入っている
– ボーンアニメーション(FK、IK)
デモ その2
GWTで3Dもいけますよ!
●
ただし...
– GWTGLを使うのはかなり大変
– 他の技術の存在
● C++をJavaScriptに変換する
● Unity5(WebGL対応予定)
後半のテーマ
x86エミュレータ
x86とは?
●
Intelが作ったアーキテクチャ
●
現在も拡張され使われている
– PentiumとかCore 2 DuoとかCore I7とか
●
今回使うのは古の技術
– 80386、80486あたり
エミュレータとは?
●
あるコンピュータの動作を真似る別のコン
ピュータ
– ゲーム機や昔のコンピュータを今のパソコンで再
現する
●
経験、近似、推論などで作るとシミュレータ
と言うらしい
でてくる用語
●
レジスタ: CPUの記憶領域
– EAX、ECX、EDX、EBX...
●
プログラムカウンタ: 命令の位置を指す何か
●
即値: 直接値を代入するときなどに使う値
●
16進数: 説明の必要無し。0xFFなど
何をするのか?
●
バイナリファイルを読み込んで実行
– バイナリをメモリに入れる
– プログラムカウンタの指す番地から命令取得
– 命令(0xB0など)を実行
– プログラムカウンタを増やす
– プログラムカウンタの指す番地から命令...
こんな命令がある
●
0xB8 mov EAXに即値を入れる
●
0xC7 mov 指定したレジスタに即値を入れる
●
0x40 inc EAXの値を1つ増やす
●
0xEB jmp いわゆるgoto
●
0x74 je 条件分岐用ジャンプ
●
0xE8 call サブルーチン呼び出し
作り方
●
実装してない命令に当たるまで動かす
●
実装してない命令が来たら実装
●
命令以外はなるべく先に作っておく
デモ その3
今回やったこと
●
GWTGLを使ってMMD
– GWTGLを使うのは大変
– でも3Dもできるよ!
●
x86を真面目にエミュレート
– 特に言うこと無し
– ファイルのドロップにFile API使ったぐらい

Weitere ähnliche Inhalte

Was ist angesagt?

GopherJS + Nashorn
GopherJS + NashornGopherJS + Nashorn
GopherJS + Nashorn
Takuya Ueda
 
Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)
Shinichirou Nakamura
 
JavaとScalaとGroovyと
JavaとScalaとGroovyとJavaとScalaとGroovyと
JavaとScalaとGroovyと
irof N
 
Prop Matrix
Prop MatrixProp Matrix
Prop Matrix
zio3
 

Was ist angesagt? (20)

GopherJS + Nashorn
GopherJS + NashornGopherJS + Nashorn
GopherJS + Nashorn
 
Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)Rubyでアプリ開発(2013 0430)
Rubyでアプリ開発(2013 0430)
 
さくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみたさくらのクラウドAPIをsacloudつかってさわってみた
さくらのクラウドAPIをsacloudつかってさわってみた
 
ブラウザのブックマークの小咄
ブラウザのブックマークの小咄ブラウザのブックマークの小咄
ブラウザのブックマークの小咄
 
Crystal 勉強会 #5 in 渋谷 発表資料
Crystal 勉強会 #5 in 渋谷 発表資料Crystal 勉強会 #5 in 渋谷 発表資料
Crystal 勉強会 #5 in 渋谷 発表資料
 
20171110 fun-tech #5 g1 gc
20171110 fun-tech #5 g1 gc20171110 fun-tech #5 g1 gc
20171110 fun-tech #5 g1 gc
 
Which is your favorite mysqld
Which is your favorite mysqldWhich is your favorite mysqld
Which is your favorite mysqld
 
Live2Dプログラミング部
Live2Dプログラミング部Live2Dプログラミング部
Live2Dプログラミング部
 
非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」非ガチ勢「よし、Coffee script使おう!」
非ガチ勢「よし、Coffee script使おう!」
 
JavaとScalaとGroovyと
JavaとScalaとGroovyとJavaとScalaとGroovyと
JavaとScalaとGroovyと
 
Crystalを触り始めてから起こったこと
Crystalを触り始めてから起こったことCrystalを触り始めてから起こったこと
Crystalを触り始めてから起こったこと
 
Prop Matrix
Prop MatrixProp Matrix
Prop Matrix
 
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
これからのJSの話をしよう ~jQueryで作るTwitterアプリ~ (Gunma.web #2 2010/10/9)
 
How to collect frontend technology
How to collect frontend technologyHow to collect frontend technology
How to collect frontend technology
 
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
すごいぞVuetify!! 〜ポートフォリオを作ってみた〜
 
Effective flutter
Effective flutterEffective flutter
Effective flutter
 
mikutter入門
mikutter入門mikutter入門
mikutter入門
 
エンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったことエンジニアが Webを学ぶために やっててよかったこと
エンジニアが Webを学ぶために やっててよかったこと
 
ブログる
ブログるブログる
ブログる
 
ライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみようライブコーディング・Androidのライブラリを作ってみよう
ライブコーディング・Androidのライブラリを作ってみよう
 

Ähnlich wie 今更GWTで遊ぶぜ!

2013 08-19 jjug
2013 08-19 jjug2013 08-19 jjug
2013 08-19 jjug
sk44_
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
kimukou_26 Kimukou
 
Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発
Y OCHI
 

Ähnlich wie 今更GWTで遊ぶぜ! (20)

2013 08-19 jjug
2013 08-19 jjug2013 08-19 jjug
2013 08-19 jjug
 
俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり) 俺のZabbixがこんなに可愛いわけがない(おかわり)
俺のZabbixがこんなに可愛いわけがない(おかわり)
 
自作GPUへの道
自作GPUへの道自作GPUへの道
自作GPUへの道
 
明日から使えるgradle
明日から使えるgradle明日から使えるgradle
明日から使えるgradle
 
G* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - IntroductionG* Workshop in Fukuoka - Introduction
G* Workshop in Fukuoka - Introduction
 
Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発Gwt+objectifyでラクラクGAEアプリ開発
Gwt+objectifyでラクラクGAEアプリ開発
 
GDDでPlayNを見てゾクっとしたなど
GDDでPlayNを見てゾクっとしたなどGDDでPlayNを見てゾクっとしたなど
GDDでPlayNを見てゾクっとしたなど
 
GoでEPC作って本番運用している話
GoでEPC作って本番運用している話GoでEPC作って本番運用している話
GoでEPC作って本番運用している話
 
今から始めるApache Groovy
今から始めるApache Groovy今から始めるApache Groovy
今から始めるApache Groovy
 
こんにちはGroovy
こんにちはGroovyこんにちはGroovy
こんにちはGroovy
 
Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編Groovyスクリプト"再"入門 起動編
Groovyスクリプト"再"入門 起動編
 
Nodeにしましょう
NodeにしましょうNodeにしましょう
Nodeにしましょう
 
Groovyの紹介20130323
Groovyの紹介20130323Groovyの紹介20130323
Groovyの紹介20130323
 
Groovy Grails eXchage 2014 報告
Groovy Grails eXchage 2014 報告Groovy Grails eXchage 2014 報告
Groovy Grails eXchage 2014 報告
 
Vagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみようVagrant+virtualboxを使ってみよう
Vagrant+virtualboxを使ってみよう
 
Webページで学ぶJavaScript2013 第0回
Webページで学ぶJavaScript2013 第0回Webページで学ぶJavaScript2013 第0回
Webページで学ぶJavaScript2013 第0回
 
MySQLをプロファイる(仮)
MySQLをプロファイる(仮)MySQLをプロファイる(仮)
MySQLをプロファイる(仮)
 
Go mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろうGo mobileでモバイルアプリを作ろう
Go mobileでモバイルアプリを作ろう
 
モバイルVR「Daydream」について
モバイルVR「Daydream」についてモバイルVR「Daydream」について
モバイルVR「Daydream」について
 
いまさら触るAwt
いまさら触るAwtいまさら触るAwt
いまさら触るAwt
 

Mehr von Daisuke Kamikawa (6)

機械語プログラミング
機械語プログラミング機械語プログラミング
機械語プログラミング
 
Javaで作る超簡易x86エミュレータ
Javaで作る超簡易x86エミュレータJavaで作る超簡易x86エミュレータ
Javaで作る超簡易x86エミュレータ
 
自作x86エミュレータの終焉
自作x86エミュレータの終焉自作x86エミュレータの終焉
自作x86エミュレータの終焉
 
第八回カーネル/VM d-kami 没スライド
第八回カーネル/VM d-kami 没スライド第八回カーネル/VM d-kami 没スライド
第八回カーネル/VM d-kami 没スライド
 
d-kami x86-2
d-kami x86-2d-kami x86-2
d-kami x86-2
 
d-kami x86-1
d-kami x86-1d-kami x86-1
d-kami x86-1
 

今更GWTで遊ぶぜ!