PDA

View Full Version : Support of at least one file format ...



julien
10-02-2000, 01:41 AM
I know that we can code our own file loader, but I think it would be usefull to create an OpenGL specific data file like .3ds
It could use OpenInventor .iv file format wich is very close to vrml.

RobertSI
10-17-2000, 09:05 AM
Excellent idea. Maybe for .bmp .jpeg too!

Olive
10-17-2000, 10:28 PM
Take a look at this : http://www.xglspec.org/

Bob
10-18-2000, 01:54 AM
Fileformats deosn't belong in the OpenGL API. Fileformats belong to lower level APIs. If we need fileformat routines, they could maybe be placed in the GLU library, but not in OpenGL.

What does a fileformat give you? The ability to load a picture or a model, but then they HAVE to be of a specific format. And you have very small freedom with what you can do to the data that is loaded. Do you suggest that, say a 3D model, should be uploaded as a display list, or a stored as a vertex array, or should it be plain data we draw using glVertex? When we have solved this question, another one arises. HOW should the data be stored? As separate or interleaved arrays, or liked lists or arrays of polygons? There are zillions of posibilities here, and we need to implement quite a few of them to satisfy at least a small group of programmers. But there are still a major group who still has to write their own loaders because the existing data format doesn't fit their need, or maybe they even CAN'T export the specific data formats.

So I say NO to native fileformat support in OpenGL. Don't waste time on features only a small group can/will/want to use! There are PLENTY of easy formats out there ready to be used. One example is the .ASE format that at least 3D Studio MAX can export. It's damn easy, and supports literaly everything you may ever need in an application of any kind. There are also the outstanding .TGA format for images. Uncompressed, this format is just plain data ready to be read. It also includes an aplha channel. Nothing missing here. If you need a compressed fileformat for images, there are several loaders for .JPG files for example.

Lunar
10-20-2000, 08:43 PM
That's right, Bob! We should deal with file format as freely as we can.

RandyU
10-31-2000, 01:49 PM
But Direct3D RM has it's own ".x" format and can load BMP textures. People have to spend their time on writting loader or searching a proper one for their system,on debugging, so built-in loader will be useful.
IMHO, publishing of glList format will be well.

Bob
11-01-2000, 02:14 AM
Yupp, D3D RM (note that this is RETAINED MODE, not IMMEDIATE MODE, which most companies use to code games) got .x files, but what do you do if this format doesn't allow you to do what you want to do? Remember that OpenGL is not, as D3D is, a game library only. I have no idea about the truth, but I think most OpenGL implementations today is used for other things than entertainment. Design, visualization of mathematical calculations, medic, physical experiments, and alot more. Entertainment is just a small part of OpenGL. And do you really think one certain fileformat will do for all this kind of applications? In D3D's case, where objects might be limited to a certain type of objects that fits into games is one thing, but when we get to the scientific part, goodbye.

j
11-01-2000, 09:47 AM
Isn't D3D Retained Mode pretty much a layer over top of Immediate mode?
In that case, it would be the equivalent of GLU or GLUT.
If anybody wants functionality similar to D3DRM in OpenGL, what they are really asking for is a file loader in GLU or GLUT, not OGL.
OGL has never dealt with machine specific stuff such as file formats, because if it did so, it would be less portable.
For example, I don't think I have ever seen a .rgb image loader in Windows, and I would imagine that Linux or UNIX don't use the .bmp format very often.
Adding file format support to OGL will make it less portable, and chances are that nobody will be satisfied with it.
Put all the file format loading code into a separate utility library, not the base OGL API.

Bob
11-02-2000, 02:04 AM
As fas as I understand, D3D RM is a scene graph API, which basically means you tell D3D how you want your scene to look like, and D3D do this for you. Not like IM, where you actually have to do the drawing yourself. Not sure though, since I never got as far as to the RM part before I gave up D3D http://www.opengl.org/discussion_boards/ubb/cool.gif

GLU and GLUT is not like this. Sure it's a layer ontop of OpenGL, but it's not a scene graph API. But I agree, IF they are going to implement fileformats, it should be here, and not the core.

And on the other hand, when we know how to do a 3D engine, we SHOULD know how to load a file, otherwise something is wrong.

RandyU
11-04-2000, 03:16 PM
Note that .x is an open format(as i understand) and you can store anything you want in it.
OK,but for me it will be great if OpenGL will give me an ability to store list - as I understand it is stored somwhere in imlementation-specific format and can't be accessed. Why not to form a imlementation-unspecific data and give a pointer to it?