Import shader in three.js
How do I make an import shader in three.js?
Original from glslsandbox.com. What is a import shader in three.js? How do you make a import shader in three.js? This script and codes were developed by Khangeldy on 09 November 2022, Wednesday.
Import shader in three.js - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>import shader in three.js</title> <link rel="stylesheet" href="css/style.css">
</head>
<body> <div id="container"></div>
<script id="vertex-shader" type="no-js"> #ifdef GL_ES precision highp float; #endif void main() { vec4 mvPosition = modelViewMatrix * vec4(position, 1.0 ); gl_Position = projectionMatrix * mvPosition; }
</script>
<script id="fragment-shader" type="no-js"> precision mediump float; uniform vec2 mouse; uniform vec2 resolution; uniform float time; void main(void){ gl_FragColor = vec4(sin(sin(time)*length(gl_FragCoord.xy-resolution/2.0)+time*20.0)); }
</script> <script src='http://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
Import shader in three.js - Script Codes CSS Codes
body { overflow: hidden; margin: 0; height: 100%;
}
Import shader in three.js - Script Codes JS Codes
window.addEventListener("load", function() { // Camera variables. var width = window.innerWidth; var height = window.innerHeight; var aspect = width / height; var fov = 65; var clipPlaneNear = 0.1; var clipPlaneFar = 1000; var clearColor = 0x221f26; var clearAlpha = 1.0; // main container. var $container = document.getElementById('container'); // Clock var clock = new THREE.Clock(); // Set up uniform. var tuniform = { time: { type: 'f', value: 0.1 }, mouse: { type: 'v2', value: new THREE.Vector2() }, resolution: { type: 'v2', value: new THREE.Vector2() } }; var scene = new THREE.Scene(); var camera = new THREE.PerspectiveCamera(fov, aspect, clipPlaneNear, clipPlaneFar); camera.position.z = 500; var renderer = new THREE.WebGLRenderer({ antialias: true }); renderer.setSize(width, height); renderer.setClearColor(new THREE.Color(clearColor, clearAlpha)); renderer.domElement.addEventListener('mousemove', recordMousePosition); function recordMousePosition(e) { var canvas = renderer.domElement; var rect = canvas.getBoundingClientRect(); tuniform.mouse.value.x = (e.clientX - rect.left) / canvas.clientWidth * 2 - 1; tuniform.mouse.value.y = (e.clientY - rect.top) / canvas.clientHeight * -2 + 1; } tuniform.resolution.value.x = renderer.domElement.width; tuniform.resolution.value.y = renderer.domElement.height; $container.appendChild(renderer.domElement); var mat = new THREE.ShaderMaterial({ uniforms: tuniform, vertexShader: document.querySelector('#vertex-shader').textContent, fragmentShader: document.querySelector('#fragment-shader').textContent // side:THREE.DoubleSide }); var tobject = new THREE.Mesh(new THREE.PlaneGeometry(700, 394, 39), mat); scene.add(tobject); console.log(tuniform); var loop = function loop() { requestAnimationFrame(loop); tuniform.time.value += clock.getDelta(); renderer.render(scene, camera); }; loop();
}, false);
Developer | Khangeldy |
Username | Khangeldy |
Uploaded | November 09, 2022 |
Rating | 3 |
Size | 2,636 Kb |
Views | 32,384 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Trello canvas | 2,539 Kb |
Shadertoy.com test | 2,371 Kb |
For my blog | 8,983 Kb |
Ryu Hadouken | 1,981 Kb |
Svg | 10,044 Kb |
Freecodecamp3 | 0 Kb |
Google map | 1,849 Kb |
Css grid test | 1,683 Kb |
Canvas landing | 3,061 Kb |
A Pen by Khangeldy | 2,352 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Weather App | Kw7oe | 3,162 Kb |
Very Simple Slider | Doodlemarks | 2,682 Kb |
Material Design-Layout-Principles Practice | Fraina | 2,331 Kb |
Formations | Cantelope | 5,731 Kb |
Update CSS Variables with JS | Wesbos | 2,335 Kb |
Playing with transition timing | Mattgrosswork | 1,993 Kb |
Console fun | Dviate | 1,500 Kb |
Simple Weather App | Cmwebby | 0 Kb |
Responsive Table-less Shopping Cart | Alex_rodrigues | 6,637 Kb |
Canvas Orbital Trails v2 | Jackrugile | 3,421 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!