graphics.hatenablog.com

テクニカルアーティストの技術を書き殴るためのメモ帳

SWIGでハマったメモ。

グラフィックス屋さん的にPythonはとてもだいじ。 なんか見つけたら追記してく。

SWIGメモ。

// test.h #pragma once class TestClass { public: TestClass(); ~TestClass(); void f(); };// test.cpp #include "test.h" #include <iostream> TestClass::TestClass() { std::cout << "test()" << std::endl; std::flush(std::cout); } TestClass::~TestClass() {</iostream>…

Maya Python API 2.0 差分@2015/2016

Maya ヘルプ: API の新機能160個増えたって話だけど手元でdiffとってみたら129個しかなかった。。 というか、 Maya Python API 2.0 がだいぶ拡充されてた件 - graphics.hatenablog.com 差分リスト眺めてたら2015のときにつくったリストが間違ってる気がして…

後輩くんに紹介するためのWPF/MVMMリンク集

「WPFはネット上に資料がない!」と言われたので。

WPF で動的にビューを切り替える

まずそもそもの話として、その「切り替え」がいわゆる画面遷移的なものだったら、 とりあえず NavigationService クラス (System.Windows.Navigation) を使っておくのが手軽でいい。 もちろん NavigationWindow クラス (System.Windows.Navigation) でもいい…

Maya の .NET プラグインがアンロードできない問題を強引に解決してみた

hal1932/MayaWpfTest · GitHubいちおう自分で納得できる範囲で解決したということで。Maya .net API のコマンドプラグインだけラップしてみた - graphics.hatenablog.com Maya .net API を自前 AppDomain でラップしようとして失敗した話 - graphics.hatenab…

WPF で Direct3D11 をつかってみる

WindowsFormsHost の Child に Control 追加してやるのが一番楽だった。 SlimDxTest/Program.cs at master · hal1932/SlimDxTest · GitHub

C# をインタプリタっぽく使ってみる

ばいばい Ruby、きみとはもうさよならだ! hal1932/csi中身は こないだ のつづき。

Maya .net API のコマンドプラグインだけラップしてみた

hal1932/MayaCommandDebugPlugin · GitHubこないだのエントリに書いたやつ。 Maya .net API を自前 AppDomain でラップしようとして失敗した話 - graphics.hatenablog.com基本的な方針は commandDebug -load myCommand で loadPlugin 相当 commandDebug -com…

Maya Python API 2.0 がだいぶ拡充されてた件

2015 のサービスパックで更新されたって聞いたから、 うちかえって早速試してみた。 あと起動したらなんか SP5 きてた。

Maya .net API を自前 AppDomain でラップしようとして失敗した話

とりあえず書いとけばそのうちなんか役に立つかなと。

コマンドポートからMaya

話には聞くけどやったことなかったからやってみた。 # encoding: utf-8 # Maya 側で commandPort -name 8888 しておく import socket import sys sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.connect(("localhost", 8888)) sock.send("p…

切り離し可能なタブコントロール

最近全然グラフィックスっぽくないけど気にしない。。AvalonDock だと色々とオーバースペックすぎたから、 勉強も兼ねてミニマムなかんじでつくってみた。hal1932/SeparableTabControl ItemsTemplate と ContentTemplate がそのまま使える ヘッダ部分をタブ…

C# をランタイムコンパイルしてPythonとかRubyの代わりに使う

var p = new Process(); var pi = p.StartInfo; pi.FileName = "python.exe"; pi.Arguments = "test.py"; pi.UseShellExecute = false; pi.CreateNoWindow = true; pi.RedirectStandardOutput = true; pi.RedirectStandardError = true; p.Start(); みたいな…

The Reyes Image Rendering Architecture

The Reyes Image Rendering Architecture Robert L. Cook, Loren Carpenter, Edwin Catmull http://dl.acm.org/citation.cfm?id=37414 すべてのジオメトリを「マイクロポリゴン」に分割してシェーディングするシステムで、プログラマブルシェーダとかZ Buffe…

SIGGRAPH 2014 メモ

Best of GTC, Advanced Rendering Solutions from NVIDIA Best of GTC, How V-Ray RT and GPU Rendering are Defining a New Filmmaking Paradigm Best of GTC, Sharing Physically Based Materials between Renderers with MDLAttention-aware rendering, m…

VC++2013 の最適化バグ?

for(const Obj* p_obj : get_objects()) { float t; if(p_obj->hoge(&t)) { if(t < t_min) t_min = t; } }みたいなことやってたら、1個前のループで更新したtの値がそのまま残っててt_minとの比較が全部falseになってた。hoge()は渡されたtより小さい結果が…

WPF/XAML で右クリックメニューへの DataContext の引き回し

DataGrid 上で右クリックしてウィンドウ開くときに、 そのウィンドウに DataGrid からデータ渡したかった。

C#/WPF でプラグインベースのツールをつくってみるメモ

ATF がそんな感じだったしあんまやったことないやり方だったからやってみた。 とりあえずテストコードは ここ。

WPF/XAML でタブの中のタブの中に(以下略

ちょっといろいろあって WPF のテスト中。これ↓をデータバインディングでつくってみる。

Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs (3)

前回 の続き。4 Microfacet-Based BRDFs可視法線分布の定義からマイクロファセットBRDFの式を導出してから、それを正規化するための検定を考えて、Smith の式がそれに合格していることを述べる。

Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs (2)

前回 の続き。ラフネスの変更を「マイクロサーフェスの引き伸ばし」と捉えて、それが幾何減衰項に与える影響を取り上げる。ていうかこの章、数式の導出によくわからないとこがたくさんあって、ちゃんと理解できた自信が正直あんまない。

Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs (1)

Research Report n° 8468 — February 2014 — 47 pages Understanding the Masking-Shadowing Function in Microfacet-Based BRDFs Eric Heitz, Project-Team Maverick http://hal.inria.fr/hal-00942452Abstract このレポートは、マイクロファセットBRDFの幾…

GDC 2014 で気になるセッションまとめ。

セッションリストは ここ。 Programming と Visual Arts セッションから抜き出して日本語の概要つけてみた。

結局のところTAってなに?

最近身の回りでよく喧々諤々する話題について、 なんとなく独断と偏見を書き殴ってみる。

Physics and Math of Shading (4')

最終回 のおまけ。 Blinn-Phong を正規化するときの計算、途中式も込みで。

Physics and Math of Shading (4)

前回 の続き、最終回。 Building a Physically Based Shading Modelこれまでに挙げた物理ベースシェーディングの原則 principles に則って、実際にシェーディングモデルを構築する。本来ならディフューズモデルも必要だが、今回はマイクロファセットスペキュ…

Physics and Math of Shading (3)

こないだ の続き。Implementing Physical Shading Models for Film and Game Productionこれまでに紹介した BRDF に、よく使われる光源モデルを適用する方法を考える。

Physics and Math of Shading (2')

前回 の補足。Lambertian の式はこれだよって、なんか投げやりな感じがしたから、真面目に解いたのを載せてみる。

Physics and Math of Shading (2)

前回 の続き。 The Mathematics of Shading電磁気学 radiometry の観点から光 light を考えるのに、ひとまずは放射輝度 radiance だけをみることにする。ここでは、放射輝度を「1本のレイから放射される光の量」を定義する値として用いる。理論的には波長に…