home *** CD-ROM | disk | FTP | other *** search
/ NEXT Generation 27 / NEXT27.iso / pc / demos / emperor / dx3.exe / SDK / SAMPLES / DS3DVIEW / DS3DVI.H next >
C/C++ Source or Header  |  1996-08-28  |  2KB  |  58 lines

  1. /************************************************************************************************************
  2.  
  3.   Direct3DRM and DirectSound 3D interface designed for the Viewer Sample Application
  4.  
  5.   (c) 1996 Microsoft Corporation
  6.  
  7. ************************************************************************************************************/
  8.  
  9. #ifndef ___DS3DVIEWER_INTERNAL
  10. #define ___DS3DVIEWER_INTERNAL
  11.  
  12. // "Internal" structure definitions and other include information used by
  13. // the DS3DVIEW application.  We put this stuff here so other modules can
  14. // access it without great pain.
  15.  
  16. // Info for the 3D3RM  (RL info)
  17. typedef struct _AppInfo
  18. {   
  19.         // The parent frame 
  20.         LPDIRECT3DRMFRAME scene;
  21.         // The frame for the camera (a child of the scene)
  22.         LPDIRECT3DRMFRAME camera;
  23.         
  24.         // Device for Windows
  25.     LPDIRECT3DRMDEVICE dev;
  26.         // Defines how the 3D scene is rendered into the 2D window
  27.     LPDIRECT3DRMVIEWPORT view;
  28.         
  29.         // Defines which color model (RGB/Ramp) is used for rendering - used when creating a device
  30.         //  from the RL api
  31.     D3DRMCOLORMODEL model;
  32.  
  33.         // Whether or not the window is minimized (modified by the resizing handler)
  34.         BOOL bMinimized;
  35. } AppInfo;
  36.  
  37.  
  38.  
  39. /*
  40. ** Error Checking code
  41. */
  42. BOOL D3DRM_SUCCEED(HRESULT result, int force_critical = -1, char* info = NULL);
  43. BOOL DS3D_SUCCEED(HRESULT result, int force_critical = -1, char* info = NULL);
  44.  
  45.  
  46. /****** DirectSound3D Helper Stuff ************************************/
  47.  
  48. // Simple thing to copy vectors to each other independant of type
  49. #define RLV_TO_DSV(in,out) out.x = in.x;\
  50.                                                    out.y = in.y;\
  51.                                                    out.z = in.z;
  52.  
  53.  
  54. #endif
  55.  
  56.  
  57.  
  58.