なんだか雲行きの怪しい雑記帖

ぐだぐだ日記とメモと,あと不定期更新

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

週アレ(16) GLSLでディザパターン(BayerMatrix)

週に一回アレしてアレしてたハズの記事:十六回目

ご無沙汰してました、もう週一回とか1ミリも関係ないのだけど、少し整理した技術系の話はこのカテゴリで通すことにしたのでこのタイトルになります。

今回はディザリングについてです。
具体的には、ディザのパターン生成(パターン配列としてはBayerMatrixを使用しました)と、パターンの複雑さと実際のディザの見た目について触れます。

今回のは若干マニアックな話題なんですが、昨今の3Dゲームだと半透明表現としてたまに(普通に?)使われているところではあるディザ半透明について、そもそもディザってどういう手法があるのかなと思って調べた記事になります。
続きを読む
スポンサーサイト

週アレ(15) レジスタマシンと関数呼び出し

週に一回アレしてアレするらしき記事:十五回目

下書きしたはいいけど公開してなかったPart1
前回「週アレ(14) スタックマシンとレジスタマシン」ではVMにおける計算モデルの話でした
今回はレジスタマシンの方についてもう少しだけ突っ込んで見ていこうかと思います
主に速度的な観点が1つと,もう一つはレジスタマシンでの関数呼び出し周りの話

どちらかというと私が書きたいだけの内容なので,あまり有意義ではないかもしれないです
続きを読む

週アレ(14) スタックマシンとレジスタマシン

週に一回アレしてアレすると思われた記事:十四回目

時間が空きました
分かってたつもりですが,本当に一回やらなくなるとその先もずっと手を付けられなくなりますね
主に私が新しいものに手をつける理由が最近ないからなのですが,それが何に起因するのか(あるいは起因しないからなのか)については言及しようとしてもしょうがないことですね
…意味不明だな…

それはさておき,今回は仮想機械(VirtualMachine:VM)の設計寄りの話でスタックマシンとレジスタマシンについてです
この辺はオレオレ言語の為に自分でVM作ろうとかそういうことを思わない限り個人で関わることはない話だと思います
”仮想機械”という単語だけだと,VirtualBoxやVMWarePlayerなどOSなどの大規模なシステムごと仮想化するシステム仮想機械(SystemVirtualMachines)も含まれてしまうのですが,今回はそちらではなく言語の実装などに使われるプロセス仮想機械(ProcessVirtualMachines)に焦点を絞ります

最初は仮想機械全体についての話も少し入れてありますが,それよりもスタックマシンとレジスタマシンの話を聞きたいんよという方は最初の方は飛ばして頂ければと思います 続きを読む

週アレ(13) LIBLINEARで高速線形SVM

週に一回アレしてアレする記事:十三回目

前回「週アレ(11) C++で始めるLibSVM」ということで,RBFもLINEARもPOLYNOMINALもカーネルに使えるSVMのライブラリとしてLibSVMについての記事でした
そこでサラッとおまけあたりで触れましたが,実はLibSVMはLINEARカーネルを用いるときでもナイーブに内部にサポートベクトルを保持して計算するので,LINEARカーネルなのに計算コストが非常に高いつくりになっています
本来LINEARカーネルであれば識別には
 「識別平面の角度を表すベクトル(入力ベクトルと同次元)」
 +「原点から識別平面までの射影軸上の距離(バイアス値:1次元)」
で事足りますね


そこでLibSVMと同じ作者らがLINEARカーネル(正確には,カーネル無し)用に最適化しているLIBLINEARというライブラリを公開しています
これを使うとLINEARカーネルでも高速に学習・予測が行えるということで,LINEARカーネルに限定できる状況下では積極的に使用すると効率的に時間が使えて幸せですね

LINEARカーネルかあるいはRBFカーネルなど他のカーネルを用いるかどちらがいいのかは議論すべきところですが,研究においては精度的な意味でRBFカーネルを使うのが通常ですし,処理速度を気にしなければならない問題にぶつかったときにLINEARカーネル使うという流れになるので,考えるより先に使ってみるという話が一番現実で多いかもしれません


ということで今回はLIBLINEARの話,LibSVMに比べてマイナーな話題
続きを読む

