stefandevai / stella-engine

C++/OpenGL 2D game engine
GNU General Public License v3.0
21 stars 1 forks source link

Great Engine! #1

Open v7medz opened 6 years ago

v7medz commented 6 years ago

Greetings, I am the developer of the Nuclear Engine, I was looking forward to integrating stella-engine as a 2D Rendering framework in my engine, currently Nuclear Engine has only 3D Rendering framework and it misses a 2D one, I saw your engine design and I liked it, also stella is very compatible with Nuclear in many ways (uses EntityX and GLFW), since Nuclear have an abstracted RenderAPI "OGL & DX" interface it would be easy to integrate your engine into it, I am writing this to inform you and to check if that's ok with you before getting into any action...

Also the reason I ain't developing 2D game rendering engine from the scratch is that I want to focus on more important stuff (APIs, PhysX, 3D effects, threading, memory management and many more).

btw, proper credits will be given...

Cheers, Zlixine, Egypt.

stefandevai commented 6 years ago

Hi @zlixine !

It's totally fine, feel free to integrate the 2D renderer in your own engine.

One important note is that I've recently moved from GLFW to SDL2 in order to easily integrate the engine and the audio library with Android. The the 2D batch renderer, however, remains unchanged since then. Here's the last commit before moving to SDL2.

If you struggle to understand something in the code just ask me :)

Good luck with your engine, Stefan Devai

v7medz commented 6 years ago

Hey @stefandevai ! GLFW & SDL doesn't really matter anyway, I focus on the 2d rendering framework itself (sprites, renderable2d, renderer), also I understand 99% percent of your code except the transformations part(which I am going to take a different approach there). Cheers, Zlixine.

v7medz commented 6 years ago

May I ask what does the following code do?

if (!texture->IsCached()) { Textures.push_back(texture); texture->SetCached((float)(Textures.size() - 1)); this->TexturesBinded = false; }

and also what does Texture Caching functions do? "SetCached, IsCached".