better normals color in dark mode

This commit is contained in:
Stewart Allen 2022-01-18 20:58:46 -05:00
commit 69de33109e
2 changed files with 9 additions and 5 deletions

View file

@ -464,8 +464,9 @@ function object_destroy(id) {
// listen for changes like dark mode toggle // listen for changes like dark mode toggle
function set_darkmode(dark) { function set_darkmode(dark) {
let { prefs } = mesh.api; let { prefs, selection, model } = mesh.api;
let { sky, platform } = moto.Space; let { sky, platform } = moto.Space;
prefs.map.space.dark = dark;
if (dark) { if (dark) {
mesh.material.wireframe.color.set(0xeeeeee); mesh.material.wireframe.color.set(0xeeeeee);
} else { } else {
@ -481,7 +482,9 @@ function set_darkmode(dark) {
colorMinor: 0xeeeeee, colorMinor: 0xeeeeee,
}, },
}); });
prefs.map.space.dark = dark; for (let m of model.list()) {
m.normals({ refresh: true });
}
prefs.save(); prefs.save();
} }

View file

@ -160,16 +160,17 @@ let util = mesh.util = {
return avg; return avg;
}, },
faceNormals(mesh, opt = { }) { faceNormals(obj, opt = { }) {
const _va = new THREE.Vector3(); const _va = new THREE.Vector3();
const _vb = new THREE.Vector3(); const _vb = new THREE.Vector3();
const _vc = new THREE.Vector3(); const _vc = new THREE.Vector3();
const _v1 = new THREE.Vector3(); const _v1 = new THREE.Vector3();
const _v2 = new THREE.Vector3(); const _v2 = new THREE.Vector3();
const _normalMatrix = new THREE.Matrix3(); const _normalMatrix = new THREE.Matrix3();
const defcolor = mesh.api.prefs.map.space.dark ? 0x00ffff : 0xff0000;
class FaceNormalsHelper extends THREE.LineSegments { class FaceNormalsHelper extends THREE.LineSegments {
constructor(object, size = opt.size || 1, color = opt.color || 0xff0000) { constructor(object, size = opt.size || 1, color = opt.color || defcolor) {
const objGeometry = object.geometry; const objGeometry = object.geometry;
const nNormals = objGeometry.attributes.position.count / 3; const nNormals = objGeometry.attributes.position.count / 3;
const geometry = new THREE.BufferGeometry(); const geometry = new THREE.BufferGeometry();
@ -205,7 +206,7 @@ let util = mesh.util = {
} }
} }
return new FaceNormalsHelper(mesh); return new FaceNormalsHelper(obj);
}, },
vertexNormals(mesh) { vertexNormals(mesh) {