タグ

ブックマーク / marina.sys.wakayama-u.ac.jp/~tokoi (13)

  • 床井研究室 - SSAO (Screen Space Ambient Occlusion)

    大学祭 昨日一昨日はうちの大学祭でして, 「おお, 学にもリア充は多いのであるな, これらが皆爆発すれば学は壊滅的な状態になるであろうな」と不穏なことを妄想しつつ和歌山ラーメンをはじめとする屋台の出し物をい散らかしておりましたところ, うちの学生さんたちのグループの OpenCV 他の技術を応用して作成したインスタレーションの展示に行き当たりました. 学生さんたちがこういう物を作っていたことを全然知らなかったのですが, 自分たちの発想をこういう風に形にしようと思ってくれたことを知って, とても嬉しく思いました. うん, みんながんばれ. 思う存分やってくれ. 作品に頭ぶつけて壊しそうになってすまん. Crytek の SSAO えー, ちょっと思うところがありまして, Crytek の SSAO (Screen Space Ambient Occlusion) のアルゴリズムを, R

    床井研究室 - SSAO (Screen Space Ambient Occlusion)
  • 床井研究室 - シェーダで Point Sprite

    大震災 東北地方太平洋沖地震で被災された皆様, ならびにご家族・関係者の皆様, そしてこれに心を痛めておられるすべての皆様に, 心よりお見舞い申し上げます. どうしてこんな目に遭わなきゃならないんだという怒りの持って行き場も無く, 「お見舞い」という言葉すらも空虚に思えて, ただただ空を仰ぎ見るばかりです. 今日, うちの大学では「わかやま自主研究フェスティバル」というイベントがあったのですが, その開会式の冒頭でも黙祷の時間がとられました. 私はどうしても下を向けず, 空に登られた方々を見送る気持ちで顔を上げたまま黙祷していました. 「いつかくるとは思っていたが今日くるとは思わなかった」という警句がありますが, それにしてもあまりにも過酷です. この負債は他人任せにせず, 我々日に住む者皆が負うという覚悟をしたいと思います. 点 (GL_POINTS) にテクスチャを貼る Point

    床井研究室 - シェーダで Point Sprite
  • 床井研究室 - マルチプルレンダーターゲット

    遅延レンダリング 学生さんに向けたフレームバッファオブジェクトの説明の続きです. どうも口で説明するより文章に書いた方が理解してもらえそうな気がするので, 目を "ひんむいて" よく読んでね. 君がやろうとしているように, レンダリング結果の画像を事後処理でコネコネしたければ, レンダリング結果を画面に出力せずに一旦どっかにとっておいて, それを使ってもう一度レンダリングする必要があります. そういうテクニックを遅延レンダリング (deferred rendering) といいます. んで, レンダリング結果を CPU を介さずに GPU 側にとっておく機能がフレームバッファオブジェクトです. しかし通常のレンダリングでは, フレームバッファのカラーバッファにカラーデータ, すなわちレンダリングされた画像だけが出力されます. これを事後処理でコネコネしようと思っても, これだけでは情報が不

    床井研究室 - マルチプルレンダーターゲット
  • 床井研究室 - 似非 SSS (Subsurface Scagttering)

    就職氷河期 M2 が二人売れ残ってます. 他の二人がさっさと決めてくれたので意外と調子いいなと思ってたんですが, 残る二人がなかなか決まりません. うち一人は早くから研究成果を出していた人なので悔しいです. それに就職活動が長引いたせいで, せっかく積み上げてきた成果がしなびてしまいそうです. なんとかならんかな. 似非 SSS (Subsurface Scattering) 先日 SSAO のサンプルを作っているときに久保尋之氏からメッセージを頂いたのをきっかけに, 久保氏のご研究をヒントに, もしかしたらこういう方法でも SSS (Subsurface Scattering, 表面下散乱) っぽい表現ができるかも, と考えてやってみました. この方法は理論的な裏付けもサーベイもしてませんし, 速くもなければ品質が良い訳でもないのですが, SSAO のプログラムをわずかにいじるだけで実現

    床井研究室 - 似非 SSS (Subsurface Scagttering)
  • 床井研究室 - 第3回 テクスチャの合成

    下地の色 前回のプログラムでは,ポリゴンにテクスチャを貼る場合にも glMaterialfv() を使って材質を設定していました.では,この材質によって決まるポリゴンの色は,そのポリゴンにテクスチャを貼ったときに,どのように扱われるのでしょうか.今回はポリゴンの色とテクスチャの色との合成について説明します. アルファ値 これまで画像データの形式は,光の三原色(赤,緑,青)の3つの成分,すなわち RGB 形式で表していました.しかし,OpenGL が内部で色について処理する時は,RGBA という4つの成分を取り扱っています.この4つ目の成分 "A" は「アルファ値」と呼ばれ,一般に「不透明度」として扱われます.アルファ値は画像の合成の際に利用されます. では,今まで使ってきたデータをもとに,RGBA 形式の画像を作成してみましょう.実は Photoshop Elements では,RGBA

    床井研究室 - 第3回 テクスチャの合成
  • 床井研究室 - Depth Peeling

    板書 私が担当しているコンピュータグラフィックスという講義では,板書で解説をしています.いつもチョークまみれになってしまいますし,内心では「画像や3次元図形を板書するのは無理があるなぁ」と思っているのですが,もう意地になって板書しています.しかし先日,講義が終わった後に,一人の学生さんから「どうして PowerPoint 使わないんですか?」と言われてしまいました. さすがに「意地で」とは言えないので,「PowerPoint を使うと自分でノートを整理してくれないし,私が手で書いているんだから,みんなにも手でノートを取ってほしいと思って」とか建前を答えたんですが,こちらから「やっぱり何かまずいか?」と聞いてみたら,「いえ,なんかいつも息を切らして授業されてるから」と言われてしまいました orz.はい,キツイんです.すみません.こういう講義をしているせいかどうも空気が重たいので,この間,天津

    床井研究室 - Depth Peeling
  • 床井研究室 - Point Sprite を使ってみる

    フランス人帰る こだわりのフランス人は,交換留学の期間を終えて,フランスに帰っていきました.外見はナイーブな感じでしたが,気さくで付き合いもよく,ほかの学生さんにはとてもいい刺激になったみたいです.彼は日語がまったく話せない状態で日に留学に来たわけで,そう思えば度胸のある人だったのかもしれません.ただ,そのために周りの学生さんや私も必然的に彼に合わせてコミュニケーションをとらざるを得ませんでした.みんなかなり四苦八苦していたのですが,それが結果的にいい「異文化コミュニケーション」になったと思います.彼は「日の大学院に進学したい」と言い残して帰っていきました. そのフランス人に与えた課題の中で,彼は最初ビルボードにテクスチャを貼るという実装をしていたので,Point Sprite を使ったらもう少し高速化できるんじゃないかとアドバイスしました(この件に関しては pierrot さんアド

    床井研究室 - Point Sprite を使ってみる
  • 床井研究室 - 第18回 テクスチャオブジェクト

    独立したテクスチャが使いたい テクスチャが1枚しかなくても,テクスチャを分割して使うことで,異なる場所や物体に異なるテクスチャを貼り付けることができます.それでも,やはり独立したテクスチャが使えたほうが何かと便利です.たとえばキューブマッピングはテクスチャに使う画像の全体を使用しますから,その一部を切り分けて他に流用するようなことができません.この場合は独立したテクスチャが必要になります. OpenGL において独立した複数のテクスチャを取り扱う機能のことを,テクスチャオブジェクトと呼びます.複数のテクスチャメモリを動的に割り当てたり開放したりする機能のほか,テクスチャに優先度を与えて処理速度を最適化する機能も用意されています. 部屋の中にティーポットを置いてみる それでは,通常のテクスチャマッピングにキューブマッピングを組み合わせてみましょう.まず,前回作ったプログラムを雛形にして,箱の

    床井研究室 - 第18回 テクスチャオブジェクト
  • 床井研究室 - 第15回 ポイントのアニメーション

    あああまた年末だ 夏休みに何か始めて気がついたら年末になっているという状況には前にも陥った記憶があるのですが, 考えてみれば毎年こういうことを繰り返した挙句に除夜の鐘を聞いているわけで, このまま何の進歩もなく老いさらばえていくのかと半ばあきらめに似た感情を抱くとともに, 人生の悲哀を感じている今日この頃です. ところで, 毎年同じことをしているといえば, 我が家では大晦日に焼肉とそばをべ, 元旦にカレーべることが恒例となっているのですが, 知り合いには「それは正月の過ごし方として間違っている」と指摘されました. 別にいいじゃんと思っていたのですが, 先日通勤途中でこういうのぼりを見かけました. 正月にカレーべることは, 正式な日の風習として認められています. 宇宙は美しい ということで, 研究室の学生さん向け「夏休みゼミ」の続編の「冬休みゼミ」です. 私からのクリスマスプレゼ

    床井研究室 - 第15回 ポイントのアニメーション
  • 床井研究室 - ゼブラパターンの映り込み

    曲面の評価 風邪ひいて寝転がっていてふと思いついたのでメモ.原田研のひろぴこさんが曲面を評価するときに縞模様 (ゼブラパターン) の映り込みを表示してましたけど, これは GLSL による環境マッピングのフラグメントシェーダのプログラムを以下のように書き換えるだけで実現できます. (2月1日 車の画像を追加) // reflect.frag varying vec3 r; // 視線の反射ベクトル void main(void) { gl_FragColor = vec4(step(0.5, fract(2.0 * r.z / r.y))); } これは平面上に縞模様を貼付けた場合です. 初期値は y 軸と直交した平面ですが, マウスの右ボタンで動かすことができます. 定数の 2.0 は縞模様の密度です. 下図は不要なものを削除しています. ただ, これだと r.y = 0 に近い面の縞模

    床井研究室 - ゼブラパターンの映り込み
  • 床井研究室 - 第6回 投影マッピング

    凝ったスポットライトを作る 投影マッピング(プロジェクションマッピング)は,スポットライトを当てるように,物体表面にテクスチャを投影するマッピング方法です.OpenGL 来のスポットライトは物体が細かくポリゴンに分割されていないと使い物になりませんが,投影マッピングを使えば粗いポリゴンにも凝ったスポットライトを当てることができます.なお,これはテクスチャ座標の自動生成により行うことができますが,ここでは自分で座標を設定してみます. 3次元のテクスチャ座標 既に述べたように,テクスチャ座標においても物体の座標と同様に座標変換が行えます.このことはテクスチャ座標が,内部的には3次元(同次座標系なので4要素)で処理されていることを示しています.このため,glTexCoord*() で指定するテクスチャ座標とテクスチャ空間上の位置との関係は,glVertex*() で指定する頂点の座標とスクリー

    床井研究室 - 第6回 投影マッピング
  • 床井研究室 - 第1回 シェーダプログラムの読み込み

    戦力外通告 一口に仕事といってもいろんな側面があるとは思うのですが,だからと言って独りよがりなことばかりしていれば,評価を得ることはできません.そして評価が得られない状態が継続していると,当然その組織に貢献していないと見なされ,戦力外を通告されることになります. もっと組織に貢献する形で行動を最適化しなければと考えています.ちょっと頑張ってみます (2013年7月3日追記). 固定機能の追加の限界とプログラマブルシェーダ dot3 バンプマッピングやシャドウマッピングは,画素単位の陰影付けや影付け処理を固定機能のハードウェア上に実装するための,非常に巧みな拡張機能だと思います.しかし,ユーザ(デザイナ,プログラマ)の多様な発想から発せられる様々な要求をこのような形で実装し続けることには,遠からず限界がきます.したがって,ユーザの発想をユーザ自身の手によって実装できるような仕組みを用意するこ

    床井研究室 - 第1回 シェーダプログラムの読み込み
  • 床井研究室 - 第9回 GLSL によるシャドウマッピング

    就職活動 現在,うちの研究室の学部4年生が就職活動にいそしんでいます.すでに活動の「第1波」が過ぎたようで,よその研究室からは内定を取ったという話がちらほらと入ってきます.でもうちの4年生は,なんだかのんきに構えているように見えます.大丈夫かなぁ(内心,焦っているのかもしれませんが). それにしても就職活動というのは,当にお見合いとよく似ていて,もちろん人の能力や資質も問われますけど,それ以上に「縁」とか「相性」とか「運」みたいなものが成否を左右します.ところが学生さんは,偏差値という物差しを使って大学までやってきたせいか,同じような物差しが企業の間にもあるような錯覚をしていることがあって,就職活動の成否によって自分が「ランク付け」されているように感じることがあるみたいです.そのため,うまくいかないとどんどん落ち込んでいったりします.そこで,「うまくいかなかったのは相性が合わなかっただ

    床井研究室 - 第9回 GLSL によるシャドウマッピング
  • 1