deathkiller / jazz2

🎮 · Jazz² Resurrection: Open-source reimplementation of Jazz Jackrabbit 2
https://deat.tk/jazz2/
GNU General Public License v3.0
495 stars 18 forks source link

regarding opengl, #127

Closed FrostKnight closed 1 year ago

FrostKnight commented 1 year ago

Why is opengl's requirement in this 3.0? I don't think the original jazz jackrabbit even came close to that. I had heard somewhere you had it at 2.1.

But I just wondered what features you added that made 3.0 needed.

It would be nice to be able to play this in linux via your source code on any computer I had without such a steep requirement.

Old computer? Yes, but this is an old game. ;)

So... yeah.

Anywho, just curious more than anything what reasons you had.

deathkiller commented 1 year ago

The original Jazz Jackrabbit 2 is using DirectDraw without GPU acceleration, but this is modern game that supports current platforms and it allows to have higher FPS with better graphical effects.

The main reason is that OpenGL 3.0 is already 15 years old (so it's a miracle that I still support it). Before v1.0.0 Jazz² Resurrection used OpenGL 2.1, but it was written in C# and used a completely different engine, the biggest problem was that I had to maintain 2 versions of each shader - one for OpenGL 2.1 and one for OpenGL ES 3.0 (for mobile devices), which led to situations where I didn't want to change anything at all in the shaders to avoid breaking anything. I think it doesn't work on OpenGL 2.1 mainly because of the unified shaders which probably doesn't compile on 2.1, but I can't test it, because I don't have any GPU that supports only 2.1.

So basically the main reason it that OpenGL 2.1 is too old to support.

FrostKnight commented 1 year ago

Ahhh okay, I hadn't realized that your reasoning was that important.

Well in any case, that is still good information to know. Thank you. Will close. Open if you feel the need ofc.