タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

algorithmとc++とCGに関するDrunkarのブックマーク (3)

  • Half-Edge構造でCatmull-Clark細分割曲面を実装してみた(わりと完璧版) - tuedaの日記

    Half-Edge構造でCatmull-Clarrk再分割曲面を実装してみた。 (フルスクラッチで書くのは多分3回目ぐらい) 今回はHalf-Edge構造を厳密に使い、余計なメンバー変数を使用していない。 Half-Edge構造は例えばここが詳しい。 http://www.flipcode.com/archives/The_Half-Edge_Data_Structure.shtml Catmull-Clarkに関してはこちらが詳しい。 http://d.hatena.ne.jp/u_1roh/20060627/1151390713 Catmull-Clark細分割曲面を実装して気づいた点をメモしておく。 境界エッジは接するFaceが1つしかないのでペアになるハーフエッジが存在しない。 それだと頂点のまわりをぐるっと1週するのが不可能なので境界エッジのところだけは ハーフエッジを2作った

  • Simple Renderer

    おもに学習用にいろんなレンダリングアルゴリズムを実装しています。順次追加中。Githubで公開。 パストレのアルゴリズムとシーンのデータ構造はsmallptを参考にしました。ありがとうございます。 物理ベースレンダラ(パストレーシング)の解説・実装をeduptとして公開しました。 双方向パストレーシングの解説・実装をedubptとして公開しました。 以下のコードは全てMITライセンスの下に公開されます。(http://kagamin.net/hole/license.txt) また、コードの一部はsmallptを元にしており、その部分もMITライセンスの元に公開されます。(http://kagamin.net/hole/smallpt-license.txt) 結構昔に書いたので誤りも多分に含まれている可能性があります。気づいた人はどんどん教えてください。 パストレーシング simple-

  • その15 8分木空間分割を最適化する!

    ホーム<ゲームつくろー!<衝突判定編 3D衝突編 その15 8分木空間分割を最適化する! 空間分割はオブジェクト同士の衝突や不必要な描画を除くなどパフォーマンスの最適化に必須の技術です。2D衝突編その8とその9では、2D平面を分割する4分木空間分割の最適化と実装をしました。同じ考え方は3D空間の分割にも十分に活用できます。 3Dの空間を分割する典型が8分木空間分割(Octree)です。空間分割の方法は、4分木とお話がかぶりますが、まず一番大きな空間(ルート空間)を定義します。3Dの場合これは直方体となります。分割は各辺のど真ん中を割ります。縦横高さそれぞれで分けるので、1回の分割で8つの小空間が出来上がります。これで親であるルート空間の下に8つの小空間が所属する事になります。後は空間を分割するたびに樹状に所属が広がっていきます。 オブジェクトは境界図形に包まれて、8分木内にある境界図形をす

  • 1