#VRML V2.0 utf8 ## ##@ extern Background { skyColor 50 10 10 } Viewpoint { position 0 0 1 } EXTERNPROTO ClickBox [ exposedField SFVec2f translation exposedField SFVec2f font_translation exposedField SFVec2f size exposedField MFString string exposedField MFString url exposedField SFBool filled field SFFloat fontsize field SFVec2f rectangle_size eventOut SFInt32 choice_changed eventOut SFTime touchTime_changed eventOut SFBool touchSwitch ] "shader-layer.wrl#ClickBox" ##EXTERNPROTO SceneRender [ ## field SFInt32 width ## field SFInt32 height ## exposedField SFNode vshader ## exposedField MFString pshader ## exposedField MFString scene ##] ##"shader-scenerender.wrl#SceneRender" #@proto shader-scenerender.vr # ==================== Misc ====================== # DEF WorldInfo WorldInfo { title "VRML NPR Postprocessor 1.0" info [ "VRML NPR Postprocessor 1.0", "adapted from S.Yin Visual Design Project", ] } DEF Background Background { skyColor .2 .2 .2 } DEF Navigation NavigationInfo { headlight FALSE type "ANY" } DEF Viewpoint Viewpoint { position 2 1.9 -1 description "default" } ##@ render # ================ Render Node =============== # DEF scene SceneRender { width 1024 height 768 ##pshader "local/shader/general.phl" pshader "local/shader/outline.phl" ##pshader "phl-toon2.vr" ##scene "@vr-object-dam.wrl" scene "wrl/shader-camera.wrl" } DEF shader_script Script { eventOut SFNode vshader eventOut MFString pshader eventOut MFString newurl field SFNode v_general VertexShader { url "hlsl: float4x4 modelViewProjectionT; struct VS_OUTPUT { float4 Pos : POSITION; float2 Tex : TEXCOORD0; }; VS_OUTPUT main ( float4 Pos : POSITION, float3 Norm : NORMAL, float2 Tex : TEXCOORD0 ) { VS_OUTPUT Out; Out.Pos = mul( Pos, modelViewProjectionT ); Out.Tex = float2( Tex.x, 1.0 - Tex.y ); // Y FLIP return Out; } " } ##@ shader(s) field MFString pc0 "local/shader/vp0.phl" ## shader field MFString pc1 "local/shader/outline.phl" ## shader field MFString pc2 "local/shader/quant.phl" ## shader field MFString pc3 "local/shader/laplace.phl" ## shader field MFString pc4 "local/shader/edgedetect-color.phl" ## shader field MFString pc5 "local/shader/cartoon.phl" ## shader field MFString pc6 "local/shader/hsv.phl" ## shader field MFString pc7 "local/shader/edgedetect.phl" ## shader field MFString pc8 "local/shader/sepia.phl" ## shader field MFString pc9 "local/shader/gray-ofs.phl" ## shader field MFString pc10 "local/shader/gray.phl" ## shader field MFString pc11 "local/shader/dizzy.phl" ## shader field MFString pc12 "local/shader/black-transparent.phl" ##@ event(s) eventIn SFTime c0 eventIn SFTime c2 eventIn SFTime c1 eventIn SFTime c3 eventIn SFTime c4 eventIn SFTime c5 eventIn SFTime c6 eventIn SFTime c7 eventIn SFTime c8 eventIn SFTime c9 eventIn SFTime c10 eventIn SFTime c11 eventIn SFTime c12 eventIn MFString scene_changed url "javascript: function initialize(v, t) { //Browser.setHeadlight(true); //Browser.showConsole(false); //Browser.setOption('autoMipMap', 'TRUE'); //Browser.setOption('mipmap', 'TRUE'); //Browser.setOption('mipMapLodBias', '0.0'); //Browser.setOption('antiAliasing', 'TRUE'); vshader = v_general; //newurl = 'logo.wrl'; //newurl = 'shader-camera.wrl'; //newurl = '@vr-object-dam.wrl'; } ##@ function(s) function c0(v, t) { //Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc0; } function c2(v, t) { //Browser.setOption('mipmap', 'TRUE'); //Browser.setOption('mipMapLodBias', '3.0'); vshader = v_general; pshader = pc2; } function c1(v, t) { //Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc1; } function c3(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc3; } function c4(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc4; } function c5(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc5; } function c6(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc6; } function c7(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc7; } function c8(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc8; } function c9(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc9; } function c10(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc10; } function c11(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc11; } function c12(v, t) { Browser.setOption('mipmap', 'FALSE'); vshader = v_general; pshader = pc12; } function scene_changed(v, t) { //newurl = new MFString(v, 'shader-valid.wrl'); } " } ##ROUTE shader_script.vshader TO scene.vshader ROUTE shader_script.pshader TO scene.pshader ##ROUTE shader_script.newurl TO scene.scene # =================== Menu =================== # DEF C0 ClickBox { translation 0 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "0" } DEF C1 ClickBox { translation .08 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "1" } DEF C2 ClickBox { translation .16 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "2" } DEF C3 ClickBox { translation .24 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "3" } DEF C4 ClickBox { translation .32 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "4" } DEF C5 ClickBox { translation .40 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "5" } DEF C6 ClickBox { translation .48 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "6" } DEF C7 ClickBox { translation .56 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "7" } DEF C8 ClickBox { translation .64 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "8" } DEF C9 ClickBox { translation .72 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "9" } DEF C10 ClickBox { translation .80 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "10" } DEF C11 ClickBox { translation .88 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "11" } DEF C12 ClickBox { translation .96 0 size .1 .07 rectangle_size 1.5 .5 font_translation 0.0 -.14 fontsize 0.4 string "12" } ROUTE C0.touchTime_changed TO shader_script.c0 ROUTE C2.touchTime_changed TO shader_script.c2 ROUTE C1.touchTime_changed TO shader_script.c1 ROUTE C3.touchTime_changed TO shader_script.c3 ROUTE C4.touchTime_changed TO shader_script.c4 ROUTE C5.touchTime_changed TO shader_script.c5 ROUTE C6.touchTime_changed TO shader_script.c6 ROUTE C7.touchTime_changed TO shader_script.c7 ROUTE C8.touchTime_changed TO shader_script.c8 ROUTE C9.touchTime_changed TO shader_script.c9 ROUTE C10.touchTime_changed TO shader_script.c10 ROUTE C11.touchTime_changed TO shader_script.c11 ROUTE C12.touchTime_changed TO shader_script.c12