|
@@ -3,6 +3,18 @@
|
|
/* global THREE, threejsLessonUtils */
|
|
/* global THREE, threejsLessonUtils */
|
|
|
|
|
|
{
|
|
{
|
|
|
|
+ const darkMatcher = window.matchMedia('(prefers-color-scheme: dark)');
|
|
|
|
+ const isDarkMode = darkMatcher.matches;
|
|
|
|
+
|
|
|
|
+ const darkColors = {
|
|
|
|
+ wire: '#DDD',
|
|
|
|
+ };
|
|
|
|
+ const lightColors = {
|
|
|
|
+ wore: '#000',
|
|
|
|
+ };
|
|
|
|
+ const colors = isDarkMode ? darkColors : lightColors;
|
|
|
|
+
|
|
|
|
+
|
|
threejsLessonUtils.addDiagrams({
|
|
threejsLessonUtils.addDiagrams({
|
|
mergedCubes: {
|
|
mergedCubes: {
|
|
create() {
|
|
create() {
|
|
@@ -21,7 +33,7 @@
|
|
}
|
|
}
|
|
const mergedGeometry = THREE.BufferGeometryUtils.mergeBufferGeometries(geometries, false);
|
|
const mergedGeometry = THREE.BufferGeometryUtils.mergeBufferGeometries(geometries, false);
|
|
const material = new THREE.MeshBasicMaterial({
|
|
const material = new THREE.MeshBasicMaterial({
|
|
- color: 'black',
|
|
|
|
|
|
+ color: colors.wire,
|
|
wireframe: true,
|
|
wireframe: true,
|
|
});
|
|
});
|
|
const mesh = new THREE.Mesh(mergedGeometry, material);
|
|
const mesh = new THREE.Mesh(mergedGeometry, material);
|
|
@@ -39,7 +51,7 @@
|
|
create() {
|
|
create() {
|
|
const geometry = new THREE.BoxBufferGeometry(3, 2, 2, 3, 2, 2);
|
|
const geometry = new THREE.BoxBufferGeometry(3, 2, 2, 3, 2, 2);
|
|
const material = new THREE.MeshBasicMaterial({
|
|
const material = new THREE.MeshBasicMaterial({
|
|
- color: 'black',
|
|
|
|
|
|
+ color: colors.wire,
|
|
wireframe: true,
|
|
wireframe: true,
|
|
});
|
|
});
|
|
const mesh = new THREE.Mesh(geometry, material);
|
|
const mesh = new THREE.Mesh(geometry, material);
|