PageSourceSearch

https://goldrush.net/v8/materials.js

js goldrush.net collected 2026-10-05 10:29:03 UTC 2,206 bytes, 5 lines download raw bytes

1import * as T from './vendor/three.module.js';
2export function createMaterials(){const pending=[],errors=[],loader=new T.TextureLoader();function tex(file,color=false,repeat=1){let done;pending.push(new Promise(r=>done=r));const t=loader.load('./assets/'+file,()=>done(),undefined,()=>{errors.push(file);done();});t.colorSpace=color?T.SRGBColorSpace:T.NoColorSpace;t.wrapS=t.wrapT=T.RepeatWrapping;t.repeat.set(repeat,repeat);t.anisotropy=4;return t;}
3const stone=tex('rock_boulder_cracked_diff.jpg',true,4),stoneN=tex('rock_boulder_cracked_nor_gl.jpg',false,4),stoneR=tex('rock_boulder_cracked_rough.jpg',false,4),wood=tex('timber_strip_diff.jpg',true),woodN=tex('timber_strip_nor_gl.jpg'),woodR=tex('timber_strip_rough.jpg');
4function fabric(){const c=document.createElement('canvas');c.width=c.height=256;const ctx=c.getContext('2d');ctx.fillStyle='#c2b59a';ctx.fillRect(0,0,256,256);for(let i=0;i<256;i+=2){ctx.strokeStyle=i%4?'#b5a78f':'#d2c7af';ctx.globalAlpha=.3;ctx.beginPath();ctx.moveTo(i,0);ctx.lineTo(i,256);ctx.moveTo(0,i);ctx.lineTo(256,i);ctx.stroke();}const t=new T.CanvasTexture(c);t.colorSpace=T.SRGBColorSpace;t.wrapS=t.wrapT=T.RepeatWrapping;t.repeat.set(4,4);return t;}
5const standard=(color,more={})=>new T.MeshStandardMaterial({color,roughness:.85,envMapIntensity:.55,...more});
5const m={rock:standard('#99a7a6',{map:stone,normalMap:stoneN,roughnessMap:stoneR,normalScale:new T.Vector2(.65,.65)}),wood:standard('#a9906c',{map:wood,normalMap:woodN,roughnessMap:woodR,normalScale:new T.Vector2(.3,.3)}),cloth:standard('#d3c2a3',{map:fabric(),side:T.DoubleSide}),iron:standard('#3e403e',{metalness:.7,roughness:.4}),rope:standard('#85704a'),gold:standard('#c49a39',{metalness:1,roughness:.24,envMapIntensity:1.2}),sand:standard('#c1b8a3',{map:tex('ground_diff.jpg',true,80),normalMap:tex('ground_nor_gl.jpg',false,80),roughnessMap:tex('ground_rough.jpg',false,80),normalScale:new T.Vector2(.25,.25),roughness:1}),skin:standard('#a77854',{roughness:.78}),shirt:standard('#8d8269'),pants:standard('#41474b'),leather:standard('#49392d'),waterDark:standard('#173f43',{roughness:.18,metalness:.25}),quartz:standard('#c9c6b6',{roughness:.4})};return {...m,ready:Promise.all(pending),errors};}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.