1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- //UI
- var gui = new dat.GUI();
- var options = {
- texture: "standard",
- mesh: "sphere",
- hemisphericLight: true,
- pointLight: false,
- directionalLight: false,
- castShadows: false,
- spotLight: false,
- fog: false,
- skybox: false
- }
- var registeredUIs = {};
- var textureui;
- window.registerColorPicker = function(texture, name, color, onChange, onSet) {
- if (!registeredUIs[texture]) {
- registeredUIs[texture] = [];
- }
- registeredUIs[texture].push({
- name: name,
- color: "#ff0000",
- onChange: onChange,
- onSet: onSet
- });
- };
- window.registerRangeUI = function(texture, name, minValue, maxValue, onChange, onSet) {
- if (!registeredUIs[texture]) {
- registeredUIs[texture] = [];
- }
-
- registeredUIs[texture].push({
- name: name,
- minValue: minValue,
- maxValue: maxValue,
- onChange: onChange,
- onSet: onSet
- });
- }
- var setUi = function(ui) {
- options[ui.name] = ui.onSet();
- if (ui.color) {
- textureui.addColor(options, ui.name).onChange(function(value) {
- ui.onChange(value);
- });
- } else {
- textureui.add(options, ui.name, ui.minValue, ui.maxValue).onChange(function(value) {
- ui.onChange(value);
- });
- }
- }
- window.enableTexture = function(texture) {
- if (textureui) {
- textureui.domElement.parentElement.removeChild(textureui.domElement);
- textureui = null;
- }
-
- if (registeredUIs[texture]) {
- textureui = new dat.GUI();
- for (var index = 0; index < registeredUIs[texture].length; index++) {
- var ui = registeredUIs[texture][index];
-
- setUi(ui);
- }
- }
- }
|