bkaradzic / bgfx

Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.
https://bkaradzic.github.io/bgfx/overview.html
BSD 2-Clause "Simplified" License
15.02k stars 1.95k forks source link

tessellation and geometry shaders #332

Open fredakilla opened 9 years ago

fredakilla commented 9 years ago

Hi, Sorry I didn't see any references to. I'd like to know if tessellation and geometry shaders are actually possible or maybe planned features ? thanks.

bkaradzic commented 9 years ago

Planned but low priority right now. Where do you need it?

fredakilla commented 9 years ago

I'm building a 3D tool (for opengl desktop win + linux) and I'm actually playing with bgfx to see if can use it as renderer, I like your implication and bgfx design and perf, bravo;) but I plan to use tessellations and geometry shaders stages for some effects and take benefit of modern gpu to do stuff like hardware smoothing/lod, extrusion, culling, imposter, displacement mapping, fur/vegetation etc... So i just want to evaluate if this framework is suited for my needs.

bkaradzic commented 9 years ago

If you're working on very specific tool you could add support easily because you can focus only on specific renderer.

In order for me to add feature I want to make sure it works everywhere or at least on most platforms in cross-platform way.

Also a lot of those things you mentioned you can achieve with existing system (some combination of compute + vertex shaders).

See also: http://www.joshbarczak.com/blog/?p=667

fredakilla commented 9 years ago

ok right, not a high priority for me too now. I'll add support locally when I need it. thanks

amerkoleci commented 9 years ago

+1 for tessellation support, would be fine to have tessellated terrain and stuff like that, geometry shaders are not so necessary right now.

bkaradzic commented 7 years ago

There is non-maintained fork with tessellation shader support. Referencing it here just as illustration: https://github.com/LSBOSS/bgfx

PathogenDavid commented 6 years ago

http://www.joshbarczak.com/blog/?p=667

Sorry for the bump, but for anyone else who stumbles across this, it seems this blog article might not be accurate anymore for modern hardware. An additional data point for an R9 290 was added since this was linked that shows the geometry shader method is about as good as the non-instanced method, and running the example on my GTX 1080 shows the geometry shader method being significantly faster than the others.