1/1

pythonでパーティクル その2

イギリスのbournemouth大学のサイトを参考に作成してみた。
レンダリングは3Delightです。
勉強になります。ありがとうございます。
point2.jpg


#point2.py - Create a simple Particle System
import random, math
import cgkit.cri
from cgkit.cgtypes import *
from random import uniform as ru


# 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())

points=[]
width=[]
colour=[]
normals=[]
pappend=points.append
wappend=width.append
cappend=colour.append
nappend=normals.append

for i in range(0,1500):
for ix in range(0,3):
cappend(ru(0,1))
pappend(ru(-2,2))
nappend(ru(0,1))
wappend(ru(0.01,0.2))


RiBegin(RI_NULL)
RiImager("background", "color background",(.2,.4,.6))
RiDisplay ("point2.tif","file","rgb",RI_NULL)
RiFormat(512, 384, -1.0)
RiPixelSamples( 4, 4)
RiShadingRate(1)
RiProjection ("perspective","fov",30,RI_NULL)
RiWorldBegin()
RiLightSource("ambientlight","intensity",0.4)
RiLightSource("distantlight", "from",[0,0,1])
RiTranslate(0,0,6)
RiSurface("plastic")
RiPoints("P",points,"Cs",colour,"width",width,"N",normals,RI_NULL)
RiWorldEnd()
RiEnd()



実は、3DelightのPointsは、法線N部分(,"N",normals)が無視されるようだ。図のようにdiskはカメラ方向を見ている。Prmanではdiskの面がいろいろ変わってくる。次の記事を参照してください。
  • -
  • -

1/1