.obj loading was way easier than i thought so i'm glad i worked on that stuff from scratch instead of copying some stuff off of a tutorial. there's a lot of work i have to do with it though like figure out what the stuff vertex normals are and how to figure out texturing but its a good start. i also need to do some research about a good animation file format because while working on this stuff i figured i would have to make stuff animated at some point. if you know about any good animation file formats tell me about them so i can implement them into my engine. doesn't matter if they're compatible with the .obj format or not. the next goal will probably be figuring out how to do shading since everything right now is unshaded hence me randomly coloring the triangles in the image below so i can tell how everything looks
this paragraph is technical stuff so if you don't care about the technical stuff skip this part. if you know how to read technical stuff please do because my method of doing this is probably unoptimized as forget and you might know how to do this stuff better than me. i have a ObjLoader class that parses the .obj files and puts the data collected from them into 3 arraylists: a vertex array list, vertex normal array list, and a face element array list. it'll probably store more stuff once i figure out where to go from here. i don't know what the stuff vertex normals are but i store them anyways. Vector3's containing vertex data are put into the aforementioned array lists while the parser is reading the file, and FaceElement objects are created at this time too. the FaceElement class holds which vertex #'s make up which faces (the .obj file stores face data like this: "f 5 6 7 ...", each number corresponding to a vertex that was previously defined in the file. it gets more complex as you add vertex normals and vertex texture coordinates) and after the file is done being read it also contains the vertex data as that stuff is copied over into the FaceElement objects. additionally the FaceElement class holds how many vertexes are stored within it but that should be a given. to render this stuff, i loop through the FaceElement objects every frame (that's probably really inefficient, should look into methods of making that stuff better) to get the vertex data and display that stuff using the glVertex3f method. if the number of vertexes stored in a FaceElement is 3 or 4 the renderer will call glBegin to tell opengl whether it needs to display a triangle or a quad respectively. i don't have support for polygons yet but that stuff will probably come with time as will support for textures and colors and stuff
if any of you want to make a game engine and know java even decently well you should check out jogl because its pretty forgetin fun to code this stuff and figure it all out and it'll help you learn new stuff too
anyways to summarize all of that i'll just say blockland 2 the definitive edition will be coming out in the next few months