Rendering学習日記

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

metasequoiaからRenderManへ

メタセコイアのサンプルwitchを三角形化しておき、obj出力する。
さらに、cgkitでシーンが作成できるようにmetasequoia pythonを使って
シーンを出力した。
レンダラは、RenderMan互換レンダラの3DelightとSitex Airを利用した。
occlightとenvlightを使ってそれぞれ、アンビエントオクルージョンを求める。ポリゴンのメッシュ部分がレンダリング時に出てしまうのをどのように調整するかが、課題。パラメータをどういじるのか、わかりませんが、いろいろ実験君です。勉強を続けます。楽しいですね。
out_dl_1m55.jpg out_air_19s.jpg
ありがとうございます。
  • -
  • -

「実践CGへの誘い」例題をPythonで行う その1

「実践CGへの誘い」p.18
Listing 2.1

cgkitと3Delightを使って
Python APIによるRenderManのシーン記述です。
4角形の表示です。

#list21.py
#/* Copyrighted Pixar 1989 */
#/* From the RenderMan Companion p. 18 */
#/* Listing 2.1 A minimal program using RenderMan */

import cgkit.cri
from cgkit.cgtypes import *

# Load the RenderMan API.
# Replace the library name with whatever renderer you want to use.
ri = cgkit.cri.loadRI("3delight")
cgkit.cri.importRINames(ri, globals())

square=[.5,.5,.5,.5,-.5,.5,-.5,-.5,.5,-.5,.5,.5]

RiBegin(RI_NULL)
RiFormat(640,480,1)
RiDisplay("list21.tif", RI_FRAMEBUFFER, RI_RGB)
#RiPixelSamples(3,3)
#RiProjection(RI_ORTHOGRAPHIC)
#RiScale(vec3(0.8))
#RiTranslate(0,0.55,5)
RiWorldBegin()
RiSurface("constant",RI_NULL)
RiPolygon(P=square)
RiWorldEnd()
RiEnd()


コマンドプロンプトから
>list21.py
と打ち込むと3delightでレンダリングして表示されます。
はじめの一歩ですね。
  • -
  • -

「実践CGへの誘い」例題をPythonで行う その2

「実践CGへの誘い」p.20
Listing 2.2


#list22.py
#/* Copyrighted Pixar 1989 */
#/* From the RenderMan Companion p. 20 */
#/* Listing 2.2 Control over viewer and color */

import cgkit.cri
from cgkit.cgtypes import *

# Load the RenderMan API.
# Replace the library name with whatever renderer you want to use.
ri = cgkit.cri.loadRI("3delight")
cgkit.cri.importRINames(ri, globals())

square=[.5,.5,.5,.5,-.5,.5,-.5,-.5,.5,-.5,.5,.5]

color=(.2,.4,.6)

RiBegin(RI_NULL)
RiLightSource("distantlight",RI_NULL)
RiProjection(RI_PERSPECTIVE)
RiTranslate(0.0,0.0,1.0)
RiRotate(40,-1,1,0)
RiDisplay("list22.tif", RI_FRAMEBUFFER, RI_RGB)
RiWorldBegin()
RiColor(color)
RiSurface("constant",RI_NULL)
RiPolygon(P=square)
RiWorldEnd()
RiEnd()

  • -
  • -
<< 9/22 >>