ENIGMA Forums

General fluff => General ENIGMA => Topic started by: Goombert on October 23, 2013, 05:15:54 am

Title: ENIGMA Settings and OpenGL Graphics System Merge
Post by: Goombert on October 23, 2013, 05:15:54 am
I just want to prod everyones thoughts on merging OpenGL 1.1 and OpenGL 3 together into one graphics system. This can be done simply by implementing compatibility mode settings such as software vertex processing that can easily be toggled by simply switching off to vertex arrays which I can do rather easily and would eliminate having duplicate code but make our graphics system backwards compatible.

(http://oi44.tinypic.com/2metobk.jpg)
When the FFP is rewritten to GLSL/HLSL I can simply add another option to set the shader model compatibility level. What does everyone think about this?

Also, I am thinking of changing a few things around and making this ENIGMA settings a little more complete such as better layouts because right now the frames eyaml file makes it look like shit, and also adding maybe like tab support or something, because really there will be other graphics, collision, and audio settings and I think these 3 systems should each get their own tab.
Title: Re: ENIGMA Settings and OpenGL Graphics System Merge
Post by: TheExDeus on October 23, 2013, 03:23:36 pm
Differences between GL1.1 and GL3 are not so minor though. Things like batching, manual transform functions (eg., implemented with our own matrices and without using gl_translate etc.) and other things. So I think it will be easier to use and to maintain with two different versions.
Title: Re: ENIGMA Settings and OpenGL Graphics System Merge
Post by: Goombert on October 23, 2013, 11:22:42 pm
No Harri you are missing the entire point lol, the device manager classes I am writing abstract the batching and render state/binding memorization from the actual graphics system, it would simply be 30 extra lines to add the settings to the device manager, and we could wipe out a whole graphics system.
Title: Re: ENIGMA Settings and OpenGL Graphics System Merge
Post by: TheExDeus on October 24, 2013, 02:51:19 am
But that means GL1.1 will also have batching? My point was that you will end up using something that is beyond GL1.1 reach. I guess it can do batching via vertex arrays, but still. I though the whole idea was to use immediate mode in GL1.1. Anyway, do whatever. Later we will see if it works. I personally don't need GL1.1 at all, as all PC's I have tested work with GL3 just fine. But the compatibility idea wasn't bad by itself.