Finding the Axis Aligned Largest Interior Rectangle in a simple polygon
This article presents a solution to the problem of finding the axis aligned largest interior rectangle inside a simple polygon. The solution is implemented using C# in Unity 3D. There’s some mathematics, some pictures, and a link to a fully working implementation.
A tale of two problems - Solving the problem of solving the problem
Often, a solution to a problem is out there - but a working implementation needs to be constructed to meet the needs of the user. Taking that solution and making it useable can be problematic itself. This article details the process involved in solving such a problem on the road to creating a working implementation.
Oculus officially transitions to Facebook
That fateful, hateful moment is here. Oculus is now Facebook.
Visualiser is alive!
Quest is missing a music visualiser - so I made one.
Fork me! Moving to a new Git client on Windows
Where did I put that file, again?
It's 2019, and XR is about to go mainstream
It’s been a busy year …
Consulting and Development
Evryway are available for consulting and development on your AR and VR projects. Talk to us at [email protected] to see how we can help you.
Mobile VR is coming of age (and not a moment too soon)
Good lord, it’s October. When did that happen? I’ve been doing some contract work since April, and that’s now finished. I’d love to talk about it, and I might do that in the near future - bits of the experience were great, but the ending wasn’t quite what I expected. As with the best stories in life, when doors shut, other doors open - it’s going to be an interesting few months. While I’ve been cranking away on other people’s stuff, many cool things have been happening. For example, Oculus just made a lot of noise about their new product, the Oculus Go which is basically an all-in-one Gear VR/Daydream type of thing.
When they met, it was murder
A tale of Tango, ARCore and ARKit
Multiple Unity Cache Servers
I’ve been promising an article that’s actually useful for a while, and something that’s been really useful for me over the last few years is the Unity Cache Server. I’ve recently set it up to work with multiple versions of Unity, so that I have different caches for each version of Unity. Care about why and how? then read on!
How Time flies
Quiet in here, innit?
Teaching through a mirror
Presenting content in VR
Year Zero wrap party
My zeroth year comes to an end.
Week 51 - Nearly there!
The dev blog is a little late this week, as Februaryitis kicked in. It’s far too cold to be sitting in my garage on a weekend typing up a blog post, and it’s been a busy one.
Week 50 - Scanner is in open beta
Evryway Scanner is now in open beta. Hurrah!
Week 49 - We become what we behold
While the world marches on towards syncopation, I’ve been heads down, preparing Scanner for open beta.
Week 48 - A Reproducible Case
This week I have been mostly replaying and occluding things.
Week 47 - Fixing through projection
This week, I’ve been looking at fixing some of the more obvious flaws with my texturing process, including through projection.
Week 46 - Mince pies and selfie scans
My first week “back at work” has been filled with consuming excess Christmas pastries and improving Evryway Scanner.
Week 45 - Happy new year!
This week - holidays! Happy 2017 to you!
Week 44 - Merry Christmas!
This week, I have been mostly doing holiday. Merry Christmas!
Week 43 - The world is a big place
This week, I’ve been shipping. 4 downloads and counting! Oh, and scanning things.
Week 42 - An overabundance of toys
42 - the answer to life, the universe, and everything. It also comes after 41.
Week 41 - It's product time
This week I’ve cleaned up the texture atlasing a little, and spend some time getting Scanner ready to show to a slightly wider audience.
Week 40 - Quality of life
Normally the big updates are all progress talk. This week there’s some of that, and some other things too!
How to build a holodeck, week 39 - Camera calibration and registration
Texturing a model from two different camera views is this week’s challenge. And it’s almost working.
How to build a holodeck, Week 38 - Kinect textured mesh
This week, I’ve been texturing up the mesh from the Kinect texture feed. I’ve also resolved a load of issues with SharpChisel’s marching cubes.
How to build a holodeck, week 37
I’ve made good progress on the networking this week - I’ve got four devices all feeding point clouds into the same data set (two Kinect cameras, two Tango tablets). They are not aligned yet - that’s one of the three remaining big chunks of work before this is a product.
How to build a holodeck, week 36
Another holiday week (love spending time with my family!) - so lots of digging on the beach, but no implementation progress. I popped in to see the Boss Alien crew and caught the afternoon of Tedx Brighton (thanks for the early birthday present, Nic). Next week, back to it!
How to build a holodeck, week 35
This week I’ve got the networking issues mostly resolved, and point clouds coming over the network from the Tango device to the PC.
How to build a holodeck, week 34
This week, I’ve done very little. Flatbuffers serialisation is working, chucking test data over the network using Flatbuffers is working, and that’s as far as I got.
How to build a holodeck, week 33
This week I’ve been figuring out how to send large chunks of stuff over the network in a maintainable fashion, which has boiled down to fighting with serialization and structure/schema definitions. Not a fun week, all told.
How to build a holodeck, Week 32
I’ve been somewhat distracted this week, but I managed to spend a couple of days getting a point cloud feed working over the network. The point cloud feed is very heavily throttled (something like 1K points a second currently) which means the results take a long time to look decent - but it’s working. Apologies for the “lots of words” update, I’ll have some cool videos next week.
How to build a holodeck, Week 31
This week - Pointclouds and preparation for networking. I’ve also been building a new PC.
How to build a holodeck, week 30
Meshing speedups and Tango upgrades, this week. even some video!
How to build a holodeck, week 29
This week, I’ve finally written my own meshing solution. Read on for details!
How to build a holodeck, week 28
My implementation of Chisel is coming along nicely. Most of the re-write work is now done - this week I’m hoping to spend a bit of time taking depth frames and point clouds from Tango and Kinect and start testing it out properly.
How to build a holodeck, week 27
Moar holiday! and a start on implementing a C# version of Chisel.
How to build a holodeck, week 26
Half a year down, and where are we?
How to build a holodeck, week 25
Another week spent enjoying the summer holiday with my family. It’s been awesome.
How to build a holodeck, week 24
More holiday! I’ve been enjoying the sun and time with the kids.
How to build a holodeck, week 23
This week - holiday!
How to build a holodeck, week 22
This week I’ve spent a tiny amount of time looking at blending between panoramas, and a big chunk of time trying to get toolchains working.
How to build a holodeck, week 21
A fun week this week! Not much implementation, lots of talking. I caught up with some friends down at Develop in Brighton on Thursday, including a quick visit to the Boss Alien Mothership. Lots of great things happening there, and lots of interesting conversations with folks about what I’ve been up to and where they think it could go.
How to build a holodeck, week 20
Not much to report this week. I’ve been cleaning up the codebase in preparation for a couple of new tools and a new approach for projecting entities in the world.
How to build a holodeck, week 19
This week has been a bust, from the point of view of progress on the holodeck. No pictures or videos until next week - sorry!
How to build a holodeck, week 18
This week, I’ve been putting my R200 scanner to use capturing human body poses, and attempting to get them to animate. Videos and stuff below, read on.
How to build a holodeck, week 17 - More Avatars
This week I’ve continued exploring Avatars, getting a rigged / skinned mesh up and running in Unity, driven by the Kinect2. I’ve also been looking further into RGB-D sensors and scanning software for facial and body capture.
How to build a holodeck, week 16 - Avatars
How does one represent themselves to the world? A tricky question, both physically and metaphorically. The apparel oft proclaims the man, according to the Bard. This week, I’ve started to explore Avatars.
How to build a holodeck, week 15
A holodeck ain’t much fun if it’s just you. Or rather, it’s loads of fun - but it’s more fun with friends! This week I’ve been looking at how to chuck stuff around the network, starting with a simple painting prototype.
Dev Blog - How to build a holodeck, week 14
Very quick one this week, as I’ve got very little work done!
Dev Blog - How to build a holodeck, week 13
I’ve always wanted to play God, and I’m a huge fan of god games. One prototype I’ve had on my list to make for a while is some form of solar system formation simulator. I’ve taken a very early stab at it this week, with some lessons learned.
Dev Blog - How to build a holodeck, week 12
I’ve spent a big chunk of this week looking at 360 video, plus I got Photon networking dropped into the Portals prototype. Videos below!
Dev Blog - How to build a holodeck, week 11
This week I’ve been enjoying the sun and the family time. I’ve also spent a little time working on a game prototype on the Vive and finished up my codebase refactor so I can spin up new prototypes quickly. Details below.
Dev Blog - How to build a holodeck, week ten
This week has been a slow one. Apologies for the late post!
Dev Blog - How to build a holodeck, week nine
Week 9 - two months in (and a few days!) It’s as good a time as any to look at goals (short and long term) and figure out what to do next.
Dev Blog - How to build a holodeck, week eight
Portals, Vive, multiplatform - what an exciting week!
Portals!
I’ve now added portals to the holodeck. You can see through them, and walk through them. Video below.
Dev Blog - How to build a holodeck, week seven
This week, I have been improving mesh capture and playing with my new Oculus Rift. Videos below!
Dev Blog - How to build a holodeck, week six
This week, I’ve been taking a well earned rest and spending time with the wife and kids. I’ve made good progress with the atlasing, but the on-device performance of textured capture is pretty slow with my current process, so some work needs to be done to split work units over frames, that sort of thing.
Dev Blog - How to build a holodeck, week five
Constructing realtime texture atlases is trickier than I expected. No videos this week, mostly because there’s nothing terribly cool to show.
Saving the world
Today, I’m intending to get the textured mesh up to a much higher quality. There’s lots of things to fix (LOTS of things). One of the key parts of this is being able to examine the mesh somewhere other than on device, so I’ve written an exporter.
Dev Blog - How to build a holodeck, week four
Capturing the world in realtime into VR? done that. How about with texture mapping? Videos below!
Realtime textured mesh capture is go!
Realtime textured mesh into VR - It’s working. Like all things @Evryway so far, it looks pretty rubbish and there’s a huge number of issues and potential improvements, but the first steps are always the most exciting. Video below!
Dev Blog - How to build a holodeck, week three
This week has been an exploration of walking around house-scale VR using Project Tango. It’s raised more questions than answers, and this is the point where the real hard work begins. I’ll briefly cover where I’m at with Cameras, UI, and the realtime environment capture work I’ve done so far.
TL;DR
House Scale VR - realtime environment capture
Today, I’ve got realtime meshing working in the Holodeck. Video below, technical details below that!
Here in my garage
Here in my garage, I have the world. No Lambourghinis (yet). Not even virtual ones.
Dev Blog - How to build a holodeck, week two
I’m wearing a VR headset. I can see stuff in the world. Where am I?
New hardware is coming
This week has seen the pending release of probably the two extremes of VR hardware. HTC’s Vive is now officially available for pre-order - and McDonalds is creating a Cardboard-a-like device using your chip holder (or fries holder, for my US visitors).
Dev Blog - How to build a holodeck, week one
Welcome to my “How to build a holodeck - follow along at home with sticky tape and scissors” dev blog. This is week one, which means we’ll be figuring out how to do this (the process) as well as how to do this (the content) as we go. I’m hoping to make this a regular thing - and that really depends on whether there’s enough readers to make it worthwhile. If you like this, share it and tell me!
Welcome to Evryway!
Evryway is experimenting with virtual and augmented reality with one primary goal - to bring you and the world closer together.