trungtle / tlvulkanrenderer Goto Github PK
View Code? Open in Web Editor NEWA simple Vulkan-based renderer for my master thesis on real-time transparency
License: Other
A simple Vulkan-based renderer for my master thesis on real-time transparency
License: Other
Maybe we could voxelize the space and store the light IDs that cast shadows in that voxel
This issue layouts the big picture plan for my thesis. To render transparency, I am using ray tracing. The key implementations are:
For ray tracing, I am choosing SBVH, Spatial Splits in BVH. The advantage of SBVH includes a faster traversal similar to kd-tree while maintaining the BVH structure. The leaf nodes only split when there is an overlap between two primitives' bounding boxes. SBVH is also a good candidate for collision detection if my timeline allows.
With the advantage of Vulkan's support for multithreading, these tasks should have increasing speed by off-loading work on the CPU.
The engine support glTF loading via tinygltf.
Jan - Feb: SBVH construction and ray tracing (single thread)
March: Parallelization
March - May: Start with writing the paper
We're using raw pointers everywhere. Could potentially bite us with memory leak
Possibly can speed up loading time.
Cache pipelines?
Look at https://github.com/gabime/spdlog
Right now, we generate too much unnecessary memory on the stack whenever a new leaf is created. Make sure to clean this up
CMake has more flexibilities than VS and more light-weight than uploading VS project settings files to github
Try doing this: http://www.cs.utah.edu/~awilliam/box/box.pdf
By looping through each leaf that has been modified, update its bounding box and its parents bounding boxes.
Instead calling the VulkanRenderer directly, instead implement a rendering interface. This would be extremely helpful to switch out for OpenGL or DirectX12 if we so desire in the future.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.