Sfoglia il codice sorgente

allow additional onchange handlers

likely to rerender the scene.
Lucas Stadler 10 anni fa
parent
commit
78d7413bda
1 ha cambiato i file con 9 aggiunte e 1 eliminazioni
  1. 9 1
      glsl/sliders.js

+ 9 - 1
glsl/sliders.js

71
  });
71
  });
72
}
72
}
73
73
74
function initSliders(gl, program, sliders) {
74
function initSliders(gl, program, sliders, onChange) {
75
  return sliders.map(function(slider) {
75
  return sliders.map(function(slider) {
76
    switch (slider.type) {
76
    switch (slider.type) {
77
      case "float":
77
      case "float":
79
        
79
        
80
        slider.onChange = function(ev) {
80
        slider.onChange = function(ev) {
81
          gl.uniform1f(slider.uniform, parseFloat(ev.target.value));
81
          gl.uniform1f(slider.uniform, parseFloat(ev.target.value));
82
          
83
          if (onChange) {
84
            onChange(ev, slider);
85
          }
82
        }
86
        }
83
        
87
        
84
        break;
88
        break;
91
        slider.onChange = function(ev, i) {
95
        slider.onChange = function(ev, i) {
92
          slider.values[0] = parseFloat(ev.target.value);
96
          slider.values[0] = parseFloat(ev.target.value);
93
          gl.uniform2f(slider.uniform, slider.values[0], slider.values[1]);
97
          gl.uniform2f(slider.uniform, slider.values[0], slider.values[1]);
98
          
99
          if (onChange) {
100
            onChange(ev, slider, i);
101
          }
94
        }
102
        }
95
        
103
        
96
        break;
104
        break;