Rendering学習日記

日々、3DCGの世界は進歩しています。勉強して理解したことをまとめていきます。RenderMan互換レンダラーやグローバル・イルミネーション。いろんなことに好奇心を持って、面白くなる。目指せShader書き!!
ありがとうございます。

AutoRIB その5

AutoRIBは、RenderManのRIBファイルに、環境マップとシャドーマップを自動生成してくれる便利ツールです。

RibFilterでやってみたRIBも、さくっと変換してくれました。
以下はInstruction File

Option "envmapfov" 92

GlobalRIB //this RIB will be added before the first frame
{
PixelSamples 4 4
ShadingRate 0.25
}

Objects
{
ForNames "_EV_n1_s1.0"
{
MapFormat 512 512
MapSamples 4 4
MapFilter "gaussian" 2 2
EnvMap [0 1 0 ] "surface" "texturename"
}
}

Lights
{
ForShaders "light" "pointlight"
{
MapFormat 1024 1024
RenameShader "light" "shadowpoint"
AppendParam "light" "width" [16] "uniform float"
AppendParam "light" "samples" [256] "uniform float"
ShadowPoint "sfnx" "sfpx" "sfny" "sfpy" "sfnz" "sfpz"
}
}


sphere_env8.jpg
いろいろとできてくると楽しくなります。RenderManありがとうございます。
  • -
  • -

AutoRIB その6

RenderManにおいて、カメラ位置視点
placecam 0 2 -10 0 1 0から見た反射マップを生成するために
まず、cgkitで計算
>>> from cgkit.all import *
>>> v=vec3(0,2,-10)-vec3(0,1,0)
>>> v
(0, 1, -10)
>>> v.normalize()
(0, 0.0995037, -0.995037)
>>> _+vec3(0,1,0)
(0, 1.0995, -0.995037)

AutoRIBのInstruction Fileを書き換え、ちょっとずらしてみた。
EnvMap [0 1.0995 -0.995037 ] "surface" "texturename"

前回の記事の画像よりはきちんと映り込んでいます。
RenderManまだまだ勉強です。ありがとうございます。
sphere_env82.jpg
  • -
  • -

AutoRIB その7

AutoRIBには、RenderManの技術の一つサブディビジョンサーフィスのSubdivisionMesh "catmull-clark"に変換してくれる機能がある。
Instruction Fileに一言
Objects {
ForNames "uma" {
ToSubdivision
}
}
と、記入しておけばよい。

基本Polygon "P"は変換できない。PointsPolygonに変換しておかなければならない。今回は、Meatasequoia PythonでRIB出力変換するツールで出してみた。

PointsPolygonを含み、各モデルにシェーダを割り当て、distantlightを入れておく、普通にprmanでレンダリングするとこんな感じになる。
uma_scn0.jpg
次に以下のファイルを使ってAutoRIBで変換する。

//Tests ToSubdivision instruction
Objects {
ForNames "uma" {
ToSubdivision
}
}

Objects
{
ForNames "uma"
{
//Omit "mirror"
MapSamples 3 3
MapFilter "gaussian" 2 2
MapFormat 256 256
EnvMapAuto "surface" "texturename"
}
}


Lights
{
ForShaders "light" "distantlight"
{
MapFormat 1024 1024
RenameShader "light" "shadowdistant"
//AppendParam "light" "blur" [ 0.005 ] "uniform float" //introduce a bit of softness
ShadowDistAuto "shadowname" 1
}
}



RenderManでレンダリングした。空の代わりに球体をつくりTexturing & Moderingで有名なシェーダDPCloudplaneをつけた。
uma_scn.jpg
いろいろとやってみると面白いですね。レイトレーシングを使わなくてもここまできれいにできるとうれしいです。
何より計算速いです。ありがとうございます。
  • -
  • -
1/2 >>