穴日記

どうだ明るくなったろう

Blue-noise Dithered Samplingの実験をしてみた

これはレイトレ合宿4!?のアドベントカレンダー記事です。 Blue-noise Dithered Sampling 先日開催されたSIGGRAPH2016には私も参加しましたが、興味深いものの実装が大変そうなものから何の役に立つのかわからない技術まで様々な知見を得ることができました。…

WebGLでリアルタイム流体シミュレーション+レンダリングを実装してみた

はじめに なんかWebGLが流行ってるらしいのでWebGLすることにしてみました。OpenGLはぼんやりとやったことがあったのですが、ウェッブ技術に対する疎さが深刻化しているのでモダンで先端的なテクノロジーを追及するためにもWebGLの習得は急務といえました。 …

一流グラフィックスプログラマへの道~リアルタイム編~

はじめに こんにちは。holeです。この記事は第三回レイトレ合宿のアドベントカレンダーです。 今回は一流グラフィックスプログラマ(リアルタイム)になる方法を探ってみました。一流のことは一流の会社を調べるのが一番!ということで海外15社(18種)、国…

レイトレ本書評10連発

このポストはレイトレ合宿2アドベントカレンダーの10回目です。 皆さん、レイとばしてますか?なんと残り時間も12日というわずかなものになってきました。あれほど沢山時間はあったのに、いったいどこへ消えてしまったのでしょうか?それは誰にもわかり…

表面化散乱の実装とかについて

コメント欄で表面化散乱の話があったので簡単に書いておきます。(一か月くらい前ですね。すいません。あまりこっちのブログは見てないのでツイッターとかのほうが反応は良いです) 表面化散乱とは、物体に侵入した光が物体内部で散乱を繰り返し、別の場所か…

Precomputed Radiance Trasnferのメモ

マイクロソフト(当時)のSloan氏が発表したPrecomputed Radiance Trasnfer(事前計算済み放射輝度伝達)の簡易的なメモ。リアルタイムに相互反射や無限遠からの環境マップによるImage Based Lightingを考慮したライティングを行うのはかなり大変である。こ…

シャドウマップのメモ

シャドウマップの自分用メモ。シャドウマップによるアルゴリズムは無数にあるが、基本的には光源側からシーンをレンダリング、光源からの深度値をシャドウマップと呼ばれるデータ構造に保存し、その値を視点側からシーンをレンダリングするときに参照しなが…

法線の変換の話

オブジェクトの頂点をモデル座標系からワールド座標系に移すときに法線も一緒に変換する必要がある。 たとえば、シェーディングするときは法線が必要になるが、たいていライトはワールド座標系に存在しているため、法線もワールド座標系に移す必要がある。 …

CG系講義まとめ

アメリカの有名大学とかのCG系講義ページをまとめました。 Stanford University Courses in Graphics http://graphics.stanford.edu/courses/ CS 248: Interactive Computer Graphics 資料多め https://graphics.stanford.edu/wikis/cs248-11-winter/ CS 3…

コンピュータ科学、情報科学分野教科書的書籍まとめ

まとめました。集合知期待。http://kagamin.net/cst/index.php/%E6%95%99%E7%A7%91%E6%9B%B8%E3%81%BE%E3%81%A8%E3%82%81

たのしいレンダリング

ツイッターのほうですでに公開しましたが一応こっちにも書いておきます。各種レンダリングアルゴリズムを実装して一か所にまとめました。全部Githubでソース公開してます。http://kagamin.net/hole/simple/index.htmパストレーシング、双方向パストレーシン…

たのしいメトロポリス法のメモ

適当なメモなので間違っていたら突っ込んでくださいMetropolis法でレンダリングするのが最近ますます流行っているらしいです。SIGGRAPH2012のQuasi-Monte CarloのコースでもMetropolis Light Transportとかが話題になってたみたいです。https://sites.google…

たのしいTumblr

というわけで大昔に作っていたTumblrアカウントを復活させてたのしく使っていくことにしました。http://h013.tumblr.com/

AO BenchをGo言語に移植しました

