Class List

Here are the classes, structs, unions and interfaces with brief descriptions:
DXGfxLib.AABBoxAABBox stand for axis aligned bounding box. This is means a bouding box which remain aligned with world space axis. In some situation this can become a very coarse approximation of an ideal bounding volume. For efficiency reason the scene graph perform only on AABBox this is more efficient to build bounding volume from children. As the scene graph uses these information only to reject portion of the graph when we are sure the are out of the viewing frustrum or to perform a first selection of node potentially colliding with another box or a ray, having big bounding volume is not that bad
Game.Action
Game.Animal
Microsoft.Samples.DirectX.UtilityToolkit.ArcBallClass holds arcball data
DXGfxLib.AreaThis is a scene node that can be visualized in the editor thus this class derives from MeshObject. When the simulation is run there, this SceneObject does not display itself (it's fully transparent). Still instances of this class will be positionned in our 3D world and will most probably be used by the logic of other SceneObject, to know for example in which direction a SceneObject should move, that kind of stuff!!
DXGfxLib.ArticulatedModelEach time you want to add an animated model to your scene you should use this class or a class that derives from this. The model and associated animations are going to be loaded from a X file. By default all animations will be played as soon as the instance of this class is added to the scene
DXGfxLib.AvatarThe avatar is a special scene node. It is meant to be used in conjonction with a class implementing IInputHandler. The input handler will be notified of events and will pass relevant information both to the camera and the avatar. Each of these could also possibly implement its own logic to react to event. At the moment this is a bit overengineered as we have only a ThirdPersonCamera and a Base avatar class but this could change in the future
DXGfxLib.BatchThe batch class. This class can be useful if we have many instances of a geometry with a small number of faces. In that specific situation you can make a batch out of these geometries. They will be pre transform and but in one big mesh. At the moment you should use geometries with only one subset, if you have several materials and subsets in your mesh all vertices that will be put in the big mesh will be rendered with first material and texture as if they were all part of subset 0. During my testing I have attempted to use this class for the tress of the demo. I was doing these tests with trees of 1600 faces (quite a lot for a tree but good for testing :)) this did not give good results. In fact it was much better to have each tree as a separate SceneObject. This might change based on which machine you run the program on but there will always be some tradeoff to make. At the moment the limit for the big buffer is 5000. Maybe that's still too high
Game.BayesianChannel
DXGfxLib.BBoxCulling and collision detection is based on this class
DXGfxLib.BBoxPlanesThis class is used to contain the collection of planes that do constitue a bounding box
DXGfxLib.BillboardBillboards are texture quad always watching the camera. They are some time useful as impostors when you don't want to render a very complex object. Texture displayed by billboard should have an alpha channel in order not to occlude everything behind. The library will sort them approiately from back to front before rendering them with alpha. This class inherits from TexturedPlane, main differences are that TexturePlanes don't always look at the camera and are not necessarily rendered using alpha blending
Microsoft.Samples.DirectX.UtilityToolkit.BlendColorBlends colors
Game.Boat
Game.Building
Microsoft.Samples.DirectX.UtilityToolkit.ButtonButton control
Microsoft.Samples.DirectX.UtilityToolkit.CachedEffectInformation about a cached effect
Microsoft.Samples.DirectX.UtilityToolkit.CachedTextureInformation about a cached texture
Microsoft.Samples.DirectX.UtilityToolkit.CameraSimple base camera class that moves and rotates. The base class records mouse and keyboard input for use by a derived class, and keeps common state
Microsoft.Samples.DirectX.UtilityToolkit.CheckboxCheckbox control
DXGfxLib.ColladaEffect
DXGfxLib.ColladaEffectProp
DXGfxLib.ColladaGeometry
DXGfxLib.ColladaImage
DXGfxLib.ColladaLoader
DXGfxLib.ColladaMaterial
DXGfxLib.ColladaSource
Microsoft.Samples.DirectX.UtilityToolkit.ComboBoxCombo box control
Microsoft.Samples.DirectX.UtilityToolkit.ComboBoxItemStores data for a combo box item
Microsoft.Samples.DirectX.UtilityToolkit.ControlBase class for all controls
Microsoft.Samples.DirectX.UtilityToolkit.CreatingDeviceExceptionCreating the device failed
Microsoft.Samples.DirectX.UtilityToolkit.CreatingDeviceObjectsExceptionCreating the device objects failed
DXGfxLib.CursorAn instance of the cursor class will be used by the editor while editing the scene. Even if an instance of this class is part of the scene, it won't be displayed while the simulation is running. It will be displayed only while editing the scene
DXGfxLib.Serialization.CursorSurrogate
Microsoft.Samples.DirectX.UtilityToolkit.DeviceEventArgsEvent arguments for device creation/reset
Microsoft.Samples.DirectX.UtilityToolkit.DeviceSettingsHolds the settings for creating a device
Microsoft.Samples.DirectX.UtilityToolkit.DialogAll controls must be assigned to a dialog, which handles input and rendering for the controls
Microsoft.Samples.DirectX.UtilityToolkit.DialogResourceManagerManages shared resources of dialogs
Microsoft.Samples.DirectX.UtilityToolkit.DirectionWidgetWidget for controlling direction
Microsoft.Samples.DirectX.UtilityToolkit.DirectXSampleExceptionBase class for sample exceptions
Microsoft.Samples.DirectX.UtilityToolkit.DisplayModeSorterUsed to sort display modes
DXGfxLib.domei
DXGfxLib.DrawableBBoxThis is a helper class in order to display a wireframe bounding box for our geometries
Game.Drinking
DXGfxLib.DXGfxManagerThis class is a recent addition to the library. It has been added when I have started to use effect file. This was a good central place to place a default effect group. Also this class is used from the editor
Game.Eating
Microsoft.Samples.DirectX.UtilityToolkit.EditBoxA basic edit box
DXGfxLib.EffectExceptionNow that we use Effects, this means that at some point we do load them and compile them. This exception type is designed specifficaly for situations were bad things did happen during the compilation of the effect file
DXGfxLib.EffectGroupThis class is a convenient class to package everything related to the effects that might be needed to render a geometry. At the moment this class will act as a container for various types of effects associated with various situations. This is a bit premature as in the current version of the sample associated with the library we use only the default effect of an effect group
Microsoft.Samples.DirectX.UtilityToolkit.ElementContains all the display tweakables for a sub-control
Microsoft.Samples.DirectX.UtilityToolkit.ElementHolderContains all the display information for a given control type
DXGfxLib.EnhancedAllocateHierarchyIn order to create derived classes instead of base Frame and MeshContainer we need to provide our own class deriving from AllocateHierarchy. This is EnhancedAllocateHierarchy
DXGfxLib.EnhancedFrameWe want to update world position of each frame in the Update phase of our scene graph. The base Frame doesn't keep track of that worldPosition so we need to derive from Frame and add members to our class in order to be able to store that matrix
DXGfxLib.EnhancedMeshContainerWe want to keep track of quite a lot of information that are not kept by MeshContainer. So we derive our own class from it and add members to keep track of every single information we need. These information are populated when loading a hierarchy from file by EnhancedAllocateHierarchy
Microsoft.Samples.DirectX.UtilityToolkit.EnumAdapterInformationClass describing an adapter which contains a unique adapter ordinal that is installed on the system
Microsoft.Samples.DirectX.UtilityToolkit.EnumDepthStencilMultisampleConflictA depth/stencil buffer format that is incompatible with a multisample type
Microsoft.Samples.DirectX.UtilityToolkit.EnumDeviceInformationClass describing a Direct3D device that contains a unique supported device type
Microsoft.Samples.DirectX.UtilityToolkit.EnumDeviceSettingsComboClass describing device settings that contain a unique combination of adapter format, back buffer format, and windowed that is compatible with a particular Direct3D device and the application
Microsoft.Samples.DirectX.UtilityToolkit.EnumerationEnumerates available Direct3D adapters, devices, modes, etc. Singleton
DXGfxLib.EventEvents are very brute. They are only three strings, a time value (the time at which we should fire them) and a boolean stating whether they have been fired or not. This is brute but pretty flexible as you can put pretty much everything in strings, even source code that has to be compiled... everything. Obviously this class will be derived for more specific event types but for the moment this is just the base class, the most generic possible event for this library
DXGfxLib.ExecutableBlockThis class is the base class of the classes that are going to be created on the fly by the Script object from the source code in skeleton, varSrc and codeSrc
Game.Factory
DXGfxLib.FileNameConverter
DXGfxLib.FileNameEditor
DXGfxLib.FileNameUIEditor
Game.Firm
Microsoft.Samples.DirectX.UtilityToolkit.FirstPersonCameraSimple first person camera class that moves and rotates. It allows yaw and pitch but not roll. It uses keyboard and cursor to respond to keyboard and mouse input and updates the view matrix based on input
Game.Fleeing
DXGfxLib.FloatArray
Microsoft.Samples.DirectX.UtilityToolkit.FontNodeStructure for shared fonts
Microsoft.Samples.DirectX.UtilityToolkit.FrameworkManaged Utility Framework Class
Microsoft.Samples.DirectX.UtilityToolkit.FrameworkDataHolds data for the Framework class, and all of the properties
Microsoft.Samples.DirectX.UtilityToolkit.FrameworkMeshClass for loading and rendering file-based meshes
DXGfxLib.FrameworkMeshObject
Microsoft.Samples.DirectX.UtilityToolkit.FrameworkTimer
DXGfxLib.FreeCameraThie class is a third person camera. The camera will stay behind the specified scene node. YOu can rotate around it to a certain extend with the mouse while pressing the third button
DXGfxLib.Frustrum
Microsoft.Samples.DirectX.UtilityToolkit.GraphicsWindowThe main window that will be used for the sample framework
DXGfxLib.HaveID
Game.IAChannel
DXGfxLib.IAmScriptable
Game.ICanMove
Microsoft.Samples.DirectX.UtilityToolkit.IDeviceCreationInterface that the framework will use to determine if a device is acceptable
DXGfxLib.IDrawableThis interface should be implemented by all classes that want the ability to be drawn. It derives from IComparable as we want the ability to sort these objects before rendering in order to minimize state changes for the video card and unecessary loading and unloading of effects
Microsoft.Samples.DirectX.UtilityToolkit.IFrameworkCallbackInterface that the framework will use to call into samples
DXGfxLib.IHaveID
DXGfxLib.IInputHandler
DXGfxLib.ImpostorThis isn't really a nice impostor. I should add alpha testing for this class to become really of interest. This is yet to be done
DXGfxLib.InstanceInfoThis structure is meant to be used to store information about position and rotation of one instance of the geometry we want to render. It is anticipated that this structure will be used for geometries on the groung thus the only rotation information in that structure is the rotation around the Y axis. In fact this structure is not used at the moment
DXGfxLib.IPositionConstraintThis interface can be implemented by each class that is going to impose a constraint on a node position. At the moment this interface is implemented by the scene itself. Each scene node has a unique field to keep a reference to an instance of an object implementing this. If it is desired to add other objects that implement that interface and to actually use them you will most probably need to derive your own class from Scene or OutDoorScene and managed the calls yourself
Game.IWorldEntity
Microsoft.Samples.DirectX.UtilityToolkit.ListBoxList box control
Microsoft.Samples.DirectX.UtilityToolkit.ListBoxItemStores data for a list box item
DXGfxLib.LoadedEntity
SampleSceneLoader.Loader
Game.LookingForFood
Editor.MainForm
Microsoft.Samples.DirectX.UtilityToolkit.ManagedUtilityHelper methods
DXGfxLib.Serialization.Manager
Editor.Marker
Scene.Market
Microsoft.Samples.DirectX.UtilityToolkit.MatchOptionsOptions on how to match items
DXGfxLib.MaterialFromObjThis structure is used to store material information
DXGfxLib.MathUtilThis class is not meant to be instanciated. It is just a convenient way to regroup helper functions. They are defined as static method of the class
Microsoft.Samples.DirectX.UtilityToolkit.MediaNotFoundExceptionMedia couldn't be found
Editor.Mediator
DXGfxLib.MeshObject
DXGfxLib.MeshObjectWithLOD
DXGfxLib.MeshRessourceFrameworkMesh is very a very convenient class when you only want to load a Mesh. This class does a bit the same thing except that it does only what I want and I might extend it in the future. Still basically it does pretty much the same thing as FrameworkMesh at this stage. It loads mesh geometry and textures. Also most of the time you will ask the ressource manager to get a MeshRessource for you and it will only load it once. Refcounting for a ressource might be desirable and I might end doing something just like that. At this stage it is not done though. It is easy to do but I still have to decide if I really need a ressource manager in this library or not
Game.Mission
Microsoft.Samples.DirectX.UtilityToolkit.ModelViewerCameraSimple model viewing camera class that rotates around the object
Game.Moving
Game.MovingAround
Microsoft.Samples.DirectX.UtilityToolkit.NativeMethodsWill hold native methods which are interop'd
Microsoft.Samples.DirectX.UtilityToolkit.NativeMethods.NativeMethods.MessageWindows Message
Microsoft.Samples.DirectX.UtilityToolkit.NativeMethods.NativeMethods.MinMaxInformationMinMax Info structure
Microsoft.Samples.DirectX.UtilityToolkit.NativeMethods.NativeMethods.MonitorInformationMonitor Info structure
Editor.NewAreaDialog
Editor.NewEventDialog
Editor.NewSceneDialog
Microsoft.Samples.DirectX.UtilityToolkit.NoCompatibleDevicesExceptionNo compatible devices were found for this application
Microsoft.Samples.DirectX.UtilityToolkit.NoDirect3DExceptionThe No Direct3D exception. Something really had to go wrong for this to occur
DXGfxLib.ObjectFromMeshRessourceThis is a MeshObject which uses a MeshRessource
DXGfxLib.ObjectFromObjThis class is used to load .obj file (wavefront format). It is not finished yet. It expect to read vertices with normal and texture information. If the file you pass to that class lack these information the object that will be displayed in the end will be ugly to say the least
DXGfxLib.OutDoorSceneThis is the main reason why this small library exist. I wanted to be able to display an outdoor scene with terrain without throwing everything I would have in that scene to the video card for each render pass. OutDoorScene inherits from the Scene class it does refine the algorithms for scene graph organisation upadte and draw using the asumption that the is a classical outdoor scene featuring a large terrain. Internally this class uses a quadtree. Some optimization impose that the depth of the quadtree has to be lower than 8. As it might be performance unfriendly to have a too deep tree I use a 4 level deep quadtree. This could be easily changed if needed
DXGfxLib.Serialization.OutDoorSceneSurrogate
DXGfxLib.PointAndClickHandlerThis class knows how to handle user inputs in a point and click scenario
GenerateIndices.Program
DXGfxLib.QuadTreeNodeA quadtree node is a special sceneNode that goes into a quadtree. Does it behaves differently from any other scenenode, not really except we want to know that we are dealing with a quadtree node and not just a simple scenenode this is why this class exists even if we don't perform any operation differently for it than for the base scenenode
DXGfxLib.QueryThis class only contains static member function that are helper function that can be use from scripts. There are functions to perform geometric queries, to react to events from script, to act on parent nodes
Microsoft.Samples.DirectX.UtilityToolkit.RadioButtonRadio button control
DXGfxLib.RawObject
Editor.ReferencesDialog
DXGfxLib.ReflectionHelper
Microsoft.Samples.DirectX.UtilityToolkit.ResettingDeviceExceptionResetting the device failed
Microsoft.Samples.DirectX.UtilityToolkit.ResettingDeviceObjectsExceptionResetting the device failed
Microsoft.Samples.DirectX.UtilityToolkit.ResourceCacheWill be a resource cache for any resources that may be required by a sample This class will be 'static'
Sample.Properties.ResourcesA strongly-typed resource class, for looking up localized strings, etc
Editor.Properties.ResourcesA strongly-typed resource class, for looking up localized strings, etc
SampleSceneLoader.Properties.ResourcesA strongly-typed resource class, for looking up localized strings, etc
Game.RessourceDepot
DXGfxLib.RessourceManagerAt the moment this class is only use to control that we load a MeshRessource only once. This is not completely fnished yet, for example there is no usage ref count. This will be implemented once I have decided if the library will start managing ressources or if these should always be managed by the calling code and that the library should remain only a scene graph libary. This is still undecided
Sample.Sample
DXGfxLib.SampleScene
DXGfxLib.Scene
DXGfxLib.SceneNodeA SceneNode is the basic building block of the scene graph. It keep track of its parent node and child nodes can be attached to it. It keep track of its bounding information and can update these when needed based on the children bounding information and positions. Also a scene node can be moved in several ways with or without moving the children in the same manner
DXGfxLib.SceneObject
DXGfxLib.Serialization.SceneObjectSurrogate
DXGfxLib.Serialization.SceneSurrogate
DXGfxLib.ScriptThe script class. This class contains the logic to build
DXGfxLib.ScriptHelpersThis will contain only static methods meant to be used from script
DXGfxLib.ScriptManagerWith the addition of scripts to scene node, we needed a central class to perform compilation and other services for the Script class so that it becomes usable. This is the role of the script manager. This class keeps track of whether the script are up to date and everything. It manage the compilation of the scripts..
Microsoft.Samples.DirectX.UtilityToolkit.ScrollBarA scroll bar control
SampleSceneLoader.Properties.Settings
Editor.Properties.Settings
Sample.Properties.Settings
Microsoft.Samples.DirectX.UtilityToolkit.SettingsDialogDialog for selection of device settings
DXGfxLib.SkyBoxThis class features a very raw and basic skybox. It loads everything from an x file
DXGfxLib.SkyDome
DXGfxLib.Serialization.SkyDomeSurrogate
Game.Sleeping
Microsoft.Samples.DirectX.UtilityToolkit.SliderSlider control
Microsoft.Samples.DirectX.UtilityToolkit.StaticTextStaticText text control
Game.Step
DXGfxLib.StringUtilThis helper class is not really meant to be instanciated but it's static methods are going to be very usefull for the kind of string manipulation we need in EterEngine. For example extract the extension of a fileName, struncate the base directory out of a full pathname and build relative path. Not a very exciting job but this has to be done
Microsoft.Samples.DirectX.UtilityToolkit.SwitchRefDialog
Game.Talking
Editor.TDView
DXGfxLib.TerrainTerrain2 class manage a full 3D Terrain2. The Terrain2 will be built from a 2D grey level bitmap, which size need to be 259*259 nad which format need to be bmp. At loading time you need to provide a D3ddevice and a ref to an outdoor scene. The Terrain2 will be build of a multitude of tiles that will be registered to the outdoor scene graph. The current implementation of OutDoorScene feature a Quadtree for efficient culling of a Terrain2 outdoor scene. The quadtree struture is also used to optimize intersection methods. The Terrain2 is multi textured. The method used is to render at max two texture per pass which should accomodate even very old 3D cards
DXGfxLib.Serialization.TerrainSurrogate
DXGfxLib.TerrainTileTerrainTile class is used by the terrain class. A terrain is built of a multitude of terraintile. TerrainTile derives from SceneObject, it has bounding information, and frustrum culling will be performed to know if the tile need to be rendered or not! You should not have to mess directly with Terrain tiles, this is why this class is marked as internal. Also if one day this assembly would need to be obfuscated, this would help obfuscation tools perform a better obfuscation
DXGfxLib.TerrainVertex
DXGfxLib.test
DXGfxLib.Test2
DXGfxLib.test3
Microsoft.Samples.DirectX.UtilityToolkit.TextHelperManages the intertion point when drawing text
DXGfxLib.TexturedPlaneThis class is used by the water class for exemple. It just makes a plane :)
Microsoft.Samples.DirectX.UtilityToolkit.TextureNodeStructure for shared textures
DXGfxLib.ThirdPersonCameraThie class is a third person camera. The camera will stay behind the specified scene node. YOu can rotate around it to a certain extend with the mouse while pressing the third button
Game.Tiger
DXGfxLib.tiger
Game.TigerChannel
DXGfxLib.TimeLineOur scene node also have a TimeLine associated with them. Here we manage events. Events are added on the timeline and the timeline has the responsability to fire them when needed
Editor.TimeLineView
Microsoft.Samples.DirectX.UtilityToolkit.TimerDataStores timer callback information
DXGfxLib.Triangles
DXGfxLib.TriggerTriggers are a specific kind of world Area that have actions associated with them. The actions are triggered when an object enter the Area of the trigger. Trigger could react only to some specific types entering the Area or named object, they could post events or perform any kind of other actions
Microsoft.Samples.DirectX.UtilityToolkit.UtilityMisc utility functionality
Game.Vegetals
DXGfxLib.VerticesMapping
DXGfxLib.WaterThis class is used to get some water displayed on screen
DXGfxLib.Water2
DXGfxLib.Serialization.Water2Surrogate
Game.WorldWe use this class to keep track of some global objects or list of objects ! Like entities sometime need to query the world for information to take IA decision
Game.WorldEntity
Game.WorldLocation
DXGfxLib.ZMaskThis class is used to calculate a but mask around bouding boxes. Could be use to further refine frustrum culling. Not used at the moment

Generated on Thu Jan 8 20:48:15 2009 for DXGfx by  doxygen 1.5.8