I was playing minecraft with a friend earlier because I was bored and wanted a break from the programming I was doing. she was complaining about lag, and proposed the question "Why does minecraft lag on my computer". Well, shes pretty tech savey, so I gave my explanation (which I'm not going to state as to avoid de-railing the thread) and then I thought about FEZ. It was stated in "Indie Game: The Movie" (Im not sure of the company who created it or I would post it here) that the graphics in FEZ were created by taking 6 images from photoshop, putting them into a 32x32 square on a tile sheet, then wraping them around to make them form a block.
Phil Fish, the creator of FEZ, made it sound simple, but it doesn't seem that simple to me. While Phil used Microsofts XDA, Mojang seems to have managed to do the same thing with java(I believe, the language could have changed, as I stopped keeping up to date with minecraft long ago).
I have theorized many ways to do this, but im unsure how to go about executing a test. I have never worked in a 3D enviroment before. I have never wanted to venture out of my 2D wonderland that im in.
So the quest is;
Where does one start with a SIMPLE <- it's obviously not simple, but I mean in comparisons to others, 3D engine.,
Or must something like DirectX be used to do this.
Im using the word engine, because It is what I believe an engine to be, there could be a better word for this.
My generally accepted (by myself I mean, i've never had anyone else to discuss this with) theory is to take an index of arrays, create an array for each side of the cube, and work that with an index of arrays grabbing textures, then rendering the full block to the screen.
The language im using is C++.