OGL high-level API to attract newbs from dx

I’ve only been programming in opengl for about 5 months now but I do understand that you guys are really trying to attract newbies like me away from easy directx eyecandy.

this is probibly big fat flame bait but this should at least be a free extention.

anywase. the first roadblock I encountered when bulding my first engine was building a complete mesh data-structure.

in my opinion this is exactly the thing opengl needs to entice beginers and get them programming visually pleasing things right off the bat. of course building up your own mesh should still be an option (although seemingly unnessesary).

what it should have:

*capable of importing the most popular mesh formats.

*easily accesable quadrics and 3d primitives

*each vertex should store linked lists to their polygons, textures (including real dynamic reflections as well as env maps), normal maps, and material properties.

*it should automatically optimize it in vertex arrays

*quadrics and other approximated surfaces’ should be dynamically rendered depending on priority

*easy access and modification of all components

*heirarchical structuring

*each object should have a linked list of shadows (one per light), maby computed using the perpsective shear warp algorithm by simply passing it a light’s location/properties?

this ended up sounding like a full graphical rendering api for ogl2.0 but if somthing similar was out there and it was part of opengl (or a free open extension), newbs like me would be able to bypass building up the standard features which users expect out of 2.0.

what kind of support will linux have anywase?

are you working with the GLUT dudes?

if gl2.0 ported to linux with no modifications you’d gain an imesuarable advantage over dx. I believe hardware acceleration and gl portability are 2 of the biggest things holding linux back on peoples home computers.

anywase I think if gl2.0 had even a few of these extentions it would jump past the head start that cG and dx already have.

this is just my perspective on how you could whip dx and cg without using cookie cutter eye candy like they do. if it’s improbible then too bad but I think it’s value would be worth the effort.

anywase. the first roadblock I encountered when bulding my first engine was building a complete mesh data-structure.
I decided to take up driving several years ago. The first difficulty I encountered when building my automobile was re-inventing the wheel…

But seriously, there are already higher-level APIs out there that use OpenGL. Hundreds of them. There’re called 3d engines or scenegraphs. Many of them are free (under LGPL, etc.) I don’t think we need to stoop to the level of DirectX by combining things into one API that don’t need to be combined.

what kind of support will linux have anywase?
OpenGL is a specification, not a library. There will undoubtedly be Linux implementations just like there are for GL1 now. It would be nice if there were a standard API for managing GL contexts, so all OpenGL code could be ported with no modification, though. However, this is a minor issue, since this doesn’t require a lot of code and the various APIs are very similar.

if gl2.0 ported to linux with no modifications you’d gain an imesuarable advantage over dx. I believe hardware acceleration and gl portability are 2 of the biggest things holding linux back on peoples home computers.
GL has the advantage of portability today. The main things stopping the average person from switching to Linux are the fact that most of the software and drivers they need is only available for Windows, the steep learning curve, and ignorance of Linux’s existance.

I understand that there are open engines to use already but they all lack in documentation, portability, support, and their datastructures are almost always interdependent and specificlly optimized for their respective engines.

what I origonally indended on saying before I went off on a complete object data-structure was:

Opengl would benifit if it had a simple mesh data structure that knew how to apply its own textures and normal maps to a standard mesh datastructure*. by simply supplying a shader and the texture co-ordinates.

this falls far short of a complete rendering engine yet saves alot of work for some people.

*by standard mesh data structure I mean the dual linked list structure with verts that point to polygons and polygons that point to verts. only each vert also points to a shader co-ordinate.

v–>p—>p—>p
|
v–>p—>p—>p
|
v–>p—>p—>p
|
x

P–>v–>v–>v
|
P–>v–>v–>v
|
P–>v–>v–>v
|
x

I know that linux is still a big cluster**** as far as drivers are concerned but even when I have my geforce2 ti wich is pretty well supported by now, still try as I might I am unable to get tux racer to run at anything faster than one frame per second.

[This message has been edited by BlackSoftware (edited 06-16-2003).]

yes, but there are so many ways to store your data to be computed by OpenGL… so many…

Correct me if I’m wrong but the mesh support is only present in the DXTools or DXUtils right?

So this means you can use it with GL.

The way I see it is that DX is a one stop shop for making games plus plenty of other things.

If there was a set of libraries, I wouldn’t oppose it. Let’s call it OpenML.
http://www.khronos.org/

"OpenML is a cross-platform standard programming environment for capturing, transporting, processing, displaying, and synchronizing digital media (2D and 3D graphics, audio and video processing, I/O, and networking). The current 1.0 specification provides extensions to OpenGL, display control, device control and asynchronous communication between applications and hardware, and synchronization of media streams. "

Does this sound good?

Originally posted by BlackSoftware:
Opengl would benifit if it had …
There we are

OpenGL is a spec that dictates a model for implementations. What that means, is that every feature you decide to stuff into the OpenGL core spec will have to be done by everyone providing an implementation (=> graphics card drivers).

This is why OpenGL does not contain a scene graph, mesh loading, mouse click handling and CSG operations (which are the most frequent requests …). It’s not responsible for these tasks. If these things were part of OpenGL, you would burden driver writers to write code that has nothing to do with their hardware.

OpenGL is not layered software like DX is. Much of the DirectX interfaces is code written once, by the vole itself, so are the utility libraries that provide all the ‘neat stuff’. This model doesn’t require everyone to rewrite everything, OpenGL does.

You’re looking for something like GLUT on steroids, or the other things mentioned here, but not OpenGL core features.

I still partially agree on the ‘whole package’ idea. The ARB should really step out of the door and identify the ‘good’ free toolkits, and endorse them to help move them forward. Can’t harm to have something official in hand when the next “DX is so great, it even picks up my kids and drives them home”-dude shows up