タグ

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

  • https://marina.sys.wakayama-u.ac.jp/~tokoi/GLFWdraft.pdf

  • 床井研究室 - GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER

    朝日新聞の火曜日の夕刊に連載されている「熱血!マンガ学」というマンガ評を結構楽しみにしているんですが,今週は CLAMP の「カードキャプターさくら」でした.「年齢や性別を超えたつらく切ない恋も描かれる」と評されていましたが,私が子供のを借りて読んだときは,「これを小学生相手に描くにはちょっと難しいんと違うか?」と思える部分がありました.少女漫画も進化したもんだ.そう言えばこの映画を見に行ったとき(子供連れて行ったんだよ),自分と同じような家族連れに混じって,大学生くらいの男の子のグループをちらほら見かけました.見る方も年齢や性別を超えてるんですね. GL_CLAMP の問題 CLAMP つながりというわけではないんですが(狙ってましたが),書き忘れたと思っていたことの三つ目です.ポリゴンにテクスチャをマッピングする際,テクスチャの拡大縮小に線形補間(GL_LINEAR 等)を指定したと

    床井研究室 - GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER
  • 床井研究室 - 第26回 レンダリング画像をテクスチャに使う

    テクスチャ画像の生成 これまではファイルに保存しておいた画像を使ってテクスチャマッピングを行ってきました.したがって読み込んだ画像は,プログラムの実行中に変更することなく静止画として利用してきました.もし,このテクスチャをプログラム内で動的に生成できれば,更に凝った効果を色々実現できるようになります.ということで,サンプルプログラムを作ってみました. LinuxMac OS X 版 Windows 版 オフスクリーンレンダリング プログラムが自分自身でレンダリングした画像をテクスチャに利用することができれば,テクスチャを動的に変更することが可能になります.しかし,通常のレンダリングは画面表示を行うために用いるフレームバッファに対して行ないますから,テクスチャ用にレンダリングした(最終結果ではない)画像も,利用者に見えてしまいます.そこで,このような画像は画面表示が行われないところにレ

    床井研究室 - 第26回 レンダリング画像をテクスチャに使う
  • 床井研究室 - Vertex Buffer Object

    OpenGL 3.0 と GLSL 1.3 OpenGL 3.0 と GLSL 1.3 のドキュメントを軽く眺めていたんですが,ちょっと気が滅入ってきました.最初にこれを読んで私が驚いた The Deprecation Model というのは,固定機能を使うのをやめてプログラマブルシェーダに移行することを推奨するものなんですね.後方互換性は維持されているので「現時点では」まだ焦る必要はないと思うのですが,将来の仕様変更に対する前方互換性を確保しようとすると,glBegin() / glEnd() が使えないばかりか,glVertexPointer() 等を使って頂点配列を指定することすらできません.変換行列の操作や光源の設定,材質の設定なんかも一切できなくなってしまいます. このため GLSL の側でも,ftransform() が使えないというより,gl_Vertex や gl_Mode

    床井研究室 - Vertex Buffer Object
  • 床井研究室 - Windows でコンソールを出さない方法

    GLUT FAQ の Q36 に書いてある方法(うっ,URL が変わっていた)はリンカオプションを変更しますけど,演習用のサンプルプログラムなんかでは,面倒なので OpenGL @ Lighthouse3D - GLUT Tutorial に書いてあった次の1行をソースに埋め込む方法を使っていたりします. #pragma comment(linker, "/subsystem:\"windows\" /entry:\"mainCRTStartup\"") あと,OpenGL.org の構造が変わっていることに気付いたので,手抜きOpenGLとリンクのページの関係するリンクを修正しました.

    床井研究室 - Windows でコンソールを出さない方法
  • 床井研究室 - (1) GLFW で OpenGL を使う

    GLUT の現状 OpenGL は「プラットフォームに依存しないグラフィックス API」ですが, これと稼働するプラットフォームとのインタフェースの部分はやはりプラットフォームごとに異なっていて, そのあたりの実装はそれなりにめんどくさいものです. そのために, そこをうまくラップするツールキットがいくつも提案されています. 中でも GLUT は, OpenGL を作ったところの人が作った, 使いやすいツールキットです. また GLUT はマルチプラットフォームに対応しているため, これを使ったソースプログラムは Unix / Linux, Windows, Mac OS X の間で共通にすることができます. GLUT は OpenGL の初期に作られたものですが, OpenGL の学習や OpenGL を使った簡単なプログラムの作成を手軽に始めることができるため, 今でも有用なツールキッ

    床井研究室 - (1) GLFW で OpenGL を使う
  • 床井研究室 - 第13回 テクスチャ座標の生成

    テーマソング スーパーのオークワのテーマソングは思い出せても, イズミヤのテーマソングが思い出せないという現象が謎だったんですが, なんとなく原因が分かったような気がします. イズミヤのテーマソングは, 現在は「しあわせくるくる」という歌が主力なのだそうですが, 店内では「さあ, 歩き出そう〜」という歌い出しで始まる「明日へ吹く風」という歌をよく耳にします. この歌は穏やかなとてもいい歌で, 聞いていると気分が軽くなってきます. 気持ちよく買い物ができるという点では, 客のことを考えた非常に優れた歌だと思います. ただ, これは多分テーマソングとしては致命的だと思うのですが, 歌詞にイズミヤを特定するフレーズが一切出てこないために, この歌はイズミヤのテーマソングとして記憶に定着しにくいようです. それが「イズミヤのテーマソングどんなのだっけ?」に対して, つい「お元気で〜す〜かぁ〜」とオ

    床井研究室 - 第13回 テクスチャ座標の生成
  • 床井研究室 - 第3回 テクスチャの参照

    昭和テイスト 研究室のミーティングで学生さんに対して「当たり前田のクラッカー!」っていう具合に突っ込みを入れたら,「昭和テイストだなぁー」とか「世代が違いますよ,世代が」とか散々な言われ方をしました.私,やっぱり旧い人なんでしょうか?(聞くまでもないか)そういえば以前,奥さんに「おさじとって」と言ったら,「はい,スプーン」と訂正されてしまいました.昭和は遠くなったもんだ(違 テクスチャを参照する シェーダプログラムの中でもテクスチャを参照することができます.もちろん,マルチテクスチャが使えます.複数のテクスチャを組み合わせた処理を手続きで書けるってあたりが,シェーダプログラミングの醍醐味でしょう. とりあえず,前回のプログラムにテクスチャに使う画像を読み込む処理を追加します.テクスチャには,以前に使ったこの画像を使います.なお題とは関係ありませんが,以下のプログラムでは OpenGL 1

    床井研究室 - 第3回 テクスチャの参照
  • 床井研究室 - 第8回 指標を用いた図形の描画

    間に合わん 授業期間中だろうが夏休みだろうが, 延々と講義資料ばかり作っている気がします. それなのに, Web 上のものでも "find public_html -type f | wc -l" で 7240, "find public_html -type f -name '*.html' | wc -l" で 1993, "du -s -k public_html" で 635184 くらいしかありません (1万ファイル / 1GB は突破していると思ったんだけどな). これには, この blog や研究室のホームページなんかは含んでませんけど, 量の割に全然管理できてません. もう何がなんだかわかりません. 何をするにも時間がかかりすぎます. 頂点の順序 図のような立方体を線で描くことを考えます. この図形は 8 個の頂点と 12 の稜線で構成されています. GL_LINE_ST

    床井研究室 - 第8回 指標を用いた図形の描画
  • 床井研究室 - 第5回 座標変換

    バージョンアップ 自宅の iMac の OS を Snow Leopard にしました.OS をバージョンアップをすると定常状態に落ち着くまでしばらくかかるんですけど, 今回は更新前と全然変わりなく安定して動いています. いやぁ起動も速いし Firefox もサクサク動くし, Canvas X も Rosetta で一応動きます (日語の入力ができないけど). あと, このブログを動かしていたマシン (Celeron 1.4GHz, 箱は10年物!) も, 元 M 君マシン (Athlon XP 3200+) に置き換えました. だいぶ軽くなりました. こいつの OS も VineLinux の 5.0 に更新したいんですが, なかなか取りかかれません. tDiary も 2.2.2 に更新したいんですが, なんだかエラーが出るのでちょっとペンディングしています. クリッピング空間 レン

    床井研究室 - 第5回 座標変換
  • 床井研究室 - 第19回 マルチテクスチャ

    仕事が遅い つくづく,自分の仕事の遅さに困り果てています.たった90分の授業1コマの準備に丸一週間費やすなんてことはざらです.こんなことをしていたら,研究はおろか,他の授業にも影響が出ます.以前なら夜に時間を稼ぐなんてこともできましたけど,最近はそういうことをすると影響が長引くようになり,なかなか思うようにいきません. そのことを今かかっているお医者さんに話したら,「それは不安感のせいではないか」と指摘されました.確かに,授業にしても研究発表にしても相手がいるわけで,その相手による評価は避けることができません.そして,私はそういうときに,極度の不安感を感じてしまうようです.その結果,準備に不必要なほど神経質になったり,準備そのものに手が付けられなかったりしてしまうんですね. 実はこの blog 自体も,うちの学生さん以外にも読んでいただいている方がいらっしゃることを知って,ここのところかな

    床井研究室 - 第19回 マルチテクスチャ
  • 床井研究室 - フレームバッファオブジェクトの使い方あげいん

    フレームバッファオブジェクト (Framebuffer Object, FBO) フレームバッファオブジェクトの使い方については, キューブマッピングで使ってみたり, シャドウマッピングで使ってみたり, デプスバッファを表示させてみたりしてきていますが, どうも使い方がよくわからんとおっしゃる学生さんのために, もういっぺん書いときます. じーっくりと読んでね. ティーポットを描くプログラム とりあえず, いつものようにティーポットを描くプログラムを作ります. ただし, モデルビュー変換行列や透視変換行列, ビューポートなどは, シーンの描画時にいちいち設定するようにします. このため glutReshapeFunc() のコールバック関数 resize() では, 開いたウィンドウのサイズの保存だけを行います. ティーポットを描くプログラム ... static int width, h

    床井研究室 - フレームバッファオブジェクトの使い方あげいん
  • 床井研究室 - キューブマッピングで FBO を使ってみる

    旅費が出た! 以前,お金が無い!と嘆いていたのですが,関係各位?のご尽力により,国際会議の旅費に加えて参加費まで大学(への寄付金)から出してもらえることになりました!助かりました.今後は大学の乏しい資金に頼らず,自分で外部資金等を取得するよう努力したいと思います.当にありがとうございました. Framebuffer Object (FBO) を使ってみる その国際会議も目前に迫ってきているんですが,それがストレスになっているのか,精神的にはあまり安定していません.そういう時はプログラミングに逃避するというものひとつの手なので,以前から試してみなくちゃと思いつつほったらかしにしていた Framebuffer Object (FBO) を試してみました.FBO はフレームバッファを構成する要素の集合体であり,テクスチャやレンダーバッファをカラーバッファや Z バッファとして用いて,それらを組

    床井研究室 - キューブマッピングで FBO を使ってみる
  • 床井研究室 - 第2回 テクスチャの割り当て

    テクスチャを割り当てる 今回は配列に読み込んだ画像をポリゴンに貼り付けます.画像を読み込んだ配列は,コンピュータのメインメモリ上にあります.テクスチャマッピングを行うには,これを OpenGL が管理するテクスチャメモリ(グラフィックスカード上のメモリあるいはグラフィックスカードのドライバ確保したメモリ)に転送して,グラフィックスコントローラから参照できるようにします. 2次元画像をテクスチャとして使う場合,これには glTexImage2D() という関数を使います.他に1次元テクスチャを扱う glTexImage1D() や3次元テクスチャを扱う glTexImage3D() というのもあります.ここでは,ごく普通に2次元画像をテクスチャとして用いますから,glTexImage2D() を使います. ・・・ /* ** 初期化 */ static void init(void) { /

    床井研究室 - 第2回 テクスチャの割り当て
  • 床井研究室 - OpenGL 関係記事一覧

    一般 Windows でコンソールを出さない方法 トラックボール 押し出し とっても簡単なマルチテクスチャのサンプル Point Sprite を使ってみる 3D テクスチャ キューブマッピングで FBO を使ってみる シャドウマッピングで FBO を使ってみる トゥーンシェーディング GL_SEPARATE_SPECULAR_COLOR 丸い点を描く GL_CLAMP_TO_EDGE, GL_CLAMP_TO_BORDER 頂点配列 Vertex Buffer Object 半透明処理 Depth Peeling デプスバッファの表示と画面表示の保存 FBO を使ってデプスバッファを表示する デプスバッファの輪郭線抽出 屈折マッピング 分光現象 Xcode の Project Template とっても簡単なボクセル化 デプスバッファを使ったボクセル化 ゼブラパターンの映り込み SSAO

  • 1