Filament is a physically based rendering engine for Android, Windows, Linux and macOS
Rendering engine without 3d modelling software it’s useless
A real time physically-based render engine with an Apache license is far far from useless. Potentially lots of interesting stuff in there to learn from and/or steal. Check out all the Blender monkeys in the docs!
Quiet in the peanut gallery!
This engine is used in Sceneform, for developers to create AR content for Android.
It could be used in other software as well, but I’d like to point out that it has very nice documentation which is pretty good teaching material.
While it is nice that the engine is Open Source, I am skeptical of Google having a long term commitment to the project when looking at their track record.
In many cases, Google will drop or deprecate a project after a few years unless it shows itself to be a huge revenue generator (does anyone of any recent stories related to Google Fiber, Sketchup, ect…)? They’re even dropping their music product in favor of starting over.
Wow, even with some sections still being written, that documentation is easily the best, most accessible explanation of some of the principles of PBR I’ve ever come across. This will be an invaluable resource to researchers and programmers.
It s an documentation you can t stop reading until finished.
I’m not so sure …
consider that the hardware / future is turning towards realtime rendering …
and the next step forward is on internet is simulate “realistic” virtual worlds …
certainly knowing google is all to see, it is his way of dealing with new projects with his eternal “beta” … and if they do not go aside them … but usually changes the skills gained in new types of projects …
Filament is Google’s real-time physically based rendering engine that supports Android along with Linux and all other major platforms, including a target for WebAssembly+WebGL. Filament 1.2.0 was released on Tuesday as the latest step forward for this PBR rendering engine.
(ps … in the official site there is Suzanne rendered in real time in the browser as if it were an image)
https://google.github.io/filament/
prideout released this on 24 Apr · 425 commits to master since this release
This release is motivated by a need to update npm, which was last updated in December 2018 with
v1.1.0. Some of the changes since then:Features
Materials
- Added
getWorldFromClipMatrix()API- Added
flipUVproperty to enable/disable UV Y coordinate flipping- Added
curvatureToRoughnessproperty for specular anti-aliasing- Added
limitOverInterpolationproperty for specular anti-aliasing- Use
getUserTime()to get the current time in seconds. SeeRenderer::resetUserTime()for more informationTools
- New
glslminifiertool to reduce the size of built-in GLSL shadersmatcfeatures are now part oflibfilamatto generate materials at runtimeresgentool to embed data in binaries (pre-compiled materials, etc.)Engine
- VertexBuffer builder
normalized()method now accepts a booleanView::setFrontFaceWindingInvertedcan be used to change the winding order of front faces. This is useful for mirrored rendering (reflections, etc.)- Added
View::setRenderQualityAPI. It currently allows the use of anR11G11B10FHDR color buffer instead ofRGB[A]16F- Added the ability to set the polygon offset on a material instance
- Added API to compute tangent frame from vertex data (in
VertexBuffer)Samples
snorm16UVs if UVs are in the range-1..1- New webpack/TypeScript demos
- Added
gltf_viewersampleEnhancements
Engine
- Exposed tangent utility to Java/Kotlin
- Allow mutation of non-direct buffers in Java/JNI
- FrameGraph is now enabled internally
- Improved render target management
- Added
addEntitiestoScene- Windows debug libraries are now part of the distribution
- Add new queries to
TransformManagerandScene- Mipmaps are now generated using the GPU for both Vulkan and OpenGL
- Improved job system performance, especially under contention
- Removed obsolete documentation about static lights
- Improved skinning memory usage
- Improved job system performance
- Set CPU affinity on job system threads on Android to avoid core hopping/cache thrashing
- Froxelization now runs during the shadow pass for improved parallelism
- Lights culling is now parallelized with renderables culling
- Various performance and code size optimizations
- Use compile-time hashing in
StaticString- The JavaScript API now supports compressed textures
- Disabled depth prepass in the WebGL builds
Web
- Added more JavaScript bindings
- Added more TypeScript annotations
Android
- Upgraded samples to Android Studio 3.3 and Kotlin 1.3.10
- Improved rendering to TextureView
- API level requirement on Android was lowered from 24 to 21
- Reduced the size of the release AAR by ~150 KiB
UiHelpercan now create transparent render targets- Added a transparent render target demo
Vulkan
- Added support for RGB textures
Rendering
- Replace Cloth DFG approximation with DFG LUT
- Add
clearCoatIorChangeproperty to materials- Continued to improve Metal support
- Always recenter the world origin to the camera position (improves precision)
- Enable the FrameGraph for post-processing
- Add an option to turn dithering on/off
- Implemented blit in Vulkan
- Simplified command buffer management in Vulkan
- Progress on Metal backend
Tools
- Introduce
MATERIAL_VERSION( this breaks older Materials )- Cleaned-up and simplified
filabridgeandfilaflat- New
gltfiolibrary to more easily support gltf- API change: rename matrix factory functions
- New
ibllibrary split fromcmgen- The
filamatlibrary is now available as a library to generate materials at runtime- Improved linear to sRGB conversion functions
- Improved skygen rendering
- Added 4 channel versions of image operations
- Filamesh now generates dummy UV sets when necessary
Build
- Android standalone toolchains are not longer necessary
- Linux CI builds are now compiled with clang 7.0 instead of clang 5.0
Materials
- Shader optimizations are now on by default
- Shader optimizations can now be applied to materials that use external textures
- Use smol-v to compress SPIR-V shaders
Here are a few sample materials rendered with Filament:
demo realtime on browser…
https://google.github.io/filament/webgl/
I wonder why they put the disclaimer at the bottom, I guess if it’s now open source anything could go with the code 
"Disclaimer
This is not an officially supported Google product."






