Re: Code inspiration and rendering resource
Posted: Sat Oct 27, 2018 11:44 pm
Regarding BGFX vs Forge, there are some pros and cons.
BGFX Pros:
- Supports OpenGL.
- Has a large userbase with many opensource implementations we can reference for our own use.
- Bring-your-own-engine style means it's fairly simple to drop it in place of our current OpenGL renderer.
BGFX Cons:
- No tagged releases. If something's broken in the library, you've got to play russian roulette to find another version that fixes the issue without introducing more issues.
- The build process is very complex compared to what we have - there's going to be a fair amount of work integrating into Pioneer.
- The shader abstraction isn't perfect and is terribly documented.
Now, I haven't taken a look at Forge much, but here are my impressions:
Forge Pros:
- Supports Vulkan 1.1/DX12 out of the box.
- A number of useful features are already implemented.
- Tagged releases. (need I say more?)
Forge Cons:
- No OpenGL support.
- (probably) Not as easy as BGFX to implement.
- No unified shader abstraction.
- Probably some other cons I'm missing.
Honestly, I'd almost rather just implement a new Vulkan render backend copied from BGFX or Forge, as we have pretty much everything else in place already. Nothing in BGFX or Forge is particularly useful to us, or something that we don't already have.
Given the pros and cons here, I'm leaning towards BGFX over any other implementations, unless there's a lightweight library we haven't found that satisfies our requirements.
BGFX Pros:
- Supports OpenGL.
- Has a large userbase with many opensource implementations we can reference for our own use.
- Bring-your-own-engine style means it's fairly simple to drop it in place of our current OpenGL renderer.
BGFX Cons:
- No tagged releases. If something's broken in the library, you've got to play russian roulette to find another version that fixes the issue without introducing more issues.
- The build process is very complex compared to what we have - there's going to be a fair amount of work integrating into Pioneer.
- The shader abstraction isn't perfect and is terribly documented.
Now, I haven't taken a look at Forge much, but here are my impressions:
Forge Pros:
- Supports Vulkan 1.1/DX12 out of the box.
- A number of useful features are already implemented.
- Tagged releases. (need I say more?)
Forge Cons:
- No OpenGL support.
- (probably) Not as easy as BGFX to implement.
- No unified shader abstraction.
- Probably some other cons I'm missing.
Honestly, I'd almost rather just implement a new Vulkan render backend copied from BGFX or Forge, as we have pretty much everything else in place already. Nothing in BGFX or Forge is particularly useful to us, or something that we don't already have.
Given the pros and cons here, I'm leaning towards BGFX over any other implementations, unless there's a lightweight library we haven't found that satisfies our requirements.