Rendering学習日記

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

Sunflowのcaustics

サンプルexampleフォルダ内のshader_examplesにあるGlass001.scのcausticsの設定は、そのままではうまく出なかった。
下記のように設定を変更した。kdを大きくし、GUIのログを見てradiusを変更した。

photons {
caustics 10000000 kd 10000 0.5
}

glass.jpg
  • -
  • -

Mapyrus Version 1.102

ちょうど、「入門HTML5 プログラミング」を購入して読んでたところで、IE9にバージョンアップ、SVG表示ができるようになったので、いろいろと試してみようと探していたら、面白いもの発見しました。
スクリプトを書いて、ベクトルデータを表示するjava jarのファイルです。
何と読むのでしょう。Mapyrusちょっとだけスクリプトを入力して描画させてみました。
出力フォーマットが
EPS,SVG,PNG,そしてPDFに対応。2011年5月でたVersion 1.102からPDF出力してくれます。
http://mapyrus.sourceforge.net

newpage "pdf", "tutorialfirst1.pdf", 30, 30
color "indigo"
linestyle 4, "round", "round"
move 5, 20
draw 20, 20, 5, 5, 20, 5
stroke

と書いたスクリプトをtutorialfirst1.mapyrusと名前を付けて保存し、

>java -classpath mapyrus.jar org.mapyrus.Mapyrus tutorialfirst1.mapyrus

で実行すると、tutorialfirst1.pdfが出力されます。
tutorialfirst1.png
↑上記、newpage "png", "tutorialfirst1.png", 30, 30で出力しました。

>java -classpath mapyrus.jar org.mapyrus.Mapyrus

で実行すると、GUIが出てきて、スクリプトを入れてLOGOライクに遊べる。
これは、教材ネタとしていろいろとできますね。

専用のサーバ持ってて、ちょっといじってみる、
>java -classpath install-dir /mapyrus.jar org.mapyrus.Mapyrus -s 8410
で、MapyrusのHTTP Server起動します。

http://localhost:8410/tutorialhttpserver1.mapyrus

とやると、mapyrusのベクターグラフィックスが描画されます。IE9でなくても大丈夫なんで、遊べます。ありがとうございます。
  • -
  • -

Standard Procedural Databasesのmakefile

Standard Procedural Databases のNeutral File Format (NFF) を出力するために、MinGW gccでオプション設定しなおし、ちょっとだけmakefileを理解できました。Windows用の、makefile.dos
です。

mingw32-make -f makefile.dos
でコンパイル、リンクします。

makefile.dos

# Makefile for the SPD stuff - generic for IBM clones,
# modify to support whatever compiler you have.
CC =gcc
#
CFLAGS2 =-o
CFLAGS =-O2
EXE = exe
OBJ = o

# DOS version:
#SPDOBJS = drv_ibm.$(OBJ) libini.$(OBJ) libinf.$(OBJ) libpr1.$(OBJ) libpr2.$(OBJ) libpr3.$(OBJ) libply.$(OBJ) libdmp.$(OBJ) libvec.$(OBJ) libtx.$(OBJ)
# other versions...
SPDOBJS = drv_null.$(OBJ) libini.$(OBJ) libinf.$(OBJ) libpr1.$(OBJ) libpr2.$(OBJ) libpr3.$(OBJ) libply.$(OBJ) libdmp.$(OBJ) libvec.$(OBJ) libtx.$(OBJ)

# Zortech specific graphics library
#LIBFILES=fg.lib
#LIBFILES=fgp.lib
LIBFILES=-lm

all: balls.$(EXE) gears.$(EXE) mount.$(EXE) rings.$(EXE) teapot.$(EXE) \
tetra.$(EXE) tree.$(EXE) \
readdxf.$(EXE) readnff.$(EXE) readobj.$(EXE) \
sample.$(EXE) lattice.$(EXE) shells.$(EXE) jacks.$(EXE) \
sombrero.$(EXE) nurbtst.$(EXE)

# Rule to compile c progs into obj's
.c.$(OBJ):
$(CC) $(CFLAGS) -c $<

# DOS only
#drv_ibm.$(OBJ): drv_ibm.c drv.h def.h

drv_null.$(OBJ): drv_null.c drv.h def.h

libini.$(OBJ): libini.c lib.h libvec.h drv.h

libinf.$(OBJ): libinf.c lib.h libvec.h drv.h

libpr1.$(OBJ): libpr1.c lib.h libvec.h drv.h

libpr2.$(OBJ): libpr2.c lib.h libvec.h drv.h

libpr3.$(OBJ): libpr3.c lib.h libvec.h drv.h

libply.$(OBJ): libply.c lib.h libvec.h drv.h

libdmp.$(OBJ): libdmp.c lib.h libvec.h drv.h

libvec.$(OBJ): libvec.c libvec.h

libtx.$(OBJ): libtx.c lib.h libvec.h drv.h

balls.$(EXE): balls.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) balls.$(EXE) balls.c $(SPDOBJS) $(LIBFILES)

gears.$(EXE): gears.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) gears.$(EXE) gears.c $(SPDOBJS) $(LIBFILES)

mount.$(EXE): mount.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) mount.$(EXE) mount.c $(SPDOBJS) $(LIBFILES)

rings.$(EXE): rings.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) rings.$(EXE) rings.c $(SPDOBJS) $(LIBFILES)

teapot.$(EXE): teapot.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) teapot.$(EXE) teapot.c $(SPDOBJS) $(LIBFILES)

tetra.$(EXE): tetra.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) tetra.$(EXE) tetra.c $(SPDOBJS) $(LIBFILES)

tree.$(EXE): tree.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) tree.$(EXE) tree.c $(SPDOBJS) $(LIBFILES)

readdxf.$(EXE): readdxf.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) readdxf.$(EXE) readdxf.c $(SPDOBJS) $(LIBFILES)

readnff.$(EXE): readnff.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) readnff.$(EXE) readnff.c $(SPDOBJS) $(LIBFILES)

readobj.$(EXE): readobj.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) readobj.$(EXE) readobj.c $(SPDOBJS) $(LIBFILES)

sample.$(EXE): sample.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) sample.$(EXE) sample.c $(SPDOBJS) $(LIBFILES)

lattice.$(EXE): lattice.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) lattice.$(EXE) lattice.c $(SPDOBJS) $(LIBFILES)

shells.$(EXE): shells.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) shells.$(EXE) shells.c $(SPDOBJS) $(LIBFILES)

jacks.$(EXE): jacks.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) jacks.$(EXE) jacks.c $(SPDOBJS) $(LIBFILES)

sombrero.$(EXE): sombrero.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) sombrero.$(EXE) sombrero.c $(SPDOBJS) $(LIBFILES)

nurbtst.$(EXE): nurbtst.$(OBJ) $(SPDOBJS)
$(CC) $(CFLAGS2) nurbtst.$(EXE) nurbtst.c $(SPDOBJS) $(LIBFILES)
  • -
  • -
<< 47/184 >>