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
function set_darkmode(dark) {
let { prefs } = mesh.api;
let { prefs, selection, model } = mesh.api;
let { sky, platform } = moto.Space;
prefs.map.space.dark = dark;
if (dark) {
mesh.material.wireframe.color.set(0xeeeeee);
} else {
@ -481,7 +482,9 @@ function set_darkmode(dark) {
colorMinor: 0xeeeeee,
},
});
prefs.map.space.dark = dark;
for (let m of model.list()) {
m.normals({ refresh: true });
}
prefs.save();
}

View file

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