Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • SystemReady Certification
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Graphics, Gaming, and VR blog CyberCook - Rendering Realistic Food on Mobile GPUs
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
  • gaming
  • Mali
  • food
  • cybercook
  • liverpool
  • graphics
  • photo_realistic_graphics
  • virtual_reality
  • starship
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

CyberCook - Rendering Realistic Food on Mobile GPUs

Jason Chown
Jason Chown
August 19, 2015
4 minute read time.

Starship was formed to use our extensive experience developing software for games & simulations and apply it to market segments that hadn’t yet been exposed to the transformative power of digital technology.

One of the markets we quickly identified was cooking: people are obsessed with celebrity chefs, cooking shows and recipe books, but they haven’t really taken advantage of the latest software features when transferring across to the app space - most recipe apps are, at best, a glorified PDF, and cooking games are rendered in a cartoon style. We were sure we could do a lot better than that!

Our primary technical worry, though, was the steep “uncanny valley” drop off. Just like when looking at human faces, the brain has evolved to be able to spot fake/bad food a mile off. If we wanted realism, it wouldn’t be computationally cheap. On the plus side, our initial UX experiments immediately found the fun: on tablet devices where we can be tactile and the size format closes matches the pan & plates we wanted to represent.

CyberCook's objective then was to achieve a realistic 3D simulation of how food looks and behaves, all while running on tablet (and mobile) hardware at 30fps.

TeriyakiSalmon_PlateUp_02_small.jpg

In general, food has pretty similar requirements to human skin to look realistic, which meant we could use the plentiful skin shading research as a reference. As we found, translucency, subsurface scattering, energy conserving BRDFs, IBL reflections, linear lighting and depth of field are all required to render believable food, while being quite a tall order for the mobile GPUs at the time of development.

A physically based solution would have been the ideal choice, but we couldn't afford it on mobile. we opted instead for a physically inspired solution, carefully testing which features made the most difference to the end results and letting go of the energy conserving requirement outside of the main BRDF.

The base intuition we took from our preliminary research on the task was that Depth of Field and Linear lighting are essential to the perception of skin and organic materials as realistic. The typical gamma falloff is ingrained in our mind, after a couple of decades of 3D games, and it screams "I'm fake".

BeefBlackBeanPeppers_04_small.jpg

Starship graphics programmer Claudia Doppioslash (doppioslash) had the tricky job of picking the right techniques that would enable the artists to create the assets they needed:

"Linear lighting is not available for mobile in Unity, so we had to implement it from scratch. While it's a simple matter of making sure all your textures and colours inputs are wrapped in a pow(<colour>, 2.2) and having a full screen effect that sets it back to gamma at the end, it's also fiddly, takes up computing power and it was confusing for the artists. At that time full screen effects were not supported on Unity's scene view, so they had to edit the scene in gamma, while taking care to preview their work in a game camera with the full screen effect on.

Depth of Field, while being an expensive full screen effect we paid for in performance, really helped the perception of the image as having been taken from a real camera belonging to a tv cooking show or a professional food photographer. Our artists researched extensively the look of food photography to apply it to CyberCook."

PenneCarbonara_PlateUp_01_small.jpg

"The choice of BRDFs was at the heart of achieving realism. We know the Blinn-Phong look all too well and have associated it with video games. The moment you see it your brain is subconsciously reminded that you are looking at a game. It's especially bad for organic matter and it wasn't much good as a simulation of the food being coated in oil, either.

We relegated it to be used for non-organic, non-metallic materials in the kitchen environment. The main specular BRDF used for food, metal, and wood is an energy conserving Cook-Torrance with a GGX distribution. It can give the soft quality necessary to believe that something is organic and also the smooth one necessary for the metal objects, and is, all in all, a very flexible BRDF."

SweetChilliChickenCashew_small.jpg

"We also used the anisotropic Ashikhmin-Shirley BRDF for the oil coating specular on the food and for the most important metal objects, such as the pan and the hob. The food oil coating was a ripe ground for experiments, as it's not a problem many games have. Ashikhmin-Shirley is expensive but the results are miles away from the alternatives.

Having different BRDFs made it hard to achieve IBL coherent with the lighting of the scene. We used the technique in the Black Ops 2014 Siggraph presentation [1], but it was meant to be used with Blinn-Phong as a distribution. Nevertheless it worked well enough for our requirements.

Last but not least, we used a number of diffuse BRDFs: Phong, of course, then Oren-Nayar was used for some vegetables which didn't look good enough with Phong. Our implementation of Subsurface Scattering follows Penner's pre-integrated skin shading 2011 Siggraph talk [2].

We were forced by the complexity of how prawns look in real life to implement a very approximated translucency effect inspired by the DICE 2011 GDC talk [3]."

[1] Getting More Physical in Call of Duty: Black Ops II

[2] Eric Penner's Pre-Integrated Skin Shading

[3] Approximating Translucency for a Fast, Cheap and Convincing Subsurface Scattering Look

Anonymous
  • Ryan Booth
    Ryan Booth over 8 years ago

    The food looks so realistic I'm actually hungry for a Chinese sweet and sour curry now!

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
Graphics, Gaming, and VR blog
  • Arm Mobile Studio 2023.4 now available

    Julie Gaskin
    Julie Gaskin
    It’s been another busy summer in our profiling tools team, culminating in the release of Arm Mobile Studio 2023.4 at the start of October.
    • November 3, 2023
  • More speed with Arm Mobile Studio 2023.1

    Julie Gaskin
    Julie Gaskin
    What's new in Arm Mobile Studio? Here's a round-up of the latest improvements we've made to our free profiling tools for Android.
    • May 12, 2023
  • Yet more ASTC compression

    Peter Harris
    Peter Harris
    This blog explains the performance and quality benefits that developers can expect if they switch to the latest astcenc 4.4 compressor release.
    • April 24, 2023