サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
都知事選
graphics.hatenablog.com
※ このエントリは Maya Python Advent Calendar 2017 - Qiita の 3 日目です。 ※ エントリ中に挙がってるコードの改善版は こちら Maya-Python といえば reload ですね。 reload といえば from import ですね。 つらいのでなんとかします。 前置き そもそもなんで reload するのか? なんで from import したいのか? from import すると何が困るのか? 状況の把握 状況のまとめ 解決策 とりえあず __init__.py を exec してみる。 from import されているモジュールとシンボルを特定する テキスト解析 抽象構文木 逆アセンブル 名前空間内にあるシンボルを書き換える 解決策のまとめ 全体のまとめ 前置き Maya-Python あるいは Python をよく知らない
こないだ会社の先輩と話しててあれこれ考えたので、自分がLINQを理解した過程を言語化してみる。 対象は、とりあえずC++あたりの適当な言語で数年程度の経験がある人。プログラミングの地力さえあれば、C#についてはなんとなく読み書きできる程度で構わない。LINQに対する解説は世の中に溢れてるので、ここでは特にその内部実装にフォーカスしてみる。「わかってるひと」向けには、「おまじない」とか一切ナシのガチ解説が最短距離だと信じてる。 必要なC#の前提知識についてはこちら。 C#における「ループ」の実態 foreachの中身 以下のコードについて考える。 var array = new int[] { 0, 1, 2, 3, 4 }; foreach (var item in array) { Console.WriteLine(item); }これをビルドしてILSpyで開くと、コンパイラによって
前回 の続き、最終回。 Building a Physically Based Shading Model これまでに挙げた物理ベースシェーディングの原則 principles に則って、実際にシェーディングモデルを構築する。本来ならディフューズモデルも必要だが、今回はマイクロファセットスペキュラモデルの D 項 (NDF) と G 項 (shadowing-masking) に注目する。D 項と G 項はそれぞれ独立しているから、異なるマイクロファセットモデルから選び出して混ぜることができる。 Choosing an NDF 大抵の法線分布関数 NDF は等方性 isotropic で、面法線 n を軸に視線ベクトルを回転しても結果が変わらない。こういうときの法線分布関数はマイクロファセット法線 m を用いて内積 n・m (コサイン項) の関数として記述される。また、物理的に正しくない状
ちょうど今日話題になったのでざっくりまとめてみる。 概論 物理ベースレンダリング -基礎編- | Cygames Engineers' Blog Real-Time Rendering, Third Edition: Tomas Akenine-Moller, Eric Haines, Naty Hoffman: 9781568814247: Amazon.com: Books Chapter 7, Advanced Shading BRDF,Irradiance,Radianceの定義 | shikihuiku Background: Physics and Math of Shading Mathematica Notebook for the SIGGRAPH 2013 talk “Background: Physics and Math of Shading” Physics an
SIGGRAPH 2013 Course Practical Physically Based Shading in Film and Game Production Background: Physics and Math of Shading (Naty Hoffman) http://blog.selfshadow.com/publications/s2013-shading-course/The Physics of Shading 光 light というのは電磁波 electromagnetic wave の一種で、縦波と横波が直角に交わりながら直進する。 波を特徴づけるのが波長 wavelength で、だいたい 400~700 ナノメートルの波長が、人間の目に見える。この波長が、光の色を決める。また、様々な光の効果 effect は、屈折率 refractive index
最近ブログ書いてないなぁと思って。。 このところ何してたかって、アーティストの卵に混ざって映像つくってました、某所の専門学校で一年ほど。本職は当然プログラマなんだけど、もととも TA 目指してこの業界に来たわけで、やっぱり、アーティストが何考えてるのかはすごく大事だと思って。 で、最近ようやく自分にお鉢がまわってきたので、自分のための知識整理も兼ねて書いてみる。連載形式だけど、連載期間は俺のモチベーションが続く限り、ってことで。 目標は、如何に Maya がプログラマ向きのツールであるか を示すこと。 念のため言っておくけれど、いわゆる "業務上で知り得た知識" というのは一切書かないので、それについてはご了承を。 というわけで、以下、いわゆるハローワールド。 hello.py # -*- coding: Shift_Jis -*- import pymel.core as pm impo
Python 3.6 で meta_path 周りが色々整理されてたっぽいから使ってみた。 github.com 概要 importer find_spec() create_module() exec_module() カスタム importer のサンプル 続きを読む 入社して間もない年上の部下に「こんなに "ゆるい" のにちゃんとチームとしてまとめることができてるのがすごい」と褒めてもらうことがあった。曰く、彼自身が過去に管理職を担当していたときはもっと強権的だったこともあり、これほどの "ゆるい" マネジメントは想定外だったとのこと。 もちろん社交辞令は多分に含まれているのだろうけど、"ゆるい" ということに関しては似たようなことを言われることがこれまでに何度かあった。とはいえ部下から直接言われたのは初めてでうまくリアクションできなかったから、次からはきちんと答えられるように言語化
別にグラフィックスに限ったことじゃないし、そもそも論文とか全然関係ないけど。GPU 周りでもたまに話題になるし、自分でもたまにわけわからんくなるから整理しとく。 メインメモリは遅い CPU からメインメモリにデータを読みに行く場合、これはとにかく遅い。例えばレジスタにあるデータを読みに行く場合と比べると、だいたい数倍から数100倍の遅さ。ヤバいからなんとかしよう。もっと早くアクセスできる場所にデータおいとこう。 キャッシュライン CPU がメインメモリからデータを読み出すとき、必ず小さなメモリチャンクをキャッシュ上にロードする。ロード単位はプロセッサによるけど、だいたい 8 ~ 512 バイト。このロード単位をキャッシュラインと呼ぶ。 アクセス対象のデータが既にキャッシュに載ってる場合は、メインメモリじゃなくてキャッシュを読みに行く。ない場合はメインメモリにアクセスするけど、そのデータはも
このページを最初にブックマークしてみませんか?
『graphics.hatenablog.com』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く