Are you talking about being able to view a 3D world fom any particilar viewpoint? If so, then yes. I just need to write the code to create a "camera matrix", which is a matrix which allows you to transform a 3D world to how it would look from any point of view. It's not that hard to write - I'm just getting lazy!calcul831415 wrote:Will you be able to rotate the screen around the 3D model?
Well, it is "true 3D", since it allows a full 6 degrees of freedom. But if you are looking for Quake83, well... I wont say it is impossible, but you would be struggling for a decent framerate. This engine is designed for 3D space/aircraft & perhaps car racing kinda stuff.currahee wrote:I wonder though if it can handle more geometry or a true 3D environment, not like Gemini but y'know like Quake.
Well, the simpification wasn't in the algorithm itself, but the implementation.coelurus wrote:With software rendering, overdraw should be extremely low. I would like to hear your ideas about your simplified version.
My idea was to restrict the BSP planes to running either along, or diagonally across the X, Y & Z planes of the 3D world. That way, I could reduce each plane test to a comparison of X, Y & Z co-ordinates, instead of doing a dot-product. The dot-product code is fairly fast (around 300 T-Sates IIRC), but I wouldn't want to use it as intensively as in a BSP tree algorithm.
Thanks. The polygon code isn't perfect (ie: the polygons aren't quite "correct"), but I have been toying with a new idea which should eliminate these flaws and result in an improvement in polygon rendering speed, but a slight time penalty for anyone who was thinking of attempting grayscale polygons (it involves shifting some of the code from the edge tracing routine in to the actual drawing routine).Kozak wrote:The speed at which it applies polygon filling looks impressive. I am looking forward to see more extensive screenfilling performed by your engine qarnos.
I will probably go ahead with the idea, since grayscale isn't one of my prime objectives.