March 2011
8 posts
After moving some data structures from some header files to others, the code doesn’t compile anymore. I’ve been taking a look into it, and it seems that I’ll have to reorganize a lot of code before fixing the translucency.
An interesting note: both the SPR models and the BSP model’s surfaces are drawn exactly in the same way, except that in the case of BSP models the spans are accessed through a linked list, and in the case of SPR models they are accessed through an array.
Thanks to this, all optimizations done on the BSP drawing code can be simply copy-pasted directly in place of their SPR equivalents.
...
I’m thinking of removing the stippled rendering of sprites and alias models. Maybe removing it from the BSP renderer would also be a good idea.
Stippled rendering overcomplicates the overdraw hierarchy, a lot.
For example, if there’s a portal under the water, you’re above the water, and both the portal and the water are stippled, the portal will end up 100% transparent,...
It suddenly occurred to me how hard it is to create a visual identity under this engine.
This doesn’t mean it’s impossible. In Fightoon, I’ve devised some guidelines that worked quite well, such as using only straight lines and right angles to draw most textures, since they’re the only kinds of shapes that always looks good when scaled up without any filtering. Another...
I’m thinking of doing some protocol changes.
The way it currently is, it’s impossible to optimize everything I’d like, because each entity’s alpha value is parsed before half of its self.effects value - and this half includes the EF_REFLECTIVE, EF_CELSHADING, EF_FULLBRIGHT, EF_SHADOW, and EF_NOSHADOW flags. If all flags were processed first, this would make things much...
Now the depth sorting of entities is only performed on blended entities.
Visible entities are now split into three different lists: one for solid entities, another for shadow entities, and a last one for blended entities.
These are part of my refactoring of the way the engine checks for which effects to apply on each entity. Hopefully, a lot of checks that are currently performed on each frame...
Currently working to fix entity translucency. It is a lot more incomplete than I remembered, with things like the MDL and SPR translucency not working properly.
After fixing the translucency effects, I’m going to test the Dreamcast version and make sure it works properly. Should be enough for the 1.5 release.
1 tag