View Full Version : Import and interpret 3D files
H.Stony
10-02-2004, 02:20 PM
i have been working on a game for some days...
i programmed a interpreter for RTG and VRML files. Now i have a problem with dynamic arrays.
My program reads a line and saves the result into a array. When i declare the array i don't know the number of elements of the array. I have to use dynamic arrays but the should be more dimensional
x,y,z,frame
So my question: does anybody know a interpreter of vrml 2.0 files or stuff like that.. i only need some short examples
sorry for my bad english
I hope y understand me....
thanks
This hasnt anything to do with OpenGL.
You did not say what programming language you are using, nor which compiler. I assume you are talking about a modern C++ compiler, to solve your problem generate a STL vector that contains STL vectors as elements...
Simple eh?
In the future please just ask questions that are related to OpenGL and not basic coding.
H.Stony
10-03-2004, 04:06 AM
yes c++, in XCode and on MS Visual C++
sorry
thank you
Night Hacker
10-06-2004, 05:57 PM
Don't be sorry, since when does loading 3D objects have nothing to do with opengl?
Anyhow...
You need to use structs. First you have one to define your vertex...
typedef struct
{
float x, y, z;
} VERTEX;
Then you have a struct for your object...
typedef struct
{
int verts;
VERTEX *points;
} OBJECT;
You create something to hold your object info...
OBJECT MyObject;
Somewhere in your code you will read in your object file, find out how many vertices it has and store that in:
MyObject->verts = NumberOfVertices
Then allocate space for those vertices with...
MyObject->points = (VERTEX*)malloc(sizeof(VERTEX)*MyObject->verts);
Once you do this you can store and access your objects vertex info like so:
MyObject->points[i].x
MyObject->points[i].y
MyObject->points[i].z
...where i equals the vertex you want, and you tack on a .x, .y or .z.
If you wanted to do something with all the verts (like render them of course ;) ) you would use a loop like so:
for (i=0; i<MyObject->verts; i++) {
// do stuff with...
// MyObject->points[i].x
// MyObject->points[i].y
// MyObject->points[i].z
}
That's a very breif explanation, hope it helps.
H.Stony
10-15-2004, 11:52 AM
Thank you.. i solved the problem... but anther problem:
i also solved the problem with the texture mapping but does anybody know some tuts for UV mapping in opengl? How should i interpret the vrml/rtg to use the uv texture mapping?
thanks!
h.stony
H.Stony
10-16-2004, 04:05 AM
My problem is solved! sorry for the sensless posting...my texturcoordinates were in a wrong order (the texture was flipped)
Powered by vBulletin® Version 4.2.3 Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.