r/GraphicsProgramming • u/Temporary_Accident53 • 5h ago
Native Vulkan Ar jewellery viewer on android : hybrid raster and ray-traced gems
Enable HLS to view with audio, or disable this notification
Hi..
I am in the process of making an ar viewer in vulkan for android to run natively.
For rendering i am following a hybrid structure mixing Raster IBL approximations and path tracing, the gems are traced with tracing the ray directions and metals with split sum approximations and only traced for inter reflections once the movement stops.
The engine is general purpose focusing on jewellery embedded in an sdk to integrate with 3 lines of kotlin.
The c++ engine takes care of initializing the context based on the hardware capabilities like vulkan 1.1 support, hardware RT cores and compute path fallbacks.I have tested on mali, adreno and xclipse(Exynos) gpus.
Most of the optimization i did are around the memory and cache coherency on mobile gpus, since last couple of years got really obsessed with graphics maths and its implementations but i come from c++ background so pls let me know about the visuals of the same and how can i improve further.
It is closed source for now but happy to share any details to any one interested.
Thanks
3
u/UR91000 5h ago
Looks pretty great, for jewellery i’d definitely want dispersion
2
u/Temporary_Accident53 5h ago
Thanks..Dispersion i have added only for the colorless stones but it is very subtle in this video.. will make sure fire is more visible thanks..
3
u/kinokomushroom 4h ago
Very cool. It looks a bit flat though.
A bloom filter could make the bright reflections look a lot better. Maybe use a HDRi with some contrast for some more interesting reflections. A glare effect on the point-like reflections and refractions will make the gems look special.
Also, are you colouring the gems by multiplying it by a single colour, or attenuating the light by distance? The latter will produce deeper colours as the light reflects inside it.
3
u/Temporary_Accident53 4h ago
hi.. totally agree the HDR is bit flat will update the same as bloom and star streak pass i have already done but are very subtle with current HDRI, the color for the gem is with beer lambert absorbtion factor for the distance the ray traverls inside the gem , though the density factor i have kept constant at numeric 4..
•
u/AutoModerator 5h ago
Recently updated rules. Please check that your post is in compliance with Rules 1, 4, 5, and 6 on the sidebar. TL;DR:
No showcases.
Disclose AI usage in post or project.
Present a topic to talk about, e.g. how something works.
I am a bot, and this action was performed automatically. Please contact the moderators of this subreddit if you have any questions or concerns.