Alas & with regret I am going to finally concede defeat upon this.
[...]
Bit what the heck! It's been fun and educational. Keeps me out of the pub. If nothing else I have learnt a metric tonne or two of stuff about 'requirements analysis' ! :-)
Darn but still Cheers, Mike.
Long time no see! What exactly are you referring to above? OpenGL ES or your whole >5-year (!) endeavour? I hope it's not about the latter - we still want to see an official/endorsed release of your "baby"! No offence to your son :-) Yes, sometimes the journey is more important than the actual goal but, hey, this baby deserves some exposure...
Best,
Oliver
Hi Oliver ! Yup, life just be zooming along ... :-) :-)
Well, I was referring to the whole thing. But now I feel a bit silly, having slept on it. I guess all I need to do is toss the ES stuff and those platform supports. [ For now in any case. ]
On reflection : the simplest approach would be to even better isolate the components/units which have the 'hard' OpenGL dependencies and stick them behind a ( thin ) abstractive layer aka standard OOP. I reckon I've almost nearly got that anyway, maybe I have got stuck in 'thinking implementation' and forgot to come back up a design level, or two, for a fresh look. Now that I know more of the difficulties. The issue I would call 'granularity of hardware addressing' ( there's probably a better formal phrase ) ie. to what degree of virtualisation is the hardware revealed from the viewpoint of the main 'business rules' code ?
I can do, indeed have done much of, the forward compatible Windoze/Linux/later-Mac support ie. desktops. Yeah that will do. I'll take a deep breath and plow back into it then ! :-)
Cheers, Mike.
( edit ) So I guess shifting ground is pretty normal in Professional Software Writing Land ...
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
Now in step-back, wide-view mode. Browsing around. Relaxing. Smiling. Doing a rethink. Thinking out loud. Now here's some things.
- first get a better info source. I've found one to grasp the shifting sands better and go with that. Here is one from three Khronos Group developers ie. they helped write the API : OpenGL ES 2.0 Programming Guide.
- within which I note a crucial paragraph ( my red emphasis highlighting my goal) :
Quote:
Removing redundancy was an important goal, but maintaining compatibility with OpenGL was also important. As much as possible, OpenGL ES was designed such that applications that were written to the embedded subset of functionality in OpenGL would also run on OpenGL ES. The reason this was an important goal is it allows developers to leverage both APIs and develop applications and tools that use the common subset of functionality. Although this was an important goal, there are cases where it has deviated, especially with OpenGL ES 2.0. This is discussed in detail in later chapters.
Aha !! However carefully note the direction of implication as written :
IF(Embedded OpenGL subset) THEN(OpenGL ES)
That is not equivalent to :
IF(OpenGL ES) THEN(Embedded OpenGL subset)
... so as directed I will read on to disclose the variances [ In mathematical language we have an injection but no surjection, thus no bijection and so no inverse ]. I may have localised the nexus of my confusions. Stay tuned.
Silly side note re. my build machine : it's an x86_64 class processor architecture, not an i686. That turns out to be quite relevant .... bangs head on melting wall .... :-) :-)
Cheers, Mike.
( edit ) It looks like the desktop versus embedded dependencies can be confined to a mere three, maybe four, classes in my ogl_utility category. Plus the instance of AbstractGraphicsEngine::initialise() and WindowManager::initialize(). Later use of compile time switching could regulate that choice. The only other area is the writing of specific shaders, but as they are represented in resource files, then that is governed by the object resource compiler mechanisms ( which I have grown to love day by day ! ) ie. a few single line changes in the resources.orc file.
( edit ) I now have four (4) monitors attached via 2 video cards to my Fedora 64bit + 32GB machine .... that'll cope with screensaver development. Uber ! :-)
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
allows developers to leverage both APIs and develop applications and tools that use the common subset of functionality
Can you remind me again, what is your motivation to use OpenGL ES? Do you want to support mobile devices?
Well, I leave the option open as part of the framework as written eg. Android. And not necessarily for screensavers either. In any case localise the dependencies that involve the desktop vs embedded platform decision.
[ Effectively my ogl_utility components have dragged the focus out away from the annoying platform specifics of shader implementation that was subsumed by the API prior to 2009, say. A move back towards the higher level graphics thinking that you could do with the original Starsphere when OpenGL was still deemed as backwards compatible as per ~ 2003. I've slid my own abstraction layer in. ]
You can get pretty good effects even with the limited functionality that ES represents. My test bed for this is Starsphere ( 32- and 64- bit Linux ) - it's coming along for the ride so to speak - because I know what that ought be doing and it has straightforward geometry and behaviours.
Cheers, Mike.
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
My lad Stephen has come up with a way to render the Earth, thus :
ie. bumps and specular ( 'point by point' ) mapping. The method is to use the color of the Earth's texture map at some given point and from that assume it represents a height level ( above sea ). In the texture shader one accordingly alters/interpolates the normal value ( a vector ) for a fragment, this is known as "bumping". Add a simple light source, here from the right, and it looks like 3D terrain when in fact there is no alteration of the vertex positions off the sphere at all. So no change in object geometry just a change in lighting analysis. Neatly done and what a nice look, huh ? :-)
Cheers, Mike.
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
RE: Hey Mike, RE: Alas &
)
Hi Oliver ! Yup, life just be zooming along ... :-) :-)
Well, I was referring to the whole thing. But now I feel a bit silly, having slept on it. I guess all I need to do is toss the ES stuff and those platform supports. [ For now in any case. ]
On reflection : the simplest approach would be to even better isolate the components/units which have the 'hard' OpenGL dependencies and stick them behind a ( thin ) abstractive layer aka standard OOP. I reckon I've almost nearly got that anyway, maybe I have got stuck in 'thinking implementation' and forgot to come back up a design level, or two, for a fresh look. Now that I know more of the difficulties. The issue I would call 'granularity of hardware addressing' ( there's probably a better formal phrase ) ie. to what degree of virtualisation is the hardware revealed from the viewpoint of the main 'business rules' code ?
I can do, indeed have done much of, the forward compatible Windoze/Linux/later-Mac support ie. desktops. Yeah that will do. I'll take a deep breath and plow back into it then ! :-)
Cheers, Mike.
( edit ) So I guess shifting ground is pretty normal in Professional Software Writing Land ...
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
RE: I'll take a deep breath
)
Despite not being my "hidden agenda", I'm certainly happy to read this! :-D
Keep it up!
Oliver
Einstein@Home Project
LOL ! You are welcome to as
)
LOL ! You are welcome to as much hidden agenda as you like. I think I just needed a bucket of ice on my head. :-)
Cheers, Mike.
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
Any time, mate ;-)
)
Any time, mate ;-)
Einstein@Home Project
Humor time : Cheers,
)
Humor time :
Cheers, Mike.
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
Nice! About the first:
)
Nice! About the first: actually I did... nah, forget about it ;-)
Einstein@Home Project
Now in step-back, wide-view
)
Now in step-back, wide-view mode. Browsing around. Relaxing. Smiling. Doing a rethink. Thinking out loud. Now here's some things.
- first get a better info source. I've found one to grasp the shifting sands better and go with that. Here is one from three Khronos Group developers ie. they helped write the API : OpenGL ES 2.0 Programming Guide.
- within which I note a crucial paragraph ( my red emphasis highlighting my goal) :
Aha !! However carefully note the direction of implication as written :
IF(Embedded OpenGL subset) THEN(OpenGL ES)
That is not equivalent to :
IF(OpenGL ES) THEN(Embedded OpenGL subset)
... so as directed I will read on to disclose the variances [ In mathematical language we have an injection but no surjection, thus no bijection and so no inverse ]. I may have localised the nexus of my confusions. Stay tuned.
Silly side note re. my build machine : it's an x86_64 class processor architecture, not an i686. That turns out to be quite relevant .... bangs head on melting wall .... :-) :-)
Cheers, Mike.
( edit ) It looks like the desktop versus embedded dependencies can be confined to a mere three, maybe four, classes in my ogl_utility category. Plus the instance of AbstractGraphicsEngine::initialise() and WindowManager::initialize(). Later use of compile time switching could regulate that choice. The only other area is the writing of specific shaders, but as they are represented in resource files, then that is governed by the object resource compiler mechanisms ( which I have grown to love day by day ! ) ie. a few single line changes in the resources.orc file.
( edit ) I now have four (4) monitors attached via 2 video cards to my Fedora 64bit + 32GB machine .... that'll cope with screensaver development. Uber ! :-)
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
RE: bangs head on melting
)
Now that's interesting... ;-)
Can you remind me again, what is your motivation to use OpenGL ES? Do you want to support mobile devices?
Cheers,
Oliver
Einstein@Home Project
RE: RE: bangs head on
)
Well, I leave the option open as part of the framework as written eg. Android. And not necessarily for screensavers either. In any case localise the dependencies that involve the desktop vs embedded platform decision.
[ Effectively my ogl_utility components have dragged the focus out away from the annoying platform specifics of shader implementation that was subsumed by the API prior to 2009, say. A move back towards the higher level graphics thinking that you could do with the original Starsphere when OpenGL was still deemed as backwards compatible as per ~ 2003. I've slid my own abstraction layer in. ]
You can get pretty good effects even with the limited functionality that ES represents. My test bed for this is Starsphere ( 32- and 64- bit Linux ) - it's coming along for the ride so to speak - because I know what that ought be doing and it has straightforward geometry and behaviours.
Cheers, Mike.
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal
My lad Stephen has come up
)
My lad Stephen has come up with a way to render the Earth, thus :
ie. bumps and specular ( 'point by point' ) mapping. The method is to use the color of the Earth's texture map at some given point and from that assume it represents a height level ( above sea ). In the texture shader one accordingly alters/interpolates the normal value ( a vector ) for a fragment, this is known as "bumping". Add a simple light source, here from the right, and it looks like 3D terrain when in fact there is no alteration of the vertex positions off the sphere at all. So no change in object geometry just a change in lighting analysis. Neatly done and what a nice look, huh ? :-)
Cheers, Mike.
I have made this letter longer than usual because I lack the time to make it shorter ...
... and my other CPU is a Ryzen 5950X :-) Blaise Pascal