Unfortunately, at the last couple months I haven't enough time to proceed with development of 3D game engine, and appears to me I wont have enough time in nearest future, but... I really need to continue work on this project, otherwise my IQ/skills/
Brief: Today I'll provide a list of useful design components and subsystems, which will be implemented or used. Also I'll specify the data format which will be used for storing meshes and animations.
It is obvious thing that we need to store and manage either internal 3D engine data (meshes, skeletons, events, and so on) and Game Core data (gameplay entities, in-game events and so on) somehow. So the common used design components are:
- linked list -- e.g. used for queues;
- indexed array;
- Z-ordered list (or array indexed by Z-value);
- ring-buffer;
- whatever?
- debug/log subsystem -- is used to provide debug messages output;
- *.ini file parse subsystem -- is used to load configuration and other game data from *.ini files;
- whatever?
- mesh loader (+ skeleton loader if mesh file format requires it);
- texture loader;
- animation loader;
- scene management subsystem;
- rendering subsystem based on OpenGL (3D scenes, 2D scenes, fonts, textures etc..);
- .md5mesh/.md5anim/.md5camera (spec: http://tfc.duke.free.fr/coding/md5-specs-en.html) - looks good for storing meshes and animations;
- .ini - this format looks applicable for saving configuration info;
- whatever?
So, with new approach it make sence to provide a bit more detailed diagram of data flow from game core to 3D renderer layer. I need to figure out the minimum set of data, which has to be passed from game core layer to 3D renderer layer.
to be continued...
WBR,
Vadim
Комментариев нет:
Отправить комментарий