View Full Version : OpenGL 2.0 COM based

08-22-2001, 01:32 AM
The next release of OpenGL should be "Component Object Model" based, in order to program it with C++, Visual Basic, Perl, etc... So, it will be "scriptable"!!!!

08-22-2001, 02:28 AM
OpenGL is (and should stay) platform independent so why give it a feature that only exists under Win32? That said, I suppose it could be useful for you if someone wrote a COM wrapper over OpenGL. It shouldn't be that difficult (at least from what I know of COM interfaces).

08-22-2001, 11:44 PM
Sorry, but COM is available with C++ ATL and Unix. Softimage XSI for IRIX and NT supports COM.

08-23-2001, 01:43 PM
Not everyone uses COM. C itself is accepted as the basis.

As the previous poster said, the best would be to make a wrapper.


08-23-2001, 10:43 PM
Originally posted by santyhammer:
Sorry, but COM is available with C++ ATL and Unix. Softimage XSI for IRIX and NT supports COM.

Do you have a link to a Unix/Linux/IRIX/SomethingIX COM SDK? That could really be of interest for us. I just gave a quick look at the Microsoft web site but haven't found anything (after 10 seconds of searching...)

08-28-2001, 08:05 AM
DirectX is COM based, and you can use it in C

09-06-2001, 10:29 AM
DirectX is COM based, but its not scriptable because its not COM-Automation based (it has no IDispatch interface).

And whats the benefit of COM without automation and script support? Don't say its object oriented because it is not (no inheritance, you can only subclass interfaces but not the implementations).

09-09-2001, 03:48 AM
>>>>And whats the benefit of COM without automation and script support? Don't say its object oriented because it is not (no inheritance, you can only subclass interfaces but not the implementations).<<<

Well, that's just your opinion of what OO is, but lack of inheritance is not a sign of being non OO.

There is somewhat of a benifit for COM, but an API need not be COM based. The obvious is version maintenance. Opengl doesn't have that problem since it extends itself with new additions.


09-19-2001, 09:58 AM
An object oriented language is per definition a language that supports inheritance (only partially supported by COM, you could discuss about that) and polymorphy (definitely not supported by COM). Without these features it is not OO, only component oriented or modular.

that's just your opinion of what OO is
That's not only my opinion, every informatics professor will tell you that definition of OO. There is no "opinion" about what OO is, it is exactly defined, so you can classify every language (and library, interface, ...) uniquely into OO and not OO.

[This message has been edited by Overmind (edited 09-19-2001).]

09-19-2001, 03:41 PM

10-04-2001, 06:08 AM
I think COM is other improvement to C++, as C#. It's possible to do two versions of OpenGL2.0, one based on procaddresses DLL/DLO and other based on COM...

10-04-2001, 06:13 AM
Have you programmed OpenGL with Java, Delphi , VB or Borland C++ Builder? Would you say it's easy? Not at all. It requires thirh parties libraries... It will be better with ActiveX/COM scriptable interface...

10-11-2001, 02:00 AM
I code OGL with Delphi, and i'ts not hard, just have to have .pas file that fixes the declarations and load the opengl32.dll and glu32.dll files, and thats the same for all languages. Just becuase C often get the headerfiles easier doesn't say the they don't exists.. just mean that some other person did 'em

I don't like the COM-based system on lowlevel API:s, thats more an oppinion from my side than fact, and it coud be that i just like it because im used to it, but the argument that it's hard to develop OpenGL applications on other languages than C/C++ is not acceptible.. Have you tried to use COM with JAVA?


[This message has been edited by Mazy (edited 10-11-2001).]

10-16-2001, 03:02 AM
hi there,

ive programmed opengl in both C++Builder
(started with this and used it for about
18 months) and had very few problems, i now
use Delphi and again with very few problems,
the only reason i switched was i switched
jobs and started using Delphi at work so it
was easier to use the same language for my
own projects at home)

The only problems with this as Mazy says is

a) The headers are not fully up to date in
delphi, c++ builder ( however anyone
using visual c would have to update these
to use the most recent extensions ).

b) You have to disable floating point
exceptions ( so does this mean that ms
compilers do this automatically ? and if
so what other exceptions / errors do they
simply ommit to report!! eg in front page
asp - first line = ON ERROR RESUME NEXT



10-28-2001, 06:16 AM
Do you really glLight is a low level function???

10-29-2001, 11:54 AM
I think the APIs should stay `raw', rather than become COM based.

Its so much easier to setup and use that way. One of the things that really impressed me about OpenGL was how quickly I was able to get up and running compared to when I was coding Direct3D.

At the moment I'm writing a component using the ATL COM model. Basically, I've built a load of classes and a fully functional application in C++ and I'm tagging an Active X interface onto it so it can be incorperated into a Web application or used in an automation scenario (with some of our other software).

I don't understand the need to wrap OpenGL itself into COM objects - what benefits could be gained thus? If you need a scriptable GL control, well, write an interface yourself.