Can i use a 3d model made in a 3d model program in android?
Or must it be draw by math functions of opengl(used to make cubes, balls,etc)
If someone could enlightenment me in this one it would be a blast! =D
OpenGL is just a bridge between the hardware and your own code. It doesn't magically create objects for you; the only thing it does is takes in triangles that you feed to the graphics processing unit (GPU). You can (and will have to) use your own 3d models, however you'll have to write a routine (or use a preexisting java one for that format) to read in the data and uncompress if it's compressed, then store into memory with the vertex, normals, color, and texture UV data.
Finally when you want to draw, you feed all that data to the GPU. For optimization, you'd want to write a culling method (most people do frustum culling; google for more info on that) to only draw triangles that are actually going to be visible on the screen.
Writing a 3D engine isn't easy, but there are useful guides and tutorials out there for OpenGL. One I'd like to mention is a series of tutorials on
nehe.gamedev.net. Unfortunately with OpenGL ES though (although this is technically more efficient), you have to use buffers to feed the data, not just per-triangle calls, so you have to write smarter code to render anything.
Though not 3D (yet) I'll be releasing my 2D OpenGL ES game engine that has quick and easy support for rendering sprites, playing sound effects, playing music, rendering text, rendering *very fast* tilemaps, and more next month.