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.06k stars 1.94k forks source link

Question: evaluating bgfx - potential future roadblocks I should be aware of? #270

Closed axefrog closed 9 years ago

axefrog commented 9 years ago

This library looks really good from the brief analysis I've done so far. I'm going to dive in and have a play with it to see what I can discover. Is there anything I should be aware of, in terms of new or cutting edge rendering techniques, when I get into advanced territory, which is just not going to be practical with bgfx? I guess what I'm asking is whether there are any significant limitations that I may encounter if I try to do anything advanced in the future.

bkaradzic commented 9 years ago

Depends what you want to do. What are considering "advanced territory", are you talking about R&D or something else?

axefrog commented 9 years ago

I'm still learning a lot of stuff and have avoided engines like Unity and UE4 because learning fundamentals is important to me, but I've still been using a lot of libraries in my code to cover areas I don't care too much about doing myself. I like what I've seen of bgfx because it looks like it abstracts away the need to mess around with cross platform code, but still leaves me with the responsibility of doing the real rendering work, which means I don't miss out on the opportunity to learn different rendering techniques myself.

So, when I say "advanced", I guess I mean that as I progress, I am going to want to move towards physically-based rendering and advanced lighting in general. I have a particular interest in "procedural generation of everything", which means I would be wanting to dynamically construct shaders, meshes, textures and so forth while the game is running, and do so frequently.

So, from that perspective I was wondering if your library has any relevant limitations that I should be aware of, or if it's really pretty up to me how far I want to go. I'm guessing it's the latter, which is fantastic because it means I can pick up bgfx and run with it.

bkaradzic commented 9 years ago

Yeah, I think you won't run into any limitations, except maybe shader generation, which you would run into anyway with whatever you used. Also development continues so by the time you're catching up with existing features there will be new ones added.

dgu123 commented 9 years ago

Hello everyone, I am in a similar case here , i avoided all engine for now to understand what i am doing and be free. The architecture of BGFX is quite clear, and efficient , i don't know if bkaradzic is a robot , he is always online to answer question!!!!.I think that it does matter to put effort in the community to improve tooling and correction for good framework and renderer , everyone is winning something. I decided to go with it with one game i am doing here and i am quite happy. it s just work.

david http://neurongrid.com/

axefrog commented 9 years ago

Thanks, I do have one question actually; I am using the PhysFS library in my code in order to abstract away file system and archive concerns, and I really like it so far. The only thing is that it means I need to take care of reading files myself. Does bgfx have any interfaces which expect to load files internally? Loading fonts and images is a good example. Or are all interfaces designed so that I can just point to memory?

bkaradzic commented 9 years ago

There is nothing in bgfx library that operates on files, just memory, see here: https://github.com/bkaradzic/bgfx/blob/master/include/bgfx.h

Example harness does operate on files but that part is not required to use library, it's just for examples.

axefrog commented 9 years ago

Ok thanks!