1#ifndef _Lego3DManager_h
2#define _Lego3DManager_h
134 double Render(
double p_und);
146 int SetFrustrum(
float p_fov,
float p_front,
float p_back);
200 assert(m_pLego3DView);
202 return m_pLego3DView->
Add(rROI);
208 assert(m_pLego3DView);
210 return m_pLego3DView->
Remove(rROI);
216 assert(m_pLego3DView);
224 assert(m_pLego3DView);
226 return m_pLego3DView->
Moved(rROI);
236 assert(m_pLego3DView);
244 return m_pLego3DView;
249 return m_pViewLODListManager;
[AI] Central class managing the LEGO Island 3D rendering subsystem.
BOOL Create(CreateStruct &rCreateStruct)
[AI] Initializes the LEGO 3D system using the specified creation parameters.
Tgl::Renderer * GetRenderer()
[AI] Provides access to the underlying Tgl::Renderer instance.
int SetFrustrum(float p_fov, float p_front, float p_back)
[AI] Sets the 3D perspective frustum parameters for camera and view.
void Destroy()
[AI] Cleans up the 3D system and destroys internal objects.
Lego3DManager()
[AI] Constructs and initializes the Lego3DManager in an uninitialized state.
BOOL Moved(ViewROI &rROI)
[AI] Notifies the manager that the ROI has moved and needs spatial update.
Tgl::Group * GetScene()
[AI] Returns the root Tgl::Group for the 3D scene.
BOOL Add(ViewROI &rROI)
[AI] Adds a ViewROI (rendered object) to the scene.
ViewLODListManager * GetViewLODListManager()
[AI] Returns the internal ViewLODListManager instance.
double Render(double p_und)
[AI] Renders the current frame.
Lego3DView * GetLego3DView()
[AI] Returns the encapsulated Lego3DView instance.
BOOL Remove(ViewROI &rROI)
[AI] Removes a ViewROI from the scene.
BOOL SetPointOfView(ViewROI &rROI)
[AI] Sets the camera's point of view to match the given ROI.
virtual ~Lego3DManager()
[AI] Destructor.
[AI] Represents a 3D view for rendering and managing LEGO game objects in a 3D scene.
BOOL Add(ViewROI &rROI)
[AI] Adds a ViewROI (renderable object instance) to the scene.
BOOL SetPointOfView(ViewROI &rROI)
[AI] Sets the current point of view to the specified ViewROI and updates the camera transformation.
BOOL Moved(ViewROI &rROI)
[AI] Notifies the view that a ViewROI has moved.
BOOL Remove(ViewROI &rROI)
[AI] Removes a ViewROI from the scene.
Tgl::Group * GetScene() const
[AI] Accessor for the root scene group.
[AI] Scene graph node for parental transforms/color/material/texture; can hold meshes or other groups...
[AI] Main interface/factory for rendering resources and scene graphs.
[AI] Manages the lifecycle, lookup, and sharing of ViewLODList instances for different ROI names.
[AI] ViewROI objects represent viewable and placeable objects in the scene, each holding their own tr...
[AI] Namespace containing all classes related to the 3D graphics abstraction/rendering engine.
[AI] Construction parameters for initializing the 3D system.
IDirectDrawSurface * m_pFrontBuffer
[AI] DirectDraw front buffer surface
IDirect3D2 * m_direct3d
[AI] Direct3D interface
IDirectDrawPalette * m_pPalette
[AI] Color palette for indexed display modes
IDirect3DDevice2 * m_d3dDevice
[AI] Direct3D device to use for rendering
HWND m_hWnd
[AI] Window handle to associate DirectDraw surfaces with
IDirectDrawSurface * m_pBackBuffer
[AI] DirectDraw back buffer surface
const GUID * m_pDriverGUID
[AI] Pointer to DirectDraw driver GUID to use (NULL for default)
IDirectDraw * m_pDirectDraw
[AI] Pointer to active DirectDraw interface
BOOL m_isFullScreen
[AI] TRUE if 3D system should run in full-screen mode
BOOL m_isWideViewAngle
[AI] TRUE for wide-angle (FOV) projection