Minimalist 3D engine for C/C++?

Started by
10 comments, last by vinnyvicious 8 years, 7 months ago

I've discovered this amazing engine written in Rust a few days ago: https://github.com/sebcrozet/kiss3d

It's simple, but without making you lose your time and your sanity (like bgfx does). And it's powerful, without making you vomit by too many features (like Ogre). Does anyone know any engine with a similar philosophy in the C and C++ world?

Advertisement

Maybe http://irrlicht.sourceforge.net It has alot of features but IIRC it's very simple at heart. AABB for culling, simple way to extend the engine. It's been a while since I looked at it but it seemed straight forward way back when.

-potential energy is easily made kinetic-

Maybe http://urho3d.github.io/ might fit in there, although it is game engine and it does have some features, so it is not the most minimalist out there.

IMHO, both Urho and Irrlicht don't apply. They do too much. They full-blown physics stuff, or integrations with huge libraries. I wanted something small, with minimal dependencies (the basics, like GLFW or stb)

I don't think you are going to find what you are looking for. Those are pretty much standard features in any engine. Why is this so much of a concern? Is it the total code size or the programming effort required? If it is the latter, then choose any engine available to you and don't use the features you do not want or need. If it is the former, why is this important to you?

IMHO, both Urho and Irrlicht don't apply. They do too much. They full-blown physics stuff, or integrations with huge libraries. I wanted something small, with minimal dependencies (the basics, like GLFW or stb)

Seems like you know already that you don't want an engine?
Just use those welldesigned, streamlined libraries like GLFW+glad+glm+STB+... and be happy?

I've been throwing around the idea of writing a "Low-level Graphics Abstraction Layer" for a while now. Effectively a minimal wrapper that abstracts over OpenGL, DX 12, and Metal (and Vulkan, in the future).

The idea is that a lot of us like working with fairly low-level graphics, rather than full-blown game engines. But at the same time, nobody likes figuring out how to load up a vertex buffer for the Nth time, and very few people have the necessary background to design for multiple platforms and graphics APIs at the same time.

The core functionality would encompass a render queue abstraction, a cross-compiler to convert HLSL shaders to the shader language of each API, and an abstraction of data sources/sinks (covering textures and various other types of buffers).

Unfortunately, I haven't found the time to hunt down the necessary collaborators, and get this thing off the ground...

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

I'm writing one of those, but it's not open source (yet) :(

My engine is written inclean layers, so if you want to ignore the physics and scene managers, and just use the render abstraction, then you can.


IMHO, both Urho and Irrlicht don't apply.


My engine is written inclean layers, so if you want to ignore the physics and scene managers, and just use the render abstraction, then you can.

This is why I suggested Irrlicht, when I had looked at it along time ago the author implemented everything on his own. From my look at the source it was very modular and easy to get into. If you have time look over the irrlicht source and the custom scene node tutorial, do it, it was pretty straight forward to me.

-potential energy is easily made kinetic-

I'm writing one of those, but it's not open source (yet) sad.png

who is not doing that? tongue.png

My engine is written inclean layers, so if you want to ignore the physics and scene managers, and just use the render abstraction, then you can.

sounds like you follow all the useful hints we've given you in gamedev ;)

(sorry, I have a funny minute)

This topic is closed to new replies.

Advertisement