Doggo Vision, or to simulate how dogs sees


One of our goal “The Ritual” was to properly show how a dog can see. One of the ways we did this was by adding “doggo vision”. The idea was to simulate the way a dog sees the world using the many researches on the subject.

A dog’s Vision

In short, we needed to find a way to accurately show how a dog can see.

Colors

First, a key concept of “doggo vision” was the limited color range dogs can see.

In order to see, eyes have microscopic structures that line their retina. These structures are connected to neurotransmitters which, in turn, activate the part of the brain responsible for vision.

There are two types of structures: rods and cones. Rods detect light and shadows, and cones are used to detect color.

eye
Fig.1 - The retina.

Because colors are actually visible waves of different lengths, there are many types of cones that are sensitive to a very specific wavelength.

For most humans, there are three types of cones: green, red, and blue. With these types of cones, most of us can see the full spectrum of visible light (given that you’re not colorblind, that is).

Human Vision
Fig.2 - The human color spectrum.

However, most mammals are not so lucky. Most of them lack red and green cones, and usually only have two types of cones: yellow and blue. This is the case with dogs.

Dog Vision
Fig.3 - The dog color spectrum.

So, in order to simulate a dog’s vision, we’ll have to find a way to “block” the green and red lights all while keeping the yellow and blue one.

Brightness

But that’s not all. Turns out that dogs also see light differently.

Indeed, humans can discern different levels of brightness much more clearly than dogs.

Human greyscale
Fig.4 - The human greyscale.

This means that, compared to us, dogs see the world in much less contrast.

Dog greyscale
Fig.5 - The dog greyscale.

So, to properly simulate dog vision, we’ll also need to take contrast into consideration.

Visual Acuity

Finally, to properly simulate dog vision, we also need to consider dog visual acuity.

Dogs are not at the top of the food chain, so their vision is specifically geared towards survival.

This means that while dogs have better night vision and can see and track moving targets more clearly, their visual acuity is much lower than that of humans. In fact, dogs can’t see very clearly at all.

You heard right: if your dog was human, he would need glasses!

Your dog lol
Fig.6 - Dog with glasses. He seems pretty happy about it.

This is another aspect we’ll have to take into account while creating the “Dogo vision”.

Adding “Doggo Vision” to Unreal Engine

Now that we know how a dog sees the world, now we need to add that to Unreal Engine.

LUT, our savior

Filtering the colors was quite a challenge. Since colors don’t work the same on a digital screen as they do in real life, we needed to find an elegant way to simulate the absence of green and red cones all while keeping the yellow and blue light.

This is where LUT comes in.

LUT texture
Fig.7 - LUT texture.

LUTs, or Look-up Tables, are a very special type of texture that can be used to “map” colors from one color to another.

LUT application
Fig.8 - LUT being applied to an image.

They are particularly useful when color grading a video to, among other things, drastically change the mood of a scene.

So the easiest solution for our “doggo vision” was to use a LUT specifically tailored to our doggo needs.

Dog Vision, the website

While we had an action plan, there was a problem: how are we going to create our LUT?

We could use the LUT provided with Unreal which simulates deuteranopia color blindness. But, although it covers the reduced colors, it doesn’t cover the lack of contrast observed in dogs.

Enters Dog Vision.

This website relies on lots of different research to accurately calculate what dogs see in real life.

The website can take an image and alter its color, brightness, and visual acuity to simulate as closely as possible how a dog would see it.

Compare
Fig.9 - Picture of a bed through Dog Vision.

It was perfect! We only need to input a master LUT and use the output as our new LUT.

After some tweaking, we finally managed to create the perfect LUT for our game!

Blurring the picture

The last thing was to change the game’s visual acuity to match that of the dogs.

Luckily, Unreal Engine gives us a “blur” effect out of the box, so all we had to do was set it up correctly and our “Doggo Vision” was done!

Conclusion

Researching how dogs see was really fun and interesting. Most people mistakenly think that dogs only see in black and white, so learning that dogs actually see in color was really cool. With more time, maybe we could have tweaked and really found a happy middle ground between ergonomics and style for our “Doggo vision”, but overall we are quite satisfied with the result!

And don’t forget to try it out! We hope you enjoy the game as much as we do!

Get The Ritual

Leave a comment

Log in with itch.io to leave a comment.