週アレ(12) GLSLで遊ぶ(GLSL Sandbox)

週に一回アレしてアレする記事:十二回目※1

前々回「週アレ(10) シェーディング言語ことはじめ(GLSL)」に引き続いてGLSLでもう少し遊んでいこうと思います.


※1:12月23日か24日あたりの充填分記事です
 やっと,ほぼ追い付いてきました…
続きを読む

週アレ(11) C++で始めるLibSVM

週に一回アレしてアレするか迷っていた記事:十一回目

前回GLSLについての話で,続きは次回と書いておきましたが,今回はちょっと横道にそれてLibSVMの話をしようと思います.
たまには自分が書きやすい記事でもいいじゃないか,と.
あと備忘録.


最近,パターン認識とか機械学習とかいうワードが,「ビッグデータ」という流行語に乗っかって流行りだしてきてるんじゃないかと思っています
パターン認識と機械学習(Pattern Recognition and Machine Learning:PRML)というキーワード自体も有名だと思いますし,私としても一回くらいこれについて触れておいてもいいかな,と思ってこの記事を書こうと思いました

なお,SVMの基礎知識についてはあまり触れないので,ご容赦ください
C++からLibSVMを使う例として見て頂ければ幸いです

また,OpenCV使いながらも可視化を行っているので,「このカーネルでこのパラメータだとこうなるのか」の確認とかなどもいいかもしれません
続きを読む

週アレ(10) シェーディング言語ことはじめ(GLSL)

週に一回アレしてアレしくさる記事:十回目

祝! 十回目
なのですが,全く充填分の記事が書き終わらなくて悲しみを背負ってきていて,うっ…
しかしまだ頑張れるようなので書きます
今回は何時でしたっけ,12月9日あたりに該当する記事なんだと思います



前回まででちょっとWebGLについて触っていたのですが,やっぱり3D関連の技術は触ると面白いということで引き続きやっていこうと思います
3D技術の中で個人的に触りたいなーと思ってるのはアニメーションとシェーダなんですが(そもそもこの区分けの仕方だと,残っているものがないような気がしますが…),今回は後者のシェーダについて触ってみようと思いました,まる

前半は若干長くシェーダについての説明が入っていますが,今回触るフラグメントシェーダの位置づけの確認ができればよく,外の内容は単純に私の中での情報の整理という意味合いもあるので,全部飛ばして頂いても構いません
本文は「GLSLで始めるフラグメントシェーダ」から始まりますので,ササっと中身について触れたい方はそちらから読み始めて頂きますようお願いします

続きを読む

週アレ(9) HTML5+JavaScript(enchant.js)で何かゲームを作ってみる

週に一回アレしてアレするべき記事:九回目

ようやく12月の充填分に入りました! 12月2日あたりの充填分記事です(予定)

前々回「週アレ(7) enchant.jsことはじめ」ではHTML5+JavaScriptで作るブラウザ用ゲームフレームワーク「enchant.js」の基本的なところについて触れてきました
前回「週アレ(8) enchant.js with WebGL で3D描画」では,そんな「enchant.js」からWebGLを扱えるプラグイン「gl.enchant.js」について触れ,実際にWebGLを使った3D描画をやってみました

というわけで,今まで二回も「enchant.js」に関して記事を書いてみた訳ですが,内容や出来ることにばっかり触れてないで,やっぱり一回くらい何か適当なゲームでも作ってみないとライブラリの良さとか分からんでしょ色々,という思いがあったので何か作ってみました
……というのは若干嘘で,実は最初の記事を書く前にそう思ってまして,その時に既に一つ作っていました
今回はその時に作ったものについて書こうと思います

折角作ったし,何より今回の記事らがここまで投稿するのが遅くなった一因でもある(!?)ので,ちゃんと書いておきたいなー,と

ただ,最初に自分で触った時に書いたソースコードそのままなので,折角前々回などで触れた「enchant.js」の機能などはフルで活用できてなかったりします
じゃあ今回は具体的に何について書くのかと言うと,触った後に気づいた点とか,微妙にハマった罠であるとかについて書こうかなと
使い方だけを見ているだけでは気づかない事実も結構ありますし


なお,作ったものについては,この記事の最後の方に置いとこうと思います

続きを読む

FC2Ad

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。