Cette classe fonctionne exactement comme [page:ShaderMaterial], sauf que les définitions des uniformes et les attributs intégrés ne sont pas automatiquement ajoutées au code du shader GLSL.
const material = new THREE.RawShaderMaterial( {
uniforms: {
time: { value: 1.0 }
},
vertexShader: document.getElementById( 'vertexShader' ).textContent,
fragmentShader: document.getElementById( 'fragmentShader' ).textContent,
} );
[example:webgl_buffergeometry_rawshader WebGL / buffergeometry / rawshader]
[example:webgl_buffergeometry_instancing_billboards WebGL / buffergeometry / instancing / billboards]
[example:webgl_buffergeometry_instancing WebGL / buffergeometry / instancing]
[example:webgl_raymarching_reflect WebGL / raymarching / reflect]
[example:webgl2_volume_cloud WebGL 2 / volume / cloud]
[example:webgl2_volume_instancing WebGL 2 / volume / instancing]
[example:webgl2_volume_perlin WebGL 2 / volume / perlin]
[page:Object parameters] - (optionnel) un objet avec une ou plusieurs propriétés définissant l'apparence du matériau.
Toute propriété du matériau (y compris toute proprioété héritée de [page:Material] and [page:ShaderMaterial]) peut être passée dans l'objet.
Voir la classe [page:Material] et [page:ShaderMaterial] pour les propriétés communes.
Voir la classe [page:Material] et [page:ShaderMaterial] pour les méthodes communes.
[link:https://github.com/mrdoob/three.js/blob/master/src/[path].js src/[path].js]