diff --git a/editor/examples/shaders.app.json b/editor/examples/shaders.app.json new file mode 100755 index 0000000000000000000000000000000000000000..19093fdaafb3e091d7365ce661558528f154fd28 --- /dev/null +++ b/editor/examples/shaders.app.json @@ -0,0 +1,87 @@ +{ + "metadata": { + "type": "App" + }, + "project": { + "gammaInput": true, + "gammaOutput": true, + "shadows": true, + "vr": false + }, + "camera": { + "metadata": { + "version": 4.4, + "type": "Object", + "generator": "Object3D.toJSON" + }, + "object": { + "uuid": "FC3E973B-5A4A-4177-BD9C-A58E61E0593B", + "type": "PerspectiveCamera", + "name": "Camera", + "matrix": [0.605503,0,-0.795843,0,-0.261526,0.944464,-0.198978,0,0.751645,0.328615,0.571876,0,2.571484,1.124239,1.956469,1], + "fov": 50, + "zoom": 1, + "near": 0.1, + "far": 10000, + "focus": 10, + "aspect": 1.368715, + "filmGauge": 35, + "filmOffset": 0 + } + }, + "scene": { + "metadata": { + "version": 4.4, + "type": "Object", + "generator": "Object3D.toJSON" + }, + "geometries": [ + { + "uuid": "EA781333-F3AE-470D-9110-A9724FCB42AA", + "type": "IcosahedronGeometry", + "radius": 1, + "detail": 4 + }], + "materials": [ + { + "uuid": "50ED51F1-DEA4-4B61-8082-BF41609E8C27", + "type": "ShaderMaterial", + "depthFunc": 3, + "depthTest": true, + "depthWrite": true, + "wireframe": true, + "skinning": false, + "morphTargets": false, + "uniforms": { + "time": { + "value": 0.0 + } + }, + "vertexShader": "uniform float time;\nvarying vec3 vPosition;\nvoid main() {\n\tvPosition = position;\n\tvPosition.x += sin( time + vPosition.z * 4.0 ) / 4.0;\n\tvPosition.y += cos( time + vPosition.z * 4.0 ) / 4.0;\n\tgl_Position = projectionMatrix * modelViewMatrix * vec4( vPosition, 1.0 );\n}", + "fragmentShader": "varying vec3 vPosition;\nvoid main() {\n\tgl_FragColor = vec4( vPosition * 2.0, 1.0 );\n}" + }], + "object": { + "uuid": "5FC9ACA9-2A93-474D-AA32-FACC76551914", + "type": "Scene", + "name": "Scene", + "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1], + "children": [ + { + "uuid": "FC7B6CF2-6386-4F47-9CE6-8ADB9FCA6E1F", + "type": "Mesh", + "name": "Icosahedron 1", + "matrix": [1,0,0,0,0,1,0,0,0,0,1,0,0,0,0,1], + "geometry": "EA781333-F3AE-470D-9110-A9724FCB42AA", + "material": "50ED51F1-DEA4-4B61-8082-BF41609E8C27" + }], + "background": 11184810 + } + }, + "scripts": { + "FC7B6CF2-6386-4F47-9CE6-8ADB9FCA6E1F": [ + { + "name": "", + "source": "function update( event ) {\n\n\tthis.material.uniforms.time.value = event.time / 500.0;\n\n}" + }] + } +} diff --git a/editor/js/Menubar.Examples.js b/editor/js/Menubar.Examples.js index 3ad787b4a66e9b3c304a411d8ae494963a4c75c5..8fc7a3e9dc5014fb12b32e2b135474ec7607a6e1 100644 --- a/editor/js/Menubar.Examples.js +++ b/editor/js/Menubar.Examples.js @@ -22,7 +22,8 @@ Menubar.Examples = function ( editor ) { { title: 'Arkanoid', file: 'arkanoid.app.json' }, { title: 'Camera', file: 'camera.app.json' }, { title: 'Particles', file: 'particles.app.json' }, - { title: 'Pong', file: 'pong.app.json' } + { title: 'Pong', file: 'pong.app.json' }, + { title: 'Shaders', file: 'shaders.app.json' } ]; var loader = new THREE.FileLoader();