Comments (3)
Thanks for the update.
Just to give you some context about what I am doing with FlyCube.
I have ported the FlyCube low level API to ezEngine (github.com/ezEngine/ezEngine)
I have reorganized the libraries a bit:
The abstraction is now in a single lib(https://github.com/jayrulez/ezEngine/tree/flycube/Code/Engine/RHI), VK implementation is in its own lib(https://github.com/jayrulez/ezEngine/tree/flycube/Code/Engine/RHIVulkan) and DX is in its own lib(https://github.com/jayrulez/ezEngine/tree/flycube/Code/Engine/RHIDX12) as well.
The shader compiler and backend shader reflection classes are in the hlsl compiler lib(https://github.com/jayrulez/ezEngine/tree/flycube/Code/Engine/RHIShaderCompilerHLSL).
I removed shader compilation from the render api and use the hlsl compiler to compile the shaders then pass the byte code and reflection information to the shaderbase construction.
I've also removed the dependency on gli formats and added my custom format enum (https://github.com/jayrulez/ezEngine/blob/flycube/Code/Engine/RHI/RHIDLL.h#L24).
The goal here is to get Vulkan support into ezEngine without doing everything from scratch (I'm not an expert at low level graphics stuff).
I've ported the CoreTriangle sample and that works the same as it does in FlyCube with both Vulkan and DX12: https://github.com/jayrulez/ezEngine/tree/flycube/Code/Samples/RHISampleLowLevel
The high level renderer should work as well but I won't bother with that for now since you are rewriting it.
The only problem I've run into so far is resizing the window.
It behaves just the same as FlyCube though (same crash) so I'm sure it is not a porting bug.
My next step is to try to rebase the ez renderer on your abstraction.
from flycube.
The high-level abstraction layer needs rework. It is a legacy from https://github.com/andrejnau/SponzaPbr, and has some problems and limitations. I was focused on the low-level abstraction layer (https://github.com/andrejnau/FlyCube/tree/master/src/Core), now it is almost finished and I will probably start rewriting other components soon.
I will take a look at this, I just wanted to share my plans.
from flycube.
Fixed in 32e5c3f
from flycube.
Related Issues (10)
- Window resizing doesn't work for SponzaPbr demo HOT 7
- Vulkan validation errors in sample HOT 1
- Feature Request: Change VULKAN_SUPPORT from variable, to option HOT 1
- Please support MSYS2 MINGW64
- Indirect Drawing question HOT 3
- Some suggestions HOT 2
- Feature request : add DispatchMeshIndirect & DispatchRaysIndirect support HOT 6
- Crash report: Shader will compile failed when using `SV_InstanceID` with vulkan HOT 1
- Vk 1.2.170 has some error HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from flycube.