Skip to main content
GameDev.net gamedev.net
🔒 Locked

Minimalist 3D engine for C/C++?

Started by vinnyvicious Sep 12, 2015 at 11:19 PM 10 replies 21.7k views
Original Post
vinnyvicious
vinnyvicious

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?

Infinisearch
Infinisearch

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-
Mekamani
Mekamani

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.

vinnyvicious
vinnyvicious

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)

MarkS_
MarkS_

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?

wintertime
wintertime

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?
swiftcoder
swiftcoder

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]
Hodgman
Hodgman
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.
Infinisearch
Infinisearch




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-
Krypt0n
Krypt0n

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)
swiftcoder
swiftcoder




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.

IrrLicht was already showing it's age when I started writing engines, and that's more than a decade ago.

The intervening years have not been any kinder to it, from what I can see of the API docs.

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

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.