タグ

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

タグの絞り込みを解除

3dとCgに関するedo_m18のブックマーク (52)

  • Inigo Quilez

    Intro Here you will find the distance functions for basic primitives, plus the formulas for combining them together for building more complex shapes, as well as some distortion functions that you can use to shape your objects. Hopefully this will be useful for those rendering scenes with raymarching. You can see some of the results you can get by using these techniques in the raymarching distance

    Inigo Quilez
  • Unity編

    ホーム < ゲームつくろー! UnityUnityゲームエンジンの一つで世界中で爆発的人気を誇っています。それはUnityが非常に使いやすい事、そして多くが無料版でも作れてしまうという間口の広さにもあるかなと思います。Unityは視覚的に作り込みができるため、3Dのゲームでのキャラクタ姿勢制御やゲームそのものの作りを学ぶのにも最適なツールのように思います。 如何せん、ゲームエンジンは一にも二にもその「使い方」を学ぶ事が必要不可欠です。とは言え、何せ人気のあるエンジンですから世の中に使い方がゴロゴロと転がっています。基的な所はそういうサイトの情報に任せます。ではマルペケのUnity編では何を紹介するのか?それは「Unityのニッチな所」についてです。 ちなみに、一部Pro版が含まれる事もあります。またUnityのバージョンアップに伴い記事通りに行かなくなる事も考えられます。その時は…

  • GJK アルゴリズム 説明 - ぽんこつでばいす

    結構立ちましたが、GJKについてようやっとまとめれたのでアップしたいと思います。 同じように悩んだ方の手助けになればいいかな?って思います。 実装は簡単なんですけど、この記事用のサンプルは組んでません! ヒマが出来て組めたらアップします。 GJK アルゴリズムは凸多面体同士が重なっているかどうかを調べるアルゴリズムです。 どれだけめり込んだか?を調べるアルゴリズムは Johnson's Distance アルゴリズムっていう別のアルゴリズムになりますが、 やっていることは、非常に良く似ています。 まず、GJK アルゴリズムの前提になっている、ミンコフスキー差について解説します。 ミンコフスキー差というのは、2つの物体の差の Swept Volume になります。 要するに、物体AとBがあった時に、B を原点で反転したもの(原点対称)を物体 A の周り(表面)で 移動させたときに生じる領域の

  • その5 0から学ぶ法線マップ

    ホーム < ゲームつくろー! < プログラマブルシェーダ編 シェーダ編 その5 0から学ぶ法線マップ ポリゴンの表面にはテクスチャが貼られる。これは3Dのゲームを作ろうと思う方はもちろんどなたでもご存知の事です。貼るという語意から、テクスチャには色が付いているんだろうなともイメージできます。しかし、DirectXの中では「色」というのは単なる数字です。特にシェーダの中に入ると、それは0.0~1.0の小数点になってしまいます。 テクスチャは何とも便利な物で、ポリゴン表面のある部分の色を示す事ができます。テクスチャの色は結局数値なのですから、これを別のもっと一般化すると「テクスチャはポリゴン表面のある部分の『値』を示す事ができる」となります。 ポリゴン表面の性質にも色々とありますが、色味以外の代表格と言うと「法線」です。ポリゴンの向きですね。これまで、法線は頂点単位でしか定義されませんでした。

  • その12 頂点座標とUV座標から接ベクトルを求めるちょっと眠い話

    ホーム < ゲームつくろー! < プログラマブルシェーダ編 その12 頂点座標とUV座標から接ベクトルを求めるちょっと眠い話 3Dモデルのポリゴン表面を凸凹に見えるように貼るバンプマップ。この貼り付け時に絶対に必要なのが接ベクトル(Tangent Vector)です。 接ベクトルというのは「接ベクトル空間(Tangent Vector Space)」という座標空間で表されたベクトルの事です。接ベクトル空間と言うと難しそうですが、下図のように単に3Dモデル表面のある1点に乗っかっている座標空間です: 東京に乗っけてみました(^-^; 上の図では地球表面上の東京の上に接ベクトル空間を設けてみました。ただ、表面上の一点に設けると言っても色々な設け方があるはずです: 上のどれも接ベクトル空間として成り立ちます。しかしこれが法線マップやバンプマップなどポリゴン表面にテクスチャを貼り付ける時にはその軸

  • 組み込み向け3DグラフィックスAPIの最新版「OpenGL ES 3.0」が登場 ―― デスクトップ向けグラフィックスを猛追する組み込みグラフィックス

    組み込み向け3DグラフィックスAPIの最新版「OpenGL ES 3.0」が登場 ―― デスクトップ向けグラフィックスを猛追する組み込みグラフィックス 大渕 栄作 OpenGL ES(OpenGL for Embedded Systems)は,携帯電話や携帯型ゲーム機,タブレット端末などの情報系組み込み機器を中心に普及している3Dコンピュータ・グラフィックス用APIの標準規格である.2012年8月には,最新版の「OpenGL ES 3.0」が発表された.ここでは3DグラフィックスIP(GPU)コア・ベンダの開発技術者であり,Khronos GroupによるOpenGL ESの標準化にもかかわっている著者が,OpenGL ES 3.0の概要について解説する.(Tech Village編集部) グラフィックス技術およびインタラクション技術に関する世界最大の学会/展示会である「SIGGRAPH

  • GLSL Sandbox Gallery

    <img src='data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMgAAABkCAYAAADDhn8LAAAgAElEQVR4Xry9B5idV3Wvv496l6b3mTMzmlGZkWY00siS1UbVtiRbrpJs2bIs29iWjbFDMUbGFsWATTMlgKimmZjQEgLEJAFDKAmEUBISckkxCfcmhJQbSG/n/757n2/OOVOkGfJ/7n6erTOjOd/+vm+XtX7rt9ZeOxdCKFBHSy4XQueyENqXhtC6JISWJdWhbUldyC9rCD3VzaG3oTWEjs4QBrtCWPNPXHd18JqsnBgM4fjA3rCz74IQ1vaFsLExhKq/4c+PUb9MvYX6zuI1z+fnNdTjobsqhD/5+1fz82rq26m/VP5Y5/158dwQzox0

  • GLSLシェーダによるカートゥーンレンダリング

    今日は、GLSLによるカートゥーンを紹介しようと思います。割と簡単にでき、それなりに見栄えがするからです。その応用として、輪郭線も描画します。 カートゥーンの原理 カートゥーンはセルアニメ調のレンダリングです。左下の図に示すように、頂点vにおいて、法線と光源ベクトル(頂点から光源へのベクトル)との内積(照度)を、右下の図のようなテクスチャのs座標に当てはめることで簡単に実現できます。 更に、次の図の左のように、視線ベクトルと法線の内積を考えると、輪郭となる部分はほぼ0になります。そのため、その内積をt座標に割り当てることで、輪郭線を実現できます。 s座標もt座標も単位ベクトル同士の内積で計算できますが、その範囲は-1~1になるため、テクスチャマッピング(glTexParameterによる指定)をクランプに設定する必要があります。 バーテックスシェーダ(頂点シェーダ) 今回は、頂点シェーダで

  • その10 クォータニオンを学んでみよう!

    ホーム < ゲームつくろー! < DirectX技術編 < クォータニオンを学んでみよう! その10 クォータニオンを学んでみよう! ① What is Quaternion ? クォータニオン(Quaternion)とは日語で「4元数」と訳します(アルク:http://www.alc.co.jp/)。数字が4つ集まったもので、言ってみれば4次元ベクトルです。3次元ベクトルであれば縦横高さで何となく想像ができますが、4次元となるともうドラえもんしかわかりません(笑)。この原稿を書いている私も、実は何のことやらさっぱり。そこで、私と同じような境遇にいる皆さんにも理解できるように、このクォータニオンを1から学んでみようと思います。 クォータニオンについてマイクロソフトのHPに一通りの説明がありました(http://www.microsoft.com/japan/msdn/academic/A

  • 射影変換行列の説明

    3Dのオブジェクトを画面に描画するための幾何学的な計算を考えてみましょう。 まず(全ての)基準となる座標系を定めます。これをワールド座標とかグローバル(大域)座標とか 絶対座標とか呼ぶようです。うちではワールド座標と呼ぶことにします。 次にオブジェクトに回転平行移動などを施してワールド座標でのオブジェクトの位置・方向を決定します。 見かたを変えてオブジェクトがオブジェクトに固有の座標系(これをローカル座標と呼びます)を基準として 作られていると考えると、オブジェクトのワールド座標から見た位置・方向というのは ローカル座標のワールド座標から見た位置・方向であり、ワールド座標でのオブジェクトの 位置・方向を決定するというのはローカル座標からワールド座標への変換ということになります。 …わかりづれ〜な。まぁやってることはどっちも同じです。こいつをワールド変換と呼びましょう。 さ

  • 3Dプリンタを使った現実ハックがステキ | fladdict

    via hiroiro まずは、何もいわずに動画を27秒目のところから見てみよう。ステキすぎる。 3Dプリンターで作った変な物体を、現実空間へとシームレスに埋め込んじゃおうという実験プロジェクト。 オブジェクトをピッタリマッチさせるのも現実写真からベースのモデルを作ってやってるんですね。なんかいいわー、3dプリンターの可能性を感じる。 色々なネタができそうなので、とりあえずメモ。

  • GLUTによる「手抜き」OpenGL入門

    資料: 今までにあった質問 リフレッシュレートの変更 AUX 版, Indy 版, 書籍版 床井研究室 (OpenGL 関連記事) 柴山 健伸 先生 (システム工学部情報通信システム学科) の混沌としたサンプル 陳 謙 先生 (システム工学部デザイン情報学科) の Motif を使ったサンプル 中山 礼児 氏 (経済学部 2000 年卒) の Delphi についての解説 The OpenGL WEB Site (OpenGL の総山) GLUT - The OpenGL Utility Toolkit (OpenGL.org の GLUT のページ) OpenGL Code & Tutorial Listings (OpenGL.org のチュートリアル集) OpenGL Technical FAQ (OpenGL について良く聞かれる質問) OpenGL FAQ 日語 (OpenG