diff --git a/_drafts/outlines.md b/_drafts/outlines.md
new file mode 100644
index 0000000..b04a40d
--- /dev/null
+++ b/_drafts/outlines.md
@@ -0,0 +1,32 @@
+---
+title: Outlines
+excerpt: |
+
+
+head: |
+
+
+
+
+layout: post
+hide_image: true # Only use this image for static previews
+image:
+alt: A render of a 3D printed shelf sitting above a shaver outlet, it spins slowly.
+---
+
+
+
+
+
+Hey look, threeJS!
+
+
+
+
\ No newline at end of file
diff --git a/_drafts/scans.md b/_drafts/scans.md
index 67daf4f..7ddaf55 100644
--- a/_drafts/scans.md
+++ b/_drafts/scans.md
@@ -6,10 +6,26 @@ layout: post
hide_image: true # Only use this image for static previews
image: /assets/blog/toothbrush_shelf/spin.gif
alt: A render of a 3D printed shelf sitting above a shaver outlet, it spins slowly.
+
+head: |
+
+
+
+
+
---
+
+
+
Done with the lidar scanner on an Ipad.
diff --git a/_drafts/vasegen.md b/_drafts/three_js.md
similarity index 60%
rename from _drafts/vasegen.md
rename to _drafts/three_js.md
index 209f071..b5907f2 100644
--- a/_drafts/vasegen.md
+++ b/_drafts/three_js.md
@@ -1,5 +1,5 @@
---
-title: Vase Generator
+title: THREE.js
excerpt: |
@@ -42,6 +42,7 @@ want to port code from https://github.com/TomHodson/VaseExtruder
const scene = new THREE.Scene();
scene.background = new THREE.Color(background_color);
const camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );
+ camera.position.z = 100;
const canvas = document.getElementById("threejs");
const renderer = new THREE.WebGLRenderer({canvas: canvas, antialias: true, powerPreference: "low-power"});
@@ -57,17 +58,61 @@ want to port code from https://github.com/TomHodson/VaseExtruder
const dracoLoader = new DRACOLoader();
dracoLoader.setDecoderPath( 'jsm/libs/draco/gltf/' );
+ const onWindowResize = () => {
+ camera.aspect = window.innerWidth / window.innerHeight;
+ camera.updateProjectionMatrix();
+ renderer.setSize(window.innerWidth, window.innerHeight);
+ }
+
const loader = new GLTFLoader();
loader.setDRACOLoader( dracoLoader );
- loader.load( '/assets/blog/shelves/model/shelves.glb', function ( gltf ) {
-
+ loader.load( '/assets/projects/bike_lights/model/untitled.glb', function ( gltf ) {
const model = gltf.scene;
+ console.log(model);
+
+ // traverse the scene and make modifications if necessary
+ model.traverse((o) => {
+ if (o.isMesh) {
+ const flat_material = new THREE.MeshBasicMaterial( {
+ color: 0xffffff,
+ polygonOffset: true,
+ polygonOffsetFactor: 1, // positive value pushes polygon further away
+ polygonOffsetUnits: 1
+ } );
+
+ o.material = flat_material;
+ scene.add(o);
+
+ // const flat_model = new THREE.LineSegments( o.geometry, flat_material);
+ // scene.add(flat_model);
+
+ const thresholdAngle = 10;
+ const wireframe_geometry = new THREE.EdgesGeometry(o.geometry, thresholdAngle);
+
+ const line = new THREE.LineSegments(wireframe_geometry);
+ line.material.color.setHex(0x000000);
+ line.scale.set(10,10,10)
+ scene.add(line);
+
+ // const line_material = new THREE.LineBasicMaterial( { color: 0x000000 } );
+ // const wireframe_model = new THREE.LineSegments( wireframe_geometry, line_material);
+ // wireframe_model.scale.set(10,10,10);
+ // scene.add(wireframe_model);
+
+ }
+ });
+
+
+
// model.position.set( 1, 1, 0 );
- model.scale.set( 1, 1, 1 );
- scene.add( model );
+ // model.scale.set( 1, 1, 1 );
+ // scene.add( model );
animate();
+ // Add listener for window resize.
+ window.addEventListener('resize', onWindowResize, false);
+
}, undefined, function ( e ) {
console.error( e );
@@ -79,8 +124,6 @@ want to port code from https://github.com/TomHodson/VaseExtruder
// const cube = new THREE.Mesh( geometry, material );
// scene.add( cube );
- camera.position.z = 5;
-
function animate() {
requestAnimationFrame( animate );