A little more cleanup in the renderer code.

This commit is contained in:
Rezmason
2021-10-20 09:50:58 -07:00
parent 28d38b032f
commit c85642a270

View File

@@ -13,6 +13,11 @@ const cycleStyles = {
}; };
const numVerticesPerQuad = 2 * 3; const numVerticesPerQuad = 2 * 3;
const tlVert = [0, 0];
const trVert = [0, 1];
const blVert = [1, 0];
const brVert = [1, 1];
const quadVertices = [tlVert, trVert, brVert, tlVert, brVert, blVert];
export default (regl, config) => { export default (regl, config) => {
const volumetric = config.volumetric; const volumetric = config.volumetric;
@@ -21,6 +26,7 @@ export default (regl, config) => {
const [numQuadRows, numQuadColumns] = volumetric ? [numRows, numColumns] : [1, 1]; const [numQuadRows, numQuadColumns] = volumetric ? [numRows, numColumns] : [1, 1];
const numQuads = numQuadRows * numQuadColumns; const numQuads = numQuadRows * numQuadColumns;
const quadSize = [1 / numQuadColumns, 1 / numQuadRows]; const quadSize = [1 / numQuadColumns, 1 / numQuadRows];
const rippleType = config.rippleTypeName in rippleTypes ? rippleTypes[config.rippleTypeName] : -1; const rippleType = config.rippleTypeName in rippleTypes ? rippleTypes[config.rippleTypeName] : -1;
const cycleStyle = config.cycleStyleName in cycleStyles ? cycleStyles[config.cycleStyleName] : 0; const cycleStyle = config.cycleStyleName in cycleStyles ? cycleStyles[config.cycleStyleName] : 0;
const slantVec = [Math.cos(config.slant), Math.sin(config.slant)]; const slantVec = [Math.cos(config.slant), Math.sin(config.slant)];
@@ -49,9 +55,9 @@ export default (regl, config) => {
"rippleSpeed", "rippleSpeed",
"rippleThickness", "rippleThickness",
"resurrectingCodeRatio", "resurrectingCodeRatio",
// rain vertex // rain render vertex
"forwardSpeed", "forwardSpeed",
// rain render // rain render fragment
"glyphEdgeCrop", "glyphEdgeCrop",
"isPolar", "isPolar",
]), ]),
@@ -62,6 +68,7 @@ export default (regl, config) => {
numQuadColumns, numQuadColumns,
quadSize, quadSize,
volumetric, volumetric,
rippleType, rippleType,
cycleStyle, cycleStyle,
slantVec, slantVec,
@@ -106,15 +113,6 @@ export default (regl, config) => {
.map((_, x) => Array(numVerticesPerQuad).fill([x, y])) .map((_, x) => Array(numVerticesPerQuad).fill([x, y]))
); );
const quadCorners = Array(numQuads).fill([
[0, 0],
[0, 1],
[1, 1],
[0, 0],
[1, 1],
[1, 0],
]);
// We render the code into an FBO using MSDFs: https://github.com/Chlumsky/msdfgen // We render the code into an FBO using MSDFs: https://github.com/Chlumsky/msdfgen
const renderVert = loadText("../shaders/render.vert"); const renderVert = loadText("../shaders/render.vert");
const renderFrag = loadText("../shaders/render.frag"); const renderFrag = loadText("../shaders/render.frag");
@@ -122,10 +120,8 @@ export default (regl, config) => {
blend: { blend: {
enable: true, enable: true,
func: { func: {
srcRGB: "src alpha", src: "one",
srcAlpha: 1, dst: "one",
dstRGB: "dst alpha",
dstAlpha: 1,
}, },
}, },
vert: regl.prop("vert"), vert: regl.prop("vert"),
@@ -144,7 +140,7 @@ export default (regl, config) => {
attributes: { attributes: {
aPosition: quadPositions, aPosition: quadPositions,
aCorner: quadCorners, aCorner: Array(numQuads).fill(quadVertices),
}, },
count: numQuads * numVerticesPerQuad, count: numQuads * numVerticesPerQuad,
@@ -165,8 +161,6 @@ export default (regl, config) => {
primary: output, primary: output,
}, },
() => { () => {
const time = Date.now();
update({ frag: updateFrag.text() }); update({ frag: updateFrag.text() });
regl.clear({ regl.clear({
depth: 1, depth: 1,