GLC_lib & GLC_Player Forums

GLC_lib vs. Qt3d
Page 1 of 1

Author:  csell [ Fri Jan 27, 2017 7:54 pm ]
Post subject:  GLC_lib vs. Qt3d

Hello + Salut,

I am looking for a good way to integrate 3d functionality into my Qt/QML based app. "All" I need to do is display a model loaded from a file (3ds, obj or whatever), let the user manipulate its position in space in a restricted manner, and let him/her point at the model to put markers onto it. I would have to store the markers persistently and add them programmatically whenever the model is loaded, so that they appear as if they were part of the model.

I have looked at GLC_lib and Qt3d. The latter not only seems much bigger in scope and consequently rather complex to handle, but I am also seeing technical issues in that even the simplest example won't work in my context (rather complex UI with StackView and nested SwipeView). I am seeing "QOpenGLFrameBuffer missing attachment" messages in the console, and the whole desktop is flickering. Whoa!

With GLC_lib everything works flawlessly so far. Now come my questions:

- what is the future of GLC_lib?
- are there any recommendations regarding GLC_lib/Qt3d?
- are there plans to add OpenGL/ES support? How hard is it to do?

Since I plan to deploy my app on Android (possibly iOS) tablets, the last point is of utmost imortance for me.


Author:  laumaya [ Sun Jan 29, 2017 11:31 am ]
Post subject:  Re: GLC_lib vs. Qt3d

Thank you for your interest in GLC_lib
- what is the future of GLC_lib?

It is difficult for me to answer this question. The only think I know is that I use GLC_lib in my work every day. So if I need a new feature, I develop it.
- are there any recommendations regarding GLC_lib/Qt3d?

I have never used Qt3d... But I think it's a good lib.
- are there plans to add OpenGL/ES support? How hard is it to do?

I wanted to dot it but I didn't need it and it's a lot of work. I have no plans to add this feature.


Author:  csell [ Sun Jan 29, 2017 1:09 pm ]
Post subject:  Re: GLC_lib vs. Qt3d

Hello Laurent,

thanks for GLC_Lib, and thanks for answering.

Good to hear that GLC_Lib is in every day use. As I said, I was not able to get Qt3d to work at all, and the errors I am seeing with a very basic example (with which there really wasn't much to do wrong) were so detrimental that I didn't even bother to delve further into the API, which seems over-complex for my purposes anyway.

With GLC_lib, everything works for me (Linux, Qt 5.8, QML) so far. I have also managed to navigate into the code base, and already added a few features I need (being able to set the viewport background, being able to load and preprocess the 3d world in C++ and pass it to the QuickItem). I would really not want to have to give up on these achievements.

However, as I pointed out, GL/ES support is something I cannot do without. Since you don't have any plans, I might be willing to put in effort from my side. I would really appreciate if you could give me some overview of the tasks at hand, and maybe some guidance as to how to proceed. I am a 3d newbie, and have had some exposure to OpenGL in a past job where I even had to write (rather, cannibalize) a shader program or two. Additionally, I have 25 years of programming (5 yrs C++, 3 yrs Qt/Quick) on my back. So it should be doable.

I look forward to hearing from you
regards, Chris

Author:  csell [ Sun May 07, 2017 12:48 am ]
Post subject:  GLC_lib on GLES3

ok, I am back. Seems I wasn't able to get your interest with my last post, but I hope this will improve..

I have done some reading on OpenGL/OpenGLES and looked into the GLC source code. I'd appreciate if you could answer the following questions:

1. it seems GLC's core functionality is based on the now deprecated fixed pipeline API. Can you confirm?

2. there are vertex and fragment shader files, but it seems that if they are used at all, it is only for some specific and limited purpose. Can you confirm? What role do the shaders play?

3. My strategy for porting to GLES would be to use GLES 3.0, hoping that since GELS3 is a clean subset of GL, all functionality can be covered that way, and I can mostly do without #ifdef #else blocks. Realistic?

4. since GLES3 does not have a fixed function pipeline API, that would mean basing everything off shaders. Do you think the existing shaders can be used for that purpose?

I hope you find time to answer these questions. I would also appreciate any additional explanations/hints you can provide


Author:  csell [ Tue Jan 02, 2018 2:09 pm ]
Post subject:  Re: GLC_lib vs. Qt3d

just for the record.. after further investigation, and a lot of learning, I came to the conclusion that GLC's deficiencies in full-fledged OpenGL rendering were too serious to try to mend them. Moreover, there are quite a few pieces of software out there that already do the job quite well. However, since all of them still lacked seriously in certain areas, I finally decided decided to choose my own path. Here are some landmakrs I came across:

Qt3D: cannot get my head around that "entity component" stuff. I think it is a grave design mistake. However, in hindsight, the underlying functionality would have probably filled my requirements, but I was so appalled, and there were no good examples to get me started..

Gaming engines: they know how to do advanced rendering, but as they are all geared towards taking total control of your computer for the purpose of gaming, it is extremely hard to get them to integrate with Qt/QML

My favorite baby: Three.js. Written in Javascript and therefore immediately portable to OpenGL/ES. Advanced rendering engine with almost-all-purpose shader generator. Extremely vibrant, design-oriented community. Quite clean and intuitive API that only deals with rendering, but can be extended to physics etc.

My decision: port Three.js to C++ and Qt. Learn OpenGL and the inner workings on the way. The first result can be found here.


Page 1 of 1 All times are UTC
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group