1/1

jrManのShader追加

javaについて、わかったことまとめ。

(1)Shaderとなるjavaをクラスにコンパイルする。
(2)jarコマンドを使って、そのクラスをjrMan.jarに追加する。
(3)jrman で rendering

以下のようなコンスタントシェーダを作成する。
folowing : SurfaceFirst.java.


import javax.vecmath.Color3f;

import org.jrman.grid.BooleanGrid;
import org.jrman.grid.Color3fGrid;
import org.jrman.grid.FloatGrid;
import org.jrman.render.ShaderVariables;
import org.jrman.shaders.SurfaceShader;

/*
SurfaceFirst.java
*/

public class SurfaceFirst extends SurfaceShader {

public void shade(ShaderVariables sv) {
super.shade(sv);
sv.Oi.set(sv.Os);
sv.Ci.mul(sv.Cs, sv.Oi);
}
}



上記のシェーダをmyshaderフォルダに保存しておく。
以下のようにコンパイルする。
C:\RIB\jrman-0_4>javac -classpath %JRMAN_HOME%\jar\jrman.jar;%JRMAN_HOME%\jar\ve
cmath.jar;%JRMAN_HOME%\jar\commons-cli-1.0.jar myshader/SurfaceFirst.java

続いて、クラスをjrMan.jarに追加する。
C:\RIB\jrman-0_4>cd jar

C:\RIB\jrman-0_4\jar>jar uvf jrman.jar %JRMAN_HOME%\myshader\SurfaceFirst.class
C:/RIB/jrman-0_4/myshader/SurfaceFirst.class を追加中です。(入 = 642) (出 = 359)
(44% 収縮されました)

C:\RIB\jrman-0_4\jar>cd..

bin\jrman.batのclasspathにmyshaderを追加、書き換える

set CLASSPATH=%JRMAN_HOME%\jar\jrman.jar;%JRMAN_HOME%\jar\vecmath.jar;%JRMAN_HOME%\jar\commons-cli-1.0.jar;%JRMAN_HOME%\myshader


以下をfirst.ribで保存する。

Display "first.tif" "framebuffer" "rgb"
Projection "perspective" "fov" [45]
LightSource "ambientlight" 1 "intensity" [0.2]
LightSource "spotlight" 2 "from" [-1 1 0 ] "to" [0 0 3] "intensity" [3]
Translate 0 0 3
WorldBegin
Color [1 0 0]
Surface "first"
Sphere 1 -1 1 360
WorldEnd


Happy Rendering!!
C:\RIB\jrman-0_4>jrman first.rib
constant.jpg
  • -
  • -

1/1