MCPcopy
hub / github.com/processing/p5.js / fresnelShaderCallback

Function fresnelShaderCallback

test/unit/visual/cases/webgl.js:1383–1397  ·  view source on GitHub ↗
({ p5 })

Source from the content-addressed store, hash-verified

1381 const originalImage = p5.createFramebuffer();
1382
1383 function fresnelShaderCallback({ p5 }) {
1384 const fresnelPower = p5.uniformFloat(2);
1385 const fresnelBias = p5.uniformFloat(-0.1);
1386 const fresnelScale = p5.uniformFloat(2);
1387
1388 p5.getCameraInputs((inputs) => {
1389 let n = p5.normalize(inputs.normal);
1390 let v = p5.normalize(-inputs.position);
1391 let base = 1.0 - p5.dot(n, v);
1392 let fresnel = fresnelScale * p5.pow(base, fresnelPower) + fresnelBias;
1393 let col = p5.mix([0, 0, 0], [1, .5, .7], fresnel);
1394 inputs.color = [col, 1];
1395 return inputs;
1396 });
1397 }
1398
1399 const starShader = p5.baseMaterialShader().modify(starShaderCallback, { p5 });
1400 const starStrokeShader = p5.baseStrokeShader().modify(starShaderCallback, { p5 })

Callers

nothing calls this directly

Calls 2

dotMethod · 0.80
normalizeMethod · 0.45

Tested by

no test coverage detected