vkDOOM3
filament
Our great sponsors
vkDOOM3 | filament | |
---|---|---|
5 | 27 | |
784 | 17,052 | |
- | 1.1% | |
0.0 | 9.8 | |
11 months ago | 6 days ago | |
C++ | C++ | |
GNU General Public License v3.0 only | 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.
vkDOOM3
-
Vulkan Tutorial (Rust)
For me, it was "I Am Graphics And So Can You" [1] series, where author progresses from the similar concepts up to a working renderer for DOOM 3, linked in the intro of this article [2].
[1]: https://www.fasterthan.life/blog/2017/7/11/i-am-graphics-and...
-
What are the relevant use cases of WebGPU vs Vulkan?
Many of the vulkan presentations Kronos has given talk about this (especially the older ones), though they are also light on examples. Best specific example was the ID tech guys porting doom 3 to vulkan (I believe this may be the repo? https://github.com/DustinHLand/vkDOOM3) which they have given talks about
-
Gaming has gotten so far but they still can't fix the cape
People can look at what's involved in the various game engines that have source available, for example this seems to be the Doom3/vkDoom3 collision detection code (UE5 has a bunch if you search for "collision"), and it's not simple to handle it. That was before (2004) nvidia even started trying to do hair/fabric as bleeding edge tech demos (geforce 5 or 6 IIRC)
-
Developers praise the Steam Deck: 'It just works, for real'
I'm not a graphics programmer, but I've found these two resources to be illuminating: "How hard is Vulkan really? from GDC 2018", and id's comments in 2016 that Xbox does not use the same code paths as desktop D3D. The fellow giving the first presentation converted Doom 3 to Vulkan by himself as a starter project while on parental leave.
-
Upcoming GZDoom-powered FPS Selaco shows off the 'AI Response System'
O3DE, the open-sourced version of Amazon Lumberyard, could, if for some reason id Tech 4 with Vulkan couldn't.
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.
-
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?
-
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?
fhDOOM - Modernized DOOM3/idTech4 engine: ported to modern OpenGL (core profile), enhanced visual effects, improved performance, improved editor, more to come
android-3D-model-viewer - Android OpenGL 2.0 application to view 3D models. Published on Play Store
o3de - Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.
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
Q-Zandronum - A Zandronum 3.0 fork with improved netcode, configurable movement and many small tweaks
compose-samples - Official Jetpack Compose samples.
dhewm3 - dhewm 3 main repository
The-Forge - The Forge Cross-Platform Rendering Framework PC Windows, Steamdeck (native), Ray Tracing, macOS / iOS, Android, XBOX, PS4, PS5, Switch, Quest 2
UnrealEngine
rust-skia - Rust Bindings for the Skia Graphics Library
3d-game-shaders-for-beginners - 🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.
OpenSceneGraph - OpenSceneGraph git repository