AO Bench(http://code.google.com/p/aobench/)というAmbient Occlusionによるレンダリングを行うベンチマークがあり、結構いろんな言語に移植されてるのですが、Go言語版がなかったので移植しました。 Core2の2.66GHzで7.8 secといったところでした。前のO…

論文執筆メモ

短く、簡潔で、わかりやすい文章を並べる。 妄想を書かない。 主張を書いたらかならずそれを証明する文章も書かなければならない。 客観的に書く(技術論文なので) 技術論文では, 客観的事実のみ書く くどくどと同じような内容を書かない Andで文章をはじめ…

TokyoDemoFest2012に参加しました

昨年、日本初のオフラインデモパーティということで行われたTokyoDemoFest2011でしたが、今年もめでたく開催となりました。 しかも、場所は秋葉原MOGRA、日程は二日間と前回より大幅にグレードアップした形でした。 僕もオーガナイザーの一人として、また、…

GAで習作作ったので公開したりしました

課題でGA使って何かつくれーっていわれたので何か作りました。 こんな感じ。 個体が九個表示されるので、好きなのを選ぶと、それを親にして新しい形状の個体を作ります。 まあ、人間が評価関数をやる感じの適当なGAですね。淘汰のプロセスとかは結構適当です…

AO BenchをOCamlに移植しました

AO Bench(http://code.google.com/p/aobench/)というAmbient Occlusionによるレンダリングを行うベンチマークがあり、結構いろんな言語に移植されてるのですが、OCaml版がなかったので移植しました。 ocamloptでコンパイル、Core2の2.66GHzで6.6 secといっ…

Line Space Gathering for Single Scattering in Large Scenesを読んでちょっと実装しました

さて、私は今学部でいろいろな研究室を回り、論文を読んでは実装するという課題を行っているのですが、初回の課題はSIGGRAPH2010の論文、Line Space Gathering for Single Scattering in Large Scenesを読みました。この論文はレンダラ系論文で、何らかの媒…

C++で画像とか入出力のまとめ

最近CGとかやってるんですが、結果画像を画像ファイルで保存したりしたいわけです。 まあ、適当にやるならPPMとかでもいいんですけど、PNGとかで保存したいなあ、という需要もあるわけですね。 そこで、マルチプラットフォームっぽいC++用の画像入出力ライブ…

Structure-based ASCII Art

SIGGRAPH2010の論文、Structure-based ASCII Artを実装しました。この手法は、画像の濃淡を利用したTone-basedにアスキーアートを生成する手法に対して、画像の形を利用してアスキーアートを生成するというものです。手法の概要は以下のようでした。 最終的…

Ubuntuで解像度とか登録する方法

cvt 1600 1200 xrandr --newmode "1600x1200_60.00" 161.00 1600 1712 1880 2160 1200 1203 1207 1245 -hsync +vsync xrandr --addmode VGA1 1600x1200_60.00

OCamlでクイックソートの末尾再帰

http://d.hatena.ne.jp/maoe/20060130 というCPS変換を使ったSchemeによるクイックソートの末尾再帰実装を見つけたので、OCamlで再実装してみました。 let rec qsort lst cont = match lst with | [] -> cont [] | x::xs -> let left = filter (fun a -> a <…

IKADIUSとかイカディウスとかを公開しました

前回の記事で書いたとおり、IKADIUSを公開いたしました。以下からどうぞ。 http://kagamin.net/hole/ikadius.htm経緯などはリンク先を見ていただくとして、ここではちょっと技術的な話とかを書いておきます。まず、元のコードがmin-camlであり、それをWindow…

プロセッサ・コンパイラ実験記(あるいはCPU実験記)

id:sukai1989が書いていたので。彼とは同じ班だったので、彼の記事(http://d.hatena.ne.jp/sukai1989/20110311)を読めば、まあ、全てがわかりますが、色々とだらだら書いておきます。主に僕のやったことを中心に書くので、CPU実験全体についてはsukaiさんの…

λ計算のλの由来

ちょっと気になったので調べてみました。 とりあえず、以下の論文が有用な情報源になりました。 History of Lambda-calculus and Combinatory Logic http://www-maths.swan.ac.uk/staff/jrh/papers/JRHHislamWeb.pdf これによると、RussellとWhiteheadのクラ…

ActionScript3.0でYコンビネータを実装

まあタイトルどおりですね。ASはちゃんと無名関数とかあるので楽です。基本的には以下のSchemeコードを移植する感じです。 http://www.loveruby.net/ja/misc/ycombinator.html package { import flash.display.Sprite; public class Main extends Sprite { p…

TokyoDemoFest 2011に参加したよ

去る2011年1月8日、日本で初の公式オフラインデモパーティTokyoDemoFest2011が開かれました。 私も、発表を行ったり作品を出したりさせていただきました。 正直、最初は誰がくるんだーって感じでしたが、いつのまにかどんどん参加者は増え、当日もなかなかの…

今日の最適化

if-else連接とswitchでは分岐先が多ければ一般にswitchの方が速い。 ただし、入力が限定され、分岐先が偏っている場合はif-elseで、順番をうまく入れ替えたものの方が速くなることがある。(分岐予測とかのおかげかも) 最終的には、if-else連接とswitchを組…

近況

最近はOCamlで多相バリアントとかをやり、VHDLでハードウェアを書き、Cで数値計算を行い、Pythonでテキスト処理を行い、アセンブラでデモを書いています。

ゲーム公開した

このブログだけの読者なんていないんじゃないかなーと思うけど、一応書いとく。私のHPで自作ゲームを公開しました。適当に遊んでね!

Qtでシミュレータ書いた

マルチプラットフォームなGUIアプリケーションを書くことになったのでさてどうしようか、と考えたところ、どうやらQtというライブラリがよさそうだぞ、ということでQtでシミュレータを書きました。 ほかにもマルチプラットフォームなGUIライブラリ…

Pythonでアセンブラ書いた

いろいろあってオリジナルプロセッサ向けのアセンブラを書くことに。 とりあえずC++でいいだろーてな感じで適当に書き始めるも、絶望的に文字列処理がしにくい。 かといってBoostで正規表現する気も起きないし、lex+yaccで構文解析する気にもならない。 とい…

メモ

Python使ってTwitterに投稿するなら Python-Twitter OAuth-Python-Twitter を使うのが楽。

四ヶ月

・ツンデレ ・ツインテール ・髪の色が紫あたりが重要なファクターである。

三ヶ月

情報科学科に進学して三ヶ月がたちました。前々回の日記と前回の日記の間も一ヶ月で、このときは非常に長く感じたものですが、前回から今回までは一瞬で過ぎ去ったような気がします。全部課題の性です。 しかし、課題も何かゆとってきたので最近はもう全てを…

二ヶ月

情報科学科に進学して二ヶ月が経過しました。一週間にのべ三つの課題がでるため、おおよそ20個ちょっとの課題をこなしたことになるでしょう。 今日は色んなプログラミング言語を一言で評価したいと思います。C 元気のいい子。ちょっと馬鹿。C++ ひねくれて…

一ヶ月

情報科学科に入って一ヶ月が経過いたしました。課題の量がやばいです。破滅です。死にます。むせ返るような鉄の匂いがあたりに充満します。シェルとかつくっちゃうかもしれませんし、OCamlで存在型を利用してヘテロリストを実装したりします。朝から晩までプ…

情報科学科に進学した

というわけで情報科学科に進学しました。 最初にやったのはLANケーブルの自作でした。

全ゲ連とか行ってみた

ということでこっそり全ゲ連なるイベントに行って来たのであります。 初回参加を装っておりましたが、実は第一回も行ってたのですねー。 しかしあのころは色々やる気なかったので二回目以降は行ってなかったのです。 最近、再びゲーム開発欲とかが高まってき…

かがみん検出プログラム2

さて、ちまちまと改良を続けております、かがみん検出プログラムです。とりあえず、最初はリボンをつかさ-かがみん判定のメインに使っていたのですが、思ったよりもかがみんの頭上が黄色いシーンが多く、結構誤検出してしまうのです。そこで、あえて顎下の髪…

かがみん検出プログラム

アニメ顔検出ライブラリを使ってらき☆すたの動画よりかがみんだけを抽出するプロジェクトを開始しました。アニメ顔検出ライブラリってのはhttp://anime.udp.jp/のことで、画像を放り込むだけで画像中のアニメ顔を検出してくれるすばらしいライブラリです。今…

過去を振り返って

5年ほど前に書いていた日記を読んでいたのですが、昔の私は結構すごかったですね。Twitterみてると高校生とかでばりばりプログラミングしてる人たちがいてすごいなあとか漠然と思っていたのですが、昔の私もぜんぜん彼らに負けていないくらい色々やっていた…

ブログる

さすがに放置しすぎかと思われましたので適当に日記をつけていきたいと思います。 そもそも、なぜこんなになるまで放っておいたかと言えば「地味に忙しい=書くことない」「書くことあってもTwitterに投げてしまう」の二つの理由によります。前者はまあ、ど…

しんねん!

とりあえず今年の目標・DirectXでシェーダープログラミングをする ・ゲームをちゃんと作る ・進級する

続き

なんだかんだいって作るゲームのネタは固まりつつあります。3D描画で2D処理のSTG風ゲームって感じですね。 とりあえずモーションブラー実装してみたのでうpります。http://ahya.ath.cx/demo2.zip

デモプログラム

いよいよ学祭が近く、つまりゲームを作らなければなりません。しかし、去年のこの時期から今日に至るまでまったくゲームプログラミングをサボっていたのでもうだめぽです。もうだめぽですが、それなりに勘を取り戻すべく適当にDirectXとかで遊んでいます。と…

ガイダンス

大学のガイダンス行ってきたんだけど、日記とかから個人情報が特定されまくるらしいので、個人的なことを書くのはひかえます><。 しかし、140文字以下の内容しか書かないんならもはやTwitterでやってろって感じですね。Twitterとかにはまると長い文章がま…

WindowsVista

おおむねVistaに不満は無いけれど、OpenGLへの対応がヘボすぎるのがかなり最悪ですっ。

ラブプラスやべえ

時代の流れに乗ってラブプラスやってみましたが、こいつはやばいですね。どうやばいかはきっとほかの人が書いているのであえては触れませんが、ラブプラスのだめにDS三台買ったやつがいるってのもうなづけます。 これはまさに現代のたまごっちでしょう。(ま…