filament VS SPIRV-Cross

Compare filament vs SPIRV-Cross and see what are their differences.

filament

Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2 (by google)

SPIRV-Cross

SPIRV-Cross is a practical tool and library for performing reflection on SPIR-V and disassembling SPIR-V back to high level languages. (by KhronosGroup)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
filament SPIRV-Cross
27 10
17,052 1,904
1.1% 1.8%
9.8 9.0
5 days ago 15 days ago
C++ GLSL
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

filament

Posts with mentions or reviews of filament. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-04.
  • Filament – A Language for Fearless Hardware Design
    3 projects | news.ycombinator.com | 4 Mar 2024
    Also: Filament is a real-time physically-based renderer written in C++. It is mobile-first, but also multi-platform.

    https://google.github.io/filament/

  • Looking for resources / mentor
    3 projects | /r/vulkan | 13 Jun 2023
    Also beginner here, I think you can learn other's codes to get a better understanding of the API by learning how others can abstract these concept into higher level. They're many great projects out there like Google's pbr renderer filament https://github.com/google/filament, AMD's gltf sample https://github.com/GPUOpen-LibrariesAndSDKs/glTFSample and also as many suggested, the Sascha Willems's repos https://github.com/SaschaWillems and the official sample https://github.com/KhronosGroup/Vulkan-Samples
  • Flutter and Apple Vision Pro
    3 projects | /r/FlutterDev | 7 Jun 2023
    In the Flame discussions page, there is a request for 3D, and Flame developers write that they will be happy to start working on support once when Impeller is stable on most major platforms. So what can the community do? 1) Create discussion topics, just like these posts. Or in other discussion forums. 2) Learn about Impeller, Filament, Flame, and Flutter and be willing to contribute to their development. 3) Join Flame now and try to do something or contribute. 4) Study the implementation of Flutter 3D, and try to do something together with ARCore or ARKit plugins.
  • Appleseed – open-source, physically-based global illumination rendering engine
    3 projects | news.ycombinator.com | 15 Apr 2023
    Anyone know much about how this compares to Filament by Google?

    https://github.com/google/filament

  • Searching for Reliable Cross-Platform Rendering Framework (C/C++)
    5 projects | /r/gamedev | 19 Jan 2023
    Have you tried Filament? https://google.github.io/filament/
  • What is this C++ trick called? It looks a bit like PIMPL.
    1 project | /r/cpp_questions | 2 Oct 2022
    I was looking through the Google Filament repo and I noticed that the classes in include/filament use a trick I haven't seen before that hide implementation details similar to PIMPL.
  • Why aren't there constantly more shading languages popping up all the time like other languages?
    12 projects | /r/GraphicsProgramming | 11 Aug 2022
    There are a handful of other examples out there of high-level shading languages - Cg (long deprecated), whatever Filament Material system uses (example), and various GLSL preprocessors (example).
  • Fence callback system
    1 project | /r/vulkan | 6 Aug 2022
  • OpenGL displays the color of an image different from the system color profile;
    1 project | /r/opengl | 3 Aug 2022
    I'm loading a texture using OpenGL enjoy this glTexImage2D( GL_TEXTURE_2D, 0, GL_RGBA, texture.width, texture.height, 0, GL_RGBA, GL_UNSIGNED_BYTE, texture.pixels.data()); The issue is that the color of the image looks different from the one I see when I open the file on the system image viewer. On the screenshot you can see the yellow on the face displayed on the system image viewer has the color #FEDE57 but the one that is displayed in the OpenGL window is #FEE262 Is there any flag or format I could use to match the same color calibration? Displaying this same image as a Vulkan texture looks fine, so I can discard there is not an issue in how I load the image data. [EDIT] In the end it seems like‏‏‎‏‏‎‏‏‎‏‏‎­the framebuffer in OpenGL doesn't gets color corrected, so you have to tell the OS to do it for you #include void prepareNativeWindow(SDL_Window *sdlWindow) { SDL_SysWMinfo wmi; SDL_VERSION(&wmi.version); SDL_GetWindowWMInfo(sdlWindow, &wmi); NSWindow *win = wmi.info.cocoa.window; [win setColorSpace:[NSColorSpace sRGBColorSpace]]; } I found this solution here https://github.com/google/filament/blob/main/libs/filamentapp/src/NativeWindowHelperCocoa.mm https://preview.redd.it/2td3rs19p4f71.jpg?width=1476&format=pjpg&auto=webp&s=454d4e554d47e3a4e11a16c938304f1125ed7622
  • Weird Vulkan Bug
    1 project | /r/vulkan | 20 Jun 2022
    I found this issue on github https://github.com/google/filament/pull/3190/files

SPIRV-Cross

Posts with mentions or reviews of SPIRV-Cross. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-08-11.

What are some alternatives?

When comparing filament and SPIRV-Cross you can also consider the following projects:

android-3D-model-viewer - Android OpenGL 2.0 application to view 3D models. Published on Play Store

rust-gpu - 🐉 Making Rust a first-class language and ecosystem for GPU shaders 🚧

THREE.js-PathTracing-Renderer - Real-time PathTracing with global illumination and progressive rendering, all on top of the Three.js WebGL framework. Click here for Live Demo: https://erichlof.github.io/THREE.js-PathTracing-Renderer/Geometry_Showcase.html

naga - Universal shader translation in Rust

compose-samples - Official Jetpack Compose samples.

SPIRV-Reflect - SPIRV-Reflect is a lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode in Vulkan applications.

The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2

glslang - Khronos-reference front end for GLSL/ESSL, partial front end for HLSL, and a SPIR-V generator.

rust-skia - Rust Bindings for the Skia Graphics Library

shaderc - A collection of tools, libraries, and tests for Vulkan shader compilation.

OpenSceneGraph - OpenSceneGraph git repository

rivi-loader - Vulkan Compute program loader in Rust