Introducing Google Codell – A new framework for 3D graphics on the web
February 22, 2022 • By Tomy • 0 Comments
As more and more devices ship with GPU acceleration, the capabilities of web browsers have increased dramatically. With that, we have seen an increasing number of games and applications become possible in the browser.
WebGL brings OpenGL ES to the web, providing a 3D API for web applications. While it’s fairly low level, WebGL is still an important part of 3D graphics on the web.
In parallel with these developments, Apple has introduced a framework called Metal to make it easier for developers to take advantage of GPUs on iOS devices. We are working to bring Metal to the open web.
To help us do this, we’ve created Google Codell – a library that allows you to write high-performance 3D graphics using Metal and run them anywhere on the web using WebAssembly.
Google Codell is written in Rust, a language specifically designed for safety and speed. It’s used at Google in many projects like Chrome, TensorFlow and now Codell. The metal crates internally use the metal-rs API which was developed by the Servo team and is now being used by other projects like Spector.
Welcome to Google Codell!
Google Codell is a new open source, free and cross-platform framework for 3D graphics on the web. It allows you to create 3D games and apps using JavaScript, WebGL and WebAssembly.
The goal of this project is to make it easy to create fast, beautiful and high-performance games and interactive experiences that can run on all types of devices (including phones and tablets).
If you are interested in contributing, please visit our GitHub repository:
https://github.com/googlecodell/googlecodell
Thank you,
Google Team
I’ve recently added support for the Google Codell 3D graphics API to Metal, and want to explain how it works and why I think it’s a great fit for the web platform.
First, I’ll describe what Codell is – it’s a new 3D graphics API that was introduced by Google at this year’s developer conference, which aims to make it easy to build 3D applications and games for the web in JavaScript.
Codell is designed to be very high level. In some ways it’s a bit like OpenGL ES: you create objects (shaders, textures, buffers, etc), then draw them using a “draw call”. But unlike OpenGL ES, in Codell you don’t have to call glVertexAttribPointer. Instead you build up your draw command with JavaScript objects (for example, if you want to draw geometry with a particular shader and texture, you pass in a JavaScript object which describes exactly what you want).
I think Codell is not just an interesting API but also an interesting idea: that 3D graphics can be made simpler by using JavaScript as a concise language for describing how we want our computer graphics APIs to work.
It’s important that this isn’t just an experiment; Google has promised its support across
Google Codell was a new way of creating 3D graphics on the web. It’s not just a framework, it’s also a new way of programming to support both 2D and 3D graphics. The first version launched in 2014 and we’re now launching Codell 2, with new features and support for the latest Android devices.
Codell is an open source framework that allows you to write 3D apps for Android and WebGL using JavaScript. Codell uses a simple declarative syntax that makes it easy to write apps from scratch or from existing code.
The Codell API is similar to other 3D libraries like ThreeJS, but includes some unique features:
* It supports both WebGL and Android as well as iOS and Windows Phone.
* The API has been designed to be simple and intuitive for developers.
* The API is built around the idea of being a “scene graph” – where you can create objects on the screen with a single function call instead of having to use multiple calls or functions.
* You can create 3D scenes using any type of shader including vertex, pixel and fragment shaders. There are also several built-in materials such as basic textures.
* The API allows you to mix and match different types of
In the beginning, there was Metal.
Metal is a low-overhead hardware-accelerated graphics and compute API for iOS, macOS, tvOS and watchOS. It enables developers to maximize the graphics and compute potential of their apps on Apple devices.
With the introduction of iOS 8 in 2014, we began to allow third-party developers to use the same low-level access that Apple’s apps use. This allowed them to get the most out of our hardware while maintaining compatibility with existing high-level frameworks such as OpenGL ES. The result was that games and other graphics intensive apps could deliver better performance without sacrificing portability across Apple platforms.
Now Google is taking a similar approach with WebGL by introducing a new low-level JavaScript API called WebGPU.
The WebGPU API is designed as an intermediate layer between a 3D engine like Unity or Unreal Engine, and the GPU itself. It provides a set of functions that enable developers to easily create rendering pipelines for their engines on top of WebGL or OpenGL ES – or even just HTML5 Canvas – without worrying about how those APIs work internally.
I’m pleased to announce that Google Code-in is back for the second year in a row! The last edition was a real success and allowed us to help 871 students between 13 and 17 years old getting involved with open source.
With Google Code-in, we have to help even more students in 2012 – we have set the bar high and set ourselves the goal of helping 1500 students this time around. To do this, we’ve worked hard to scale up the program: we’ve added new organizations so there will be more tasks available for more students, we’ve added new features like badges and activity streams, and we’re planning new ways for students to interact with mentors.
For those of you who are not familiar with Google Code-in yet: It’s an open source contest for pre-university students (13 – 17 years old) from all over the world. They can participate in many categories such as documentation, training, code, outreach/research or quality assurance by completing tasks for well-known open source organizations like Debian, GNOME Foundation or Wikimedia Foundation.
If you’re interested in what happened last year and what it’s like to be a part of Google Code-in as a mentor or student, check out our video below.
Google’s Computer Science Summer Institute is a three-week introduction to computer science (CS) for graduating high school seniors with a passion for technology — especially students from historically underrepresented groups in the field. The program aims to inspire and educate students about CS by giving them a taste of what it’s like to be an engineer at Google.
Each summer, hundreds of high school and university students travel to Google offices around the globe to take part in our flagship training programs. For the past three years, we’ve also run a program aimed at getting more high school students excited about CS: our Computer Science Summer Institute (CSSI). CSSI brings together rising seniors from all over the world to learn about programming through hands-on projects, meet Googlers and visit our offices, and take part in fun social events and activities.
In 2017, we’re expanding CSSI to two new locations: Toronto and Boulder. What makes these programs unique is that they’ll be open only to Canadian (Toronto) or U.S. (Boulder) citizens who are eligible for work authorization in their country of residence. These CSSIs will join existing programs in areas including London, New York, Seattle and Tel Aviv, which are open only to residents of
