From a7481770a23c2dfbb1826df3c70cbd38464f6bec Mon Sep 17 00:00:00 2001 From: pjewell Date: Sun, 4 Dec 2022 15:20:18 -0500 Subject: [PATCH] -reverted numsymbols per tri --- src/main.ts | 21 +++++++++++++++++---- src/shaders/sdf-objects.glsl | 6 ++++++ 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/src/main.ts b/src/main.ts index c2c44ff..a7b6309 100644 --- a/src/main.ts +++ b/src/main.ts @@ -34,7 +34,8 @@ const controls = { 'HighTriRange': 1.0, 'HeightT': 'Off', 'SymbolScaleT': 'Off', - 'SymbolPositionT': 'Off' + 'SymbolPositionT': 'Off', + 'NumSymbolsPerTri': 1.0, }; @@ -92,6 +93,7 @@ function main() { f1.add(controls, 'HeightT', [ 'On', 'Off' ]); f1.add(controls, 'SymbolScaleT', [ 'On', 'Off' ]); f1.add(controls, 'SymbolPositionT', [ 'On', 'Off' ]); + f1.add(controls, 'NumSymbolsPerTri', 0.0, 10.0).step(1.0); var f2 = gui.addFolder('Animation'); @@ -137,6 +139,10 @@ function main() { sdf.setDimensions(window.innerWidth, window.innerHeight); time = 0; + + let SymbolPositionT = 0; + let SymbolScaleT = 0; + let HeightT = 0; // This function will be called every frame function tick() { time +=1; @@ -144,6 +150,10 @@ function main() { noiseColor = vec4.fromValues(controls['Noise Color'][0] /255, controls['Noise Color'][1] / 255, controls['Noise Color'][2] / 255, 1); height = controls['Depth']; + if(controls['SymbolScaleT'] == 'On'){SymbolScaleT += 0.01} + if(controls['SymbolPositionT'] == 'On'){SymbolPositionT += 0.01} + if(controls['HeightT'] == 'On'){HeightT += 0.01} + if(controls['Camera Animation'] == 'On'){ // camera.setPosition(vec3.fromValues( // controls['CameraX'] + Math.sin(timeCamera) * 4, @@ -167,13 +177,16 @@ function main() { icosphere.create(); } + + sdf.setRows(controls['Rows']); sdf.setTriScale(controls['TriScale']); sdf.setLowTriRange(controls['LowTriRange']); sdf.setHighTriRange(controls['HighTriRange']); - sdf.setHightT(controls['HeightT'] == 'On' ? 1.0 : 0.0); - sdf.setSymbolScaleT(controls['SymbolScaleT'] == 'On' ? 1.0 : 0.0); - sdf.setSymbolPositionT(controls['SymbolPositionT'] == 'On' ? 1.0 : 0.0); + sdf.setHightT(HeightT); + sdf.setSymbolScaleT(SymbolScaleT); + sdf.setSymbolPositionT(SymbolPositionT); + //sdf.setNumSymbolsPerTri(controls['NumSymbolsPerTri']); renderer.render(camera, time, height, color, noiseColor, sdf, [ square, diff --git a/src/shaders/sdf-objects.glsl b/src/shaders/sdf-objects.glsl index ae3749a..eabf827 100644 --- a/src/shaders/sdf-objects.glsl +++ b/src/shaders/sdf-objects.glsl @@ -275,6 +275,12 @@ float pyramidNormalSDF(vec3 p, float h, float depth, float depth_scale, float nu shape_transform = transform(shape_transform, vec3(0, 0, 0), vec3(-0.01+0.02*random(vec2(_x+i+_y, _z+g_rot)), -0.01+0.02*random(vec2(_x+i, _z+g_rot)), 0.0), vec3(1.0 * scale, 1000.0 * scale, 1.0 * scale)); prisim = flatSubtraction(prisim, randomSymbol(shape_transform, random(vec2(_x+j+i, _z+g_rot)))); +// for(float k=0.0; k 0.0){ final = flatUnion(final, prisim); }else{