MonoBookのブックマーク (323)

  • ブリン・フォン反射モデル - MonoBook

    ブリン・フォン反射モデルとは、フォン反射モデルにユタ大学のジム・ブリンが改良を加えたもの。 実のところ「フォン反射モデル」として紹介されているほとんどは改良型の「ブリン・フォン反射モデル」の方であったりする。 OpenGLやDicrect3Dでは特にシェーダーを明示しない場合に使われるデフォルトのライティング(内蔵シェーダー)として採用されている。 頂点間のピクセル補完にはフォンシェーディングではなくグローシェーディングが採用されている。 ジム・ブリンもブイ・トン・フォンもアンリ・グローも同じユタ大学の教室でアイバン・サザランドに学んだ仲間だったそうだ。 HLSL[編集 | ソースを編集] HLSLでの実装例。 struct Lighting { float3 Diffuse; float3 Specular; }; struct PointLight { float3 position;

    MonoBook
    MonoBook 2018/11/14
  • ダモクレスの剣 - MonoBook

    ダモクレスの剣(英語:The Sword of Damocles)とは、1968年にユタ大学の教員であったアイバン・サザランドとボブ・スプロールが開発した世界最初のバーチャルリアリティ(以下VR)および拡張現実(以下AR)を実現したヘッドマウントディスプレイ (以下HMD)である。 これは今から50年以上前の映像である。 ダモクレスの剣は天井から吊るされた透過型のディスプレイをかぶり両目の視差で立体視を実現することで、まるで空中に立方体(ワイヤーフレーム)が表示されているかのように見えるというものである。オキュラスリフトなどと同様にヘッドトラッキングも搭載されいる。またディスプレイは透過型でありHoloLensなどと非常に似ている。 ダモクレスの剣とオキュラスリフトやホロレンズと違う点があるとすれば「頭に被る」のではなく「天井から吊り下げられている」点くらいである。まだこの時点では小型化・

    MonoBook
    MonoBook 2018/11/14
  • ジェームス・ブリン - MonoBook

    ジェームス・F・ブリン (James F. Blinn, 1949年-、通称ジム・ブリン(Jim Blinn))とは、アメリカのコンピュータ科学者で、コンピュータグラフィックスの先駆者である。 概要[編集 | ソースを編集] ブリン・フォン反射モデル、 サブピクセルレンダリング、環境マッピング、バンプマッピングなど、莫大な数の先駆的な発明をしており、コンピュータグラフィックス界ではその風貌もあいまってスーパースターもとい神のような扱いとなっている。 ユタ大学でアイバン・サザランドのもとで学び、博士号を取得後、ニューヨーク工科大学を経て、NASA所轄のジェット推進研究所(Jet Propulsion Laboratory,JPL)、カリフォルニア工科大学、マイクロソフトリサーチに勤務。2009年に引退。 1983年には、SIGGRAPHにおいてコンピュータグラフィックスに関する様々な貢献が称

    MonoBook
    MonoBook 2018/11/14
  • アイバン・エドワード・サザランド - MonoBook

    アイバン・エドワード・サザランド(英語:Ivan Edward Sutherland)とは、コンピューターグラフィックスの世界における神、いわゆるゴッドである。 概要[編集 | ソースを編集] 1963年にサザランドが発表した「Sketchpad」は、コンピューターグラフィックスの始まりであり、ペイントソフトの始まりであり、タッチパネルの始まりであり、GUIの始まりであるとされる。 経歴[編集 | ソースを編集] 1938年[編集 | ソースを編集] 米国ネブラスカ州ヘースティングスにて生を受ける。 1959年[編集 | ソースを編集] カーネギー工科大学(現在のカーネギーメロン大学)で電子工学の学士号を取得した後、マサチューセッツ工科大学の大学院に進む。 1960年[編集 | ソースを編集] カリフォルニア工科大学の修士号を取得した後、マサチューセッツ工科大学大学院リンカーン研究所に入り

    MonoBook
    MonoBook 2018/11/14
  • ジェームス・ブリン - MonoBook

    ジェームス・F・ブリン (James F. Blinn, 1949年-、通称ジム・ブリン(Jim Blinn))とは、アメリカのコンピュータ科学者で、コンピュータグラフィックスの先駆者である。 概要[編集 | ソースを編集] ブリン・フォン反射モデル、 サブピクセルレンダリング、環境マッピング、バンプマッピングなど、莫大な数の先駆的な発明をしており、コンピュータグラフィックス界ではその風貌もあいまってスーパースターもとい神のような扱いとなっている。 ユタ大学でアイバン・サザランドのもとで学び、博士号を取得後、ニューヨーク工科大学を経て、NASA所轄のジェット推進研究所(Jet Propulsion Laboratory,JPL)、カリフォルニア工科大学、マイクロソフトリサーチに勤務。2009年に引退。 1983年には、SIGGRAPHにおいてコンピュータグラフィックスに関する様々な貢献が称

    MonoBook
    MonoBook 2018/11/14
  • フォン反射モデル - MonoBook

    フォン反射モデル(英語:phong reflection model)とは、1975年にユタ大学のブイ・トン・フォン(Bui Tuong Phong)が発表した3DCGのライティングの技術である。 このフォン反射モデルと同時に発表された「フォンシェーディング」という技術も有名である。 フォンシェーディングの中でもフォン反射モデルが使われていた。 概要[編集 | ソースを編集] アンビエント + ディフューズ + スペキュラー = フォン反射 非常にシンプルで計算量も少ない。 つまり高速に動作させることができる。 OpenGLやDirect3D、MonoGameなどではシェーダーを明示しない場合の標準的なライティングとして改良型の「ブリン・フォン反射モデル」を採用している。 関連項目[編集 | ソースを編集] フォン反射モデル アンビエント・ライティング ディフューズ・ライティング スペキュ

    MonoBook
    MonoBook 2018/11/14
  • スペキュラー・ライティング - MonoBook

    スペキュラー・ライティング(英語: specular lighting)とは、3DCGにおいてモデルの表面の輝きを計算するアルゴリズムである。 概要[編集 | ソースを編集] サーフェイスに光沢があるとき、その光はサーフェイスで鏡のように反射される。 反射光ベクトル n = 法線ベクトル s = 光源に対する方向(-sで入射光ベクトル) r = 反射光ベクトル v = 視線ベクトル shininess = 光沢(=減衰率) とすると反射光ベクトル(r)は以下の式で計算できる。 r = -s + 2 ( s ・ n) n ちなみにHLSLにもGLSLにも反射光ベクトルを求めるreflect関数があるので難しいことを考えずに入射光ベクトルと法線ベクトルをブチ込んでやれば一発で計算してくれる。 HLSL float3 r = reflect(-s, n); GLSL vec3 r = refle

    MonoBook
    MonoBook 2018/11/14
  • アンビエント・ライティング - MonoBook

    アンビエント・ライティング(英語:ambient lighting)とは、すべてのサーフェイスを等しく照らし、すべての方向に等しく反射する光を表すライティングである。日語では「環境光」などと呼ばれる。 主に自己発光の表現や暗いシーンで明るく見せるために使われたりする。 光の入る方向にも出る方向にも依存しないので、単純に「光源の強さ」と「素材の反射率」を乗算するだけで表現できる。 関連項目[編集 | ソースを編集] フォン・ライティング アンビエント・ライティング ディフューズ・ライティング スペキュラー・ライティング

    MonoBook
    MonoBook 2018/11/14
  • ジンバルロック - MonoBook

    ジンバルロック(英語:gimbal lock)とは、オイラー角での座標変換の際に2つの回転軸が同じ向きになってしまった場合に3軸のはずが2軸になってしまう現象のことである。 概要[編集 | ソースを編集] この動画がわかりやすい。 オイラー角での座標変換は「どの軸に何度回転させる」という情報だけをx軸, y軸, z軸それぞれに持っている。 たとえばx軸に90度、y軸に90度、z軸に0度であれば(90, 90, 0)と表せる。 このオイラー角での座標変換は「ジンバル」という回転台で表され、それぞれの軸が親子構造になっている。 z軸を回すと子のy軸も動く、y軸を動かすと子のx軸も動く、x軸を動かしても子を持たないので何も動かない。 このときy軸を90度回転させた状態ではx軸と同じ向きになるためx軸の回転ができなくなる問題である。 関連項目[編集 | ソースを編集] クォータニオン

    MonoBook
    MonoBook 2018/11/14
  • Unreal Engine - MonoBook

    Unreal Engine(読み:あんりあるえんじん)とは、Epic Gamesが開発するゲームエンジンである。 RPGツクールと同じような感じで「FPSを簡単に作れる」という代物である。TPSも視点が違うだけなので簡単に作れる。なお、スクエニは何を思ったかこれでRPGを作ってしまった。 もともとは「Unreal」というゲームで使われていたものである。20世紀末の登場初期の頃はクソ重いゲームエンジン(メモリい過ぎ)という評価であった。まだメモリが256MBだ512MBだという時代背景だったためである。現在ではハードウェアの進化に伴いスマートフォンでもサクサク動くようになった。同社のフォートナイトが有名。 最新のUnreal Engine 4ではマウスでポチポチやるだけで9割くらいゲームを作れるレベルになっている。 主なUnreal Engine[編集 | ソースを編集] Unreal E

    MonoBook
    MonoBook 2018/11/14
  • プログラマブルシェーダー - MonoBook

    プログラマブルシェーダー英語:programmable shader)とは、グラフィックカード上のシェーダーで独自のプログラム(カスタムシェーダー)を実行させられるものをいう。 概要[編集 | ソースを編集] 紀元前[編集 | ソースを編集] 初期のシェーダーは「ハードウェアT&L(最近では対義語的に固定シェーダーと呼ばれることが多い)」などと呼ばれ、いわゆるAPI的な感じで「ライティングをする」などの固定機能がGPUに用意されていた。これはプログラマーは何も考えず3Dモデルとそのワールド座標などのデータをGPUに送信するだけで全自動で表示用の2D画像が返ってくるというものであった。 この方式はバカでも扱える簡潔明瞭さという利点と、だれが作っても似たように絵になるという欠点があった。 第一世代[編集 | ソースを編集] 「だれが作っても似たように絵になる」というのが気にわない人が現れた

    MonoBook
    MonoBook 2018/11/14
  • ピクセル - MonoBook

    ピクセル(英語:pixel)とは、コンピューターグラフィックスにおける2Dモデルの表現手法のひとつで、2次元のひとつの点のことである。 3次元の点の集まりは「ボクセル」と呼ばれ区別される。 概要[編集 | ソースを編集] パソコンやスマートフォンの画面やテレビなどを構成する「点」である。 一般的な液晶ディスプレイやテレビでは最終的にピクセルとしてデータを受け取り表示している。たとえばTrueTypeフォントなどはコンピューター内部ではベクトルであるが、液晶ディスプレイなどに送る直前にピクセルの集まりに変換されて出力されている。 ピクセルを集めて2次元の画像としたものはビットマップと呼ばれる。ただし単にビットマップという場合はWindowsが圧倒的に普及したことでマイクロソフト独自の画像フォーマットのひとつであるWindows Bitmap(ファイルの拡張子はbmp)を指していることがほとん

    MonoBook
    MonoBook 2018/11/14
  • スクリーン座標変換 - MonoBook

    スクリーン座標変換とは、プロジェクション座標変換で求めた視錐台(描画範囲)の座標を 最終的な映像出力する画面の解像度(スクリーン座標)に変換することをいう。 一般的にワールド座標からプロジェクション座標までは実数で取り回すが、 それを最終的に映像を出力する画面やウインドウの解像度(整数、ピクセル単位)に変換することをいう。 関連項目[編集 | ソースを編集] ワールド座標変換 ビュー座標変換 プロジェクション座標変換 スクリーン座標変換

    MonoBook
    MonoBook 2018/11/14
  • プロジェクション座標変換 - MonoBook

    プロジェクション座標変換とは、ビュー座標変換で得られたビュー座標から視錐台(描画範囲)の座標を求めることをいう。 透視投影[編集 | ソースを編集]

    MonoBook
    MonoBook 2018/11/14
  • ビュー座標変換 - MonoBook

    ビュー座標変換とは、ワールド座標変換でワールド座標内に配置された3Dモデルたちをカメラから見た座標(カメラ座標を原点とする座標系)に変換することをいう。 関連項目[編集 | ソースを編集] ワールド座標変換 ビュー座標変換 プロジェクション座標変換 スクリーン座標変換

    MonoBook
    MonoBook 2018/11/14
  • ワールド座標変換 - MonoBook

    ワールド座標変換とは、3Dモデルなどをワールド座標に配置することをいう。 概要[編集 | ソースを編集] 3Dモデルの持つ各頂点の座標はローカル座標と呼ばれる。 いわゆる3DCADなどで作図したときの座標である。 これをゲームのシーンなどの「ワールド」に配置する処理をいう。 処理[編集 | ソースを編集] ワールド座標変換で行われる操作は基的には「拡縮」「回転」「移動」の3つの変換行列である。 拡大縮小行列(scale) 回転行列(rotation) 平行移動行列(transform) 上記の順番で行列の乗算を行うとワールドマトリックスが得られる。 float4x4 world = scale * rotation * transform; この操作は「順序」が重要で、処理の順序を変えると残念な結果になる。以下はダメな例である。算数の教科書にはこの処理を指して「TRS」などと書かれている

    MonoBook
    MonoBook 2018/11/14
  • ディフューズ・ライティング - MonoBook

    ディフューズ・ライティング(英語:diffuse light、拡散光)とは、3DCGにおいてモデルの表面に当たった光が均一に反射拡散するものとして計算するアルゴリズムである。 いわゆる「ライティング」におけるもっとも単純な実装であり、プログラミングシェーダー界隈のハローワールドである。 概要[編集 | ソースを編集] ある点(頂点やピクセル)は「光源への方向(s)」と「法線(n)」という2つのベクトルを持つとする。 光源の方向は光源とモデルの位置から計算し、法線はあらかめ持つものとし、この2つのベクトルは正規化されたものとする。 このとき拡散反射する光の強さは「方向」と「法線」の角度のコサインに比例する。法線と同一方向(角度ゼロ度)の場合は最大値に、法線に垂直の場合はゼロになる。真上から当たれば強く、真横から当たれば弱いというのは小学生でも感覚的にわかるだろう。 角度のコサインは2つのベク

    MonoBook
    MonoBook 2018/11/12
  • ベクトルの正規化 - MonoBook

    ベクトルの正規化とは、ベクトルの各要素の合計が「1」になるように変換することをいう。 一般的にベクトルは「方向」と「大きさ」を表すなどと表現されるが、正規化することで「方向」のみを表したい場合に何かと都合が良い。 正規化されたベクトルは「法線」と呼ばれる。 ただコンピューターの世界で「法線」という場合は3DCGにおける「頂点データに含まれる法線」を指していることの方が圧倒的に多い。 計算式[編集 | ソースを編集] 三次元ベクトルを正規化する計算式をC#でそれっぽく書くとこんな感じである。 public Vector3 Normalize(Vector3 vec3) { if (Vector3.Zero == vec3) { return Vector3.Zero; } double num1 = ((vec3.X * vec3.X) + (vec3.Y * vec3.Y)) + (vec

    MonoBook
    MonoBook 2018/11/08
  • ベクトルのノルム - MonoBook

    ベクトルのノルム(英語:norm)とは、ベクトルの長さのことである。 算数の式でのノルム表記は「」という感じで変数を2個の縦棒で囲む。 これにより「変数はベクトルの長さだよ」と意味付けできる。 二次元ベクトルの記述例[編集 | ソースを編集] 例としてピタゴラスの定理でよくみる直角三角形の3つの辺の長さを求める計算式は以下のよう記述される。 これをノルムを使って「cは長さだよ」と明記すると以下のようになる。単純に変数の格納物が何なのかを明記しただけである。平方根やシグマなどの記号と異なり、何かしらの計算が発生するわけではない。いわゆるプログラミング言語でいう「型」みたいなものである。 注意[編集 | ソースを編集] ある3DCGのライブラリにおいてベクトルの正規化(Normalize)を行う関数の名称を「norm」と略しているものがあった。非常に紛らわしいので注意しよう。 関連項目[編集

    MonoBook
    MonoBook 2018/11/08
  • CNC彫刻機 - MonoBook

    CNC彫刻機とは、Computer Numerical Control(コンピューター数値制御)で動く彫刻機である。 大雑把にいえばNC工作機械を小型化した家庭用バージョンである。 パソコンからデータを送信するとエンドミルでガシガシ素材を削ってくれる。 積層する3Dプリンタに対して削るCNC彫刻機といった感じである。 3Dプリンタを買うと次に欲しくなるもの。 Snapmaker[編集 | ソースを編集] 2017年には「3Dプリンタ」「レーザー刻印機」「CNC彫刻機」の1台3役「Snapmaker」が439ドルからキックスターターされ話題になった。この3つは基構造はほぼ同じなのでヘッド交換で簡単に切り替えられるというスグレモノ。

    MonoBook
    MonoBook 2018/10/31