Font Size: a A A

The Construction And Application Of The Plug-in For Fly3D Game Engine

Posted on:2007-12-06Degree:MasterType:Thesis
Country:ChinaCandidate:J ZhongFull Text:PDF
GTID:2178360182496012Subject:Software engineering
Abstract/Summary:PDF Full Text Request
Two decades ago, the display performance was very rough,but thedevelopment cycle of a 3D Game was usually up to more than 10 months. For onething ,the technology and facility were so limited.For another, when a new gameor an application was begin to design, it had to start from the verybeginning.Obviously,that has made lots of reduplicate work and also wasted lots oftime.As the software and hardware developed, the technology has been much moreadvanced.In 1992, the id Software Corporation presented a game called 《Doom》,in the mean time, the concept of 3D Game Engine has come into being .The GameEngine is the inunique technical part of a game . Oppositely ,the unique part of agame is considered as "asset", such as the models ,the animations,the sound andthe AI etc. The game engine is the core of the game or the application , it's not afull game itself , but it has combined a lot of common functions for differentgames.For example, the Collision Detection,Render Module . It's a library offunctions with a lot of interfaces outside . When developing a new game,theprogrammer can call the functions that already exist without implementingagain.At present most of the game engines are commercial ones , the user has to paya lot of money to the owner of the engine before using it.Therefore someone hasdeveloped some free 3D engines for investigation only . Fly 3D game engine is aplug-in oriented powerful free 3D game engine of this kind.Fly 3D engine and its SDK are fully plug-in oriented.In this way the advantagevery obvious.First of all , the efficiency is the most important feature of a goodgame engine . The plug-in just need to make a simple call of the interfaces orimplement the virtual function that is needed.So that it ensures the campactnessand also makes it available to be implemented as well as it avoids any uselesslevels when looking for a needed data. Secondly, the irrelative class and moduleare kept dividually,in this case , it insures the transplantbility,stability,and thesecurity of the code.Finally , because of encapsulation of the engine , the work of aprogrammer and the work of a art design are separated from each other , theborderline between the two different kind of work becomes more clear , everyonecan much more focus on their own work..There are six parts in this dissertation:1.The first part summarized the general structure of 3D game engine and somerelational knowledge , introduced the mainly character of plug-in oriented 3Dgame engine . A 3D game engine usually contains illumination and shadowsolution , collision detection , render module and etc.These functions can becalled through the interfaces outside.2.The second part focused on the categories and basic characters of the Fly 3Dplug-in。A Fly3D plugin can be of three types: an object repository plug-in, aprocessing plug-in or a compound plug-in . Every Fly3D plug-in mustimplement and export these three functions to be used by the engine :num_classes() returns the number of flyBspObject-derived classesimplemented in the plug-in;get_class_desc() function must return a pointer toa class of description for each class implemented in the plug-in;fly_message()function is called by the engine to pass message to to the plugin, and notify itof the initialisation of the scene, closing of the scene and something like that.3.There are many ready plug-ins that can be used immediately in the Fly3DSDK , and each plug-in implemented different functions . The third part takesa compound plugin named observer.dll for example and the structure of thecode . The mostly function is to display the scene to the user and the angle ofview can be moved and zoom in(out) whith the keyboard and the mouse.4.The fourth part analysed the developing process in detail and developed aplug-in called test.dll . There are three different class in thisplug-in:camera,object and light . They implements three different functions :display a scene , insert an new object in the scene and add the illuminationeffect to the object that is added.5.The fifth chapter investigate the method on how to debugg and apply theplug-in . The plug-in must be encapsulated together with the scene file in a .flyfile , and make some necessary settings ,then the plug-in can be put intoeffect .6.The last part summarized the research of the dissertation and prospected thefollowing work...
Keywords/Search Tags:Construction
PDF Full Text Request
Related items