A second issue may arise, that is the N64 use a lot of repeating texture. And my engine doesn't support texture repeating at boundary. The fix is quite simple ; and fall in the same categorie of the issue discuted by tr1p1ea, break large polygons into smaller one. For the visual complexity of the game, well I must said that the previous screenshot doesn't include ANY way of doing thing proprely, it just send all polygons through the library (and vertex as well), which is, well, a bad way to do thing
![Tongue :P](Smileys/cwsmileys/tongue.gif)
One of the primary optimization one can do in such context is bounding boxes, test a whole sub level part against frustrum with 8 vertices et skip it enterily if it is outside. Given that the library can handle different stream of polygons/vertex from different location and doesn't expect only one consecutive stream, this is a very interesting thing to do. Second optimization that may be doable is to reduce the far plan visibility, ie how far can you see polygons. PS1 used this technique very often, using some fog. We won't be able to do fog here, but it is still a good thin to have given that depth is computed for sorting anyway. Third reside in library optimization itself, which aren't at all done
![Tongue :P](Smileys/cwsmileys/tongue.gif)
As a side note, I need to also said that the current pipeline must process all vertex (this is mandatory due to clippping). So removing some vertex through the bounding boxes is even a better idea than before (2000 vertex process in the last screenshot IS heavy, at about 90ms).
Just to give you an idea, through code refactoring color glib is almost 400% faster than early version - and it is mostly through new algorithm / better pathway, not much from code micro-optimisation, apart from the texture mapping routine, in which I've already put a lot of work. So given the opportunity, (and mostly because two of the three optimization ins't glib work, but instead more of the user work, and I don't use my library well
![Tongue :P](Smileys/cwsmileys/tongue.gif)
), the complexity may be pretty high. I also may start to do a more advanced use of the library for following demo because well I want more speed obviously.
To finish, well if one have the level, I can simply convert it and load it up in the engine
![Smiley :)](Smileys/cwsmileys/smiley.gif)
EDIT : huh, I forgot to include last eye-candy, shame of me
![Tongue :P](Smileys/cwsmileys/tongue.gif)
![](https://tiplanet.org/forum/images/forum_uploads/11153_1505334360_59b994585ee4c.gif)
EDIT 2 : well I said that bounding should be user made, that is not totally true, as I could also make it mandatory, but I fear I may lose in flexibility. What do you think ?