Rendering学習日記

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

renderWiki

じっくり読んで、勉強します。
繰り返し繰り返しですね。
ありがとうございます。

In depth renderman
  • -
  • -

RiCurves その1

イギリスのbournemouth universityを参考にしました。ありがとうございます。Thank you.
import prman使ってます。
ricurve_pr.jpg
#ricurve_pr.py
#set PYTHONPATH=C:\Python25;C:\Python\Scripts;%RMANTREE%\bin
import prman
ri=prman.Ri()

filename="ricurve_pr.rib"

ri.Begin(ri.RENDER)
ri.Imager("background", {"color color":(.2,.4,.6)})
ri.Display ("ricurve_pr.png","file","rgb")
ri.Format(512, 384, -1.0)
ri.PixelSamples( 4, 4)
ri.ShadingRate(1)
ri.Projection(ri.PERSPECTIVE, {ri.FOV: 90})
ri.WorldBegin()
ri.LightSource("distantlight", {ri.HANDLEID: "1","to":[0,0,1]})
ri.LightSource("ambientlight", {ri.HANDLEID: "2", "intensity":[0.4]})
ri.Translate(0,0,1.8)
ri.Surface("plastic")

ri.Color([1,0,0])
points= [0, 0, 0 ,-1, -.5 ,1 ,2 ,.5 ,1 ,1 ,0, -1 ]
width=[0.01,0.04]
ri.Curves( "cubic",[4],"nonperiodic",{ri.P:points, ri.WIDTH : width})

ri.Color([0,0,1])
points2=[0,0,0,3,4,5,-1,-.5,1,2,.5,1,1,0,-1]
ri.Curves("linear",[5],"nonperiodic",{ ri.P:points2 , ri.CONSTANTWIDTH:[0.075]})

ri.WorldEnd()
ri.End()
  • -
  • -

RiCurves その2

3Delightとcgkitを使って、RiCurvesの表示の仕方を試してみる。スクリプトの#コメントアウトしている方法でも、表示はOK。cgkit便利ですね。
ありがとうございます。
curves_test.jpg
#curves_test.py
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())

red=(1,0,0)
curveWidth=0.3
fov=30

RiBegin(RI_NULL)
RiDisplay ("curves_test.tiff","framebuffer","rgb",RI_NULL)
RiProjection ("perspective","fov",fov,RI_NULL)
RiFormat(512, 384, -1.0)
RiWorldBegin()
RiTranslate(0,0,2)
RiColor(red)
RiRotate(45,1,0,0)
points=[-0.5,-0.5,0, 0.5,0.5,0]
curveWidth=0.1
RiCurves("linear",[2],"nonperiodic","P",points,"constantwidth",curveWidth,"Cs",[(1,0,0), (0,0,1)],RI_NULL)
#RiCurves(RI_LINEAR, [2], RI_NONPERIODIC, P=[-0.5,-0.5,0, 0.5,0.5,0], constantwidth=0.1, Cs=[(1,0,0), (0,0,1)])
RiWorldEnd()
RiEnd()
  • -
  • -
<< 8/14 >>