gl_occlusion_culling
filament
gl_occlusion_culling | filament | |
---|---|---|
3 | 27 | |
511 | 17,181 | |
0.2% | 1.2% | |
4.0 | 9.8 | |
4 months ago | 2 days ago | |
C++ | C++ | |
Apache License 2.0 | Apache License 2.0 |
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.
gl_occlusion_culling
-
Occlusion Culling Dilemma
A low-latency (and frankly better) alternative to hardware occlusion queries is to make your own using indirect drawing. Simply draw a chunk's bounding box against the depth buffer and set the instance count of the indirect struct to one if any fragments are drawn. The next frame you can use these indirect commands to draw the actual chunk geometry and repeat the whole process. This has a guaranteed latency of one frame. More info here.
-
Occlusion Culling for Chunks?
One approach is to use occlusion queries, draw chunks which were visible last frame and then occlusion test the bounding volumes of chunks which weren't rendered and render the ones which pass using a shader based occlusion approach similar to this NVIDIA sample: https://github.com/nvpro-samples/gl_occlusion_culling
-
Has anyone used Intel's Masked Occlusion Culling library?
For occlusion culling, specifically, there’s this reference implementation: https://github.com/nvpro-samples/gl_occlusion_culling
filament
-
Filament – A Language for Fearless Hardware Design
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
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
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
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++)
Have you tried Filament? https://google.github.io/filament/
-
What is this C++ trick called? It looks a bit like PIMPL.
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?
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
-
OpenGL displays the color of an image different from the system color profile;
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 likethe 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
I found this issue on github https://github.com/google/filament/pull/3190/files
What are some alternatives?
CornerCulling - Fast and Maximally Accurate Occlusion Culling
android-3D-model-viewer - Android OpenGL 2.0 application to view 3D models. Published on Play Store
gl_cadscene_rendertechniques - OpenGL sample on various rendering approaches for typical CAD scenes
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
bgfx - Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
compose-samples - Official Jetpack Compose samples.
EveryCulling - This library integrates multiple culling methods into one library.
The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
rust-skia - Rust Bindings for the Skia Graphics Library
OpenSceneGraph - OpenSceneGraph git repository
ogre-next - aka ogre v2 - scene-oriented, flexible 3D C++ engine
Stride Game Engine - Stride Game Engine (formerly Xenko)