Kicking it Olde Sküül! Burgerlib on Github Follow Olde Sküül on Twitter Burgerbecky on LinkedIn Burgerbecky on LinkedIn
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Burger::DisplayDirectX9Software8 Class Reference
Inheritance diagram for Burger::DisplayDirectX9Software8:
Inheritance graph
[legend]
Collaboration diagram for Burger::DisplayDirectX9Software8:
Collaboration graph
[legend]

Public Member Functions

 DisplayDirectX9Software8 (GameApp *pGameApp)
 
uint_t Init (uint_t uWidth, uint_t uHeight, uint_t uDepth=32, uint_t uFlags=DEFAULTFLAGS) override
 
void Shutdown (void) override
 
void BeginScene (void) override
 
void EndScene (void) override
 
RendererGetRenderer (void)
 
- Public Member Functions inherited from Burger::DisplayDirectX9
const Burger::StaticRTTIget_StaticRTTI (void) const noexcept override
 Get the description to the class.
 
 DisplayDirectX9 (GameApp *pGameApp)
 
 ~DisplayDirectX9 ()
 
uint_t Init (uint_t uWidth, uint_t uHeight, uint_t uDepth=32, uint_t uFlags=DEFAULTFLAGS) override
 
void Shutdown (void) override
 
void BeginScene (void) override
 
void EndScene (void) override
 
TextureCreateTextureObject (void) override
 
VertexBufferCreateVertexBufferObject (void) override
 
void Resize (uint_t uWidth, uint_t uHeight) override
 
void SetViewport (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight) override
 
void SetScissorRect (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight) override
 
void SetClearColor (float fRed, float fGreen, float fBlue, float fAlpha) override
 
void SetClearDepth (float fDepth) override
 
void Clear (uint_t uMask) override
 
void Bind (Texture *pTexture, uint_t uIndex=0) override
 
void Bind (Effect *pEffect) override
 
void SetBlend (uint_t bEnable) override
 
void SetBlendFunction (eSourceBlendFactor uSourceFactor, eDestinationBlendFactor uDestFactor) override
 
void SetLighting (uint_t bEnable) override
 
void SetZWrite (uint_t bEnable) override
 
void SetDepthTest (eDepthFunction uDepthFunction) override
 
void SetCullMode (eCullMode uCullMode) override
 
void SetScissor (uint_t bEnable) override
 
void DrawPrimitive (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer) override
 
void DrawElements (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer) override
 
IDirect3DVertexShader9 * CreateVertexShader (const void *pVertexShaderBinary) const
 
IDirect3DPixelShader9 * CreatePixelShader (const void *pPixelShaderBinary) const
 
IDirect3D9 * GetDirect3D9 (void) const
 
IDirect3DDevice9 * GetDirect3DDevice9 (void) const
 
ID3DXMatrixStack * GetD3DXMatrixStack (void) const
 
uint_t OnlyPowerOf2 (void) const
 
uint_t IsVSynced (void) const
 
uint_t FullScreenGammaSupported (void) const
 
uint_t CanCalibrateGamma (void) const
 
uint_t IsRasterSlopeScaleDepthBias (void) const
 
uint_t IsRasterDepthBias (void) const
 
uint_t IsnVidia (void) const
 
uint_t IsATI (void) const
 
uint_t IsIntel (void) const
 
uint_t GetMaxTextureWidth (void) const
 
uint_t GetMaxTextureHeight (void) const
 
uint_t GetMaxTextureStages (void) const
 
uint_t GetMaxPossibleAnisotropy (void) const
 
uint_t GetClearColor (void) const
 
float GetClearDepth (void) const
 
const _D3DSURFACE_DESC * GetBackBufferSurfaceDesc9 (void) const
 Return the pointer to a D3DSURFACE_DESC for the current device.
 
const _D3DCAPS9 * GetCaps (void) const
 Return the pointer to a D3DCAPS9 for the current device.
 
IDirect3D9 * LoadDirect3D9 (void)
 Create an IDirect3D9 instance.
 
void InitState (void)
 Set all of DirectX 9's rendering states to defaults.
 
uint_t GetAdapterOrdinalFromMonitor (HMONITOR__ *hMonitor, uint_t *pAdapterOrdinal)
 Get the adapter ordinal from HMONITOR.
 
uint_t GetDesktopResolution (uint_t uAdapterOrdinal, uint_t *pWidth, uint_t *pHeight)
 Get the desktop resolution of a display.
 
void UpdateEnumeration (uint_t bForce)
 Enumerate devices if not already cached.
 
void UpdateBackBufferDesc (void)
 Load the back buffer description from the DirectX 9 device.
 
uint_t ToggleFullScreen (void)
 Toggle full screen and windowed mode.
 
uint_t ToggleREF (void)
 Toggle hardware and software renderer.
 
void CheckForWindowSizeChange (void) override
 Resize the back buffer if the window size changed.
 
void CheckForWindowChangingMonitors (void) override
 Check if the window has changed monitors.
 
- Public Member Functions inherited from Burger::Display
 Display (GameApp *pGameApp)
 Default constructor.
 
virtual ~Display ()
 Default destructor.
 
uint_t Init (uint_t uWidth, uint_t uHeight, uint_t uDepth=32, uint_t uFlags=DEFAULTFLAGS)
 Initialize the display.
 
void Shutdown (void)
 Shut down the current video display context.
 
void BeginScene (void)
 Prepare the display for rendering.
 
void EndScene (void)
 Render the scene to the display.
 
TextureCreateTextureObject (void)
 
VertexBufferCreateVertexBufferObject (void)
 
void Resize (uint_t uWidth, uint_t uHeight)
 
void SetViewport (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight)
 
void SetScissorRect (uint_t uX, uint_t uY, uint_t uWidth, uint_t uHeight)
 
void SetClearColor (float fRed, float fGreen, float fBlue, float fAlpha)
 
void SetClearDepth (float fDepth)
 
void Clear (uint_t uMask)
 
void Bind (Texture *pTexture, uint_t uIndex=0)
 
void Bind (Effect *pEffect)
 
void SetBlend (uint_t bEnable)
 
void SetBlendFunction (eSourceBlendFactor uSourceFactor, eDestinationBlendFactor uDestFactor)
 
void SetLighting (uint_t bEnable)
 
void SetZWrite (uint_t bEnable)
 
void SetDepthTest (eDepthFunction uDepthFunction)
 
void SetCullMode (eCullMode uCullMode)
 
void SetScissor (uint_t bEnable)
 
void DrawPrimitive (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer)
 
void DrawElements (ePrimitiveType uPrimitiveType, VertexBuffer *pVertexBuffer)
 
tagWINDOWPLACEMENT * GetWindowedPlacement (void) noexcept
 Return the pointer to a WINDOWPLACEMENT.
 
uint_t HandleMinMax (HWND__ *pWindow, uintptr_t lParam)
 Handler for WM_GETMINMAXINFO events.
 
D3DVertexShader * CreateVertexShader (const void *pVertexShaderBinary) const
 
D3DPixelShader * CreatePixelShader (const void *pPixelShaderBinary) const
 
D3DDevice * GetD3DDevice (void) const noexcept
 
void InitState (void)
 
uint_t IsWideScreen (void) noexcept
 
uint_t IsHiDef (void) noexcept
 
uint_t IsInterlaced (void) noexcept
 
NSView * GetView (void) const noexcept
 Get the window's NSView.
 
NSWindowController * GetWindowController (void) const noexcept
 Get the window's NSWindowController.
 
NSOpenGLView * GetOpenGLView (void) const noexcept
 Get the window's NSOpenGLView.
 
_CGLContextObject * GetOpenGLContext (void) const noexcept
 Get the window's _CGLContextObject.
 
NSWindow * GetFullScreenWindow (void) const noexcept
 Get the window pointer.
 
void SetFullScreenWindow (NSWindow *pFullScreenWindow) noexcept
 Enable a full screen window and disable the primary game window.
 
EAGLContext * GetGLContext (void) const noexcept
 The currently active OpenGL context.
 
uint_t GetFrontBuffer (void) const noexcept
 Front buffer index.
 
uint_t GetColorBuffer (void) const noexcept
 Color buffer index.
 
uint_t GetDepthBuffer (void) const noexcept
 Depth buffer index.
 
void Pause (uint_t bPauseRendering)
 Pause or resume rendering.
 
TextureGetBoundTexture (uint_t uIndex=0) const noexcept
 
TextureCreateTexture (Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping and filters preset.
 
TextureCreateTexture (uint_t uWidth, uint_t uHeight, Image::ePixelTypes uPixelType, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with buffer and wrapping and filters preset.
 
TextureCreateTexturePNG (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTexturePNG (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTexturePNG (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureGIF (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureGIF (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureGIF (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureTGA (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureTGA (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureTGA (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureBMP (const char *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureBMP (Filename *pFilename, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
TextureCreateTextureBMP (RezFile *pRezFile, uint_t uRezNum, Texture::eWrapping uWrapping, Texture::eFilter uFilter)
 Create a texture object with wrapping, filters and a texture source.
 
VertexBufferCreateVertexBuffer (const VertexBuffer::VertexAoS_t *pDescription)
 Create a vertex buffer object with from a vertex description.
 
void SetPalette (uint_t uStart, uint_t uCount, const uint8_t *pPalette)
 Update the color palette.
 
void SetPalette (uint_t uStart, uint_t uCount, const RGBAWord8_t *pPalette)
 Update the color palette.
 
void SetBorderColor (uint_t uColor)
 Update the display border color.
 
void SetWindowTitle (const char *pTitle)
 Set the display window title.
 
void SetPaletteBlack (void)
 Set the screen palette to all black.
 
void SetPaletteWhite (void)
 Set the screen palette to all white.
 
void SetPalette (const uint8_t *pPalette)
 Update the color palette.
 
void SetPalette (const RGBAWord8_t *pPalette)
 Update the color palette.
 
void SetPalette (void **pHandle)
 Update the color palette using a memory handle.
 
void SetPalette (RezFile *pRez, uint_t uResID)
 Update the color palette using a resource.
 
void SetPalette (uint_t uStart, uint_t uCount, RezFile *pRez, uint_t uResID)
 Update a partial color palette using a resource.
 
void FadeTo (const uint8_t *pPalette, FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to a palette.
 
void FadeToBlack (FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to black.
 
void FadeToWhite (FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to white.
 
void FadeTo (RezFile *pRez, uint_t uResID, FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to a palette.
 
void FadeTo (void **pHandle, FadeProc pProc=nullptr, void *pData=nullptr)
 Fade the hardware palette to a palette.
 
GameAppGetGameApp (void) const noexcept
 Get the parent application pointer.
 
uint_t GetWidth (void) const noexcept
 Get the width in pixels of the display buffer.
 
uint_t GetHeight (void) const noexcept
 Get the height in pixels of the display buffer.
 
uint_t GetDepth (void) const noexcept
 Get the depth in bits of the display buffer.
 
uint_t GetFlags (void) const noexcept
 Get the flags associated with this Display class instance.
 
uint_t GetDisplayWidth (void) const noexcept
 Get the width in pixels of the display hardware.
 
uint_t GetDisplayHeight (void) const noexcept
 Get the height in pixels of the display hardware.
 
float GetWidthFloat (void) const noexcept
 Get the width in pixels of the display buffer.
 
float GetHeightFloat (void) const noexcept
 Get the height in pixels of the display buffer.
 
float GetAspectRatioX (void) const noexcept
 Get the aspect ratio in the format of width/height.
 
float GetAspectRatioY (void) const noexcept
 Get the aspect ratio in the format of height/width.
 
eAspectRatio GetAspectRatio (void) const
 Get the enumeration of the screen aspect ratio.
 
const uint8_t * GetPalette (void) const noexcept
 Get the current palette.
 
uint_t GetBorderColor (void) const noexcept
 Get the hardware border color.
 
uint_t GetFadeSpeed (void) const noexcept
 Return the timer constant in Burger::Tick.
 
void SetFadeSpeed (uint_t uPaletteFadeSpeed) noexcept
 Set the timer constant in Burger::Tick.
 
uint_t GetPaletteVSync (void) const noexcept
 Return non-zero if palette updates are synced to vertical blank.
 
void SetPaletteVSync (uint_t bPaletteVSync) noexcept
 Set the flag to enable palette updates.
 
void SetResizeCallback (ResizeProc pResize, void *pResizeData) noexcept
 Set window resize callback.
 
ResizeProc GetResizeCallback (void) const noexcept
 Return the function pointer for the callback when the window's size is changed.
 
void * GetResizeCallbackData (void) const noexcept
 Return the window resize function.
 
void SetRenderCallback (RenderProc pRender, void *pRenderData) noexcept
 Set window update function.
 
RenderProc GetRenderCallback (void) const noexcept
 Set the window updat function.
 
void * GetRenderCallbackData (void) const noexcept
 Get the redraw callback function.
 
void SetReleaseCallback (ReleaseProc pRelease, void *pReleaseData) noexcept
 Set the purge callback.
 
ReleaseProc GetReleaseCallback (void) const noexcept
 Purge resource callback.
 
void * GetReleaseCallbackData (void) const noexcept
 Return pointer to callback void *.
 
- Public Member Functions inherited from Burger::Base
const char * get_class_name (void) const noexcept
 Get the name of the class.
 
virtual ~Base () noexcept=default
 Destructor.
 

Protected Member Functions

void FillVertexBuffer (void)
 Initialize the screen display vertex buffer.
 
long AllocateResources (void)
 Initialize resources needed to draw a video context.
 
void ReleaseResources (void)
 Release resources needed to draw a video context.
 
long ResetLostDevice (void)
 Restart a lost device.
 
- Protected Member Functions inherited from Burger::DisplayDirectX9
uint_t ChangeDevice (const DeviceSettings_t *pNewSettings, uint_t bForceEnumeration, uint_t bClipWindowToSingleAdapter)
 Change or initialize a DirectX 9 device.
 
uint_t Create3DEnvironment (void)
 Create the D3D Device.
 
void Cleanup3DEnvironment (uint_t bClearSettings)
 Release the D3D device.
 
uint_t Reset3DEnvironment (void)
 Reset the D3D device.
 
void IssueDeviceLostCallback (void)
 Process the object reset flag.
 
uint_t IssueDeviceResetCallback (void)
 Call the device was reset callback.
 
void SetupCursor (void) const
 Enable / Disable hardware cursor.
 
void ReleaseRenderTargets (void)
 Release render targets.
 
uint_t SnapDeviceSettingsToEnumDevice (DeviceSettings_t *pDeviceSettings, uint_t bForceEnumeration)
 Find the closest match to a device.
 
- Protected Member Functions inherited from Burger::Display
void InitDefaults (GameApp *pGameApp)
 Initialize shared variables.
 
void SetWidthHeight (uint_t uWidth, uint_t uHeight)
 Set the width and height of the screen.
 

Protected Attributes

IDirect3DPixelShader9 * m_pPixelShader8Bit
 Pointer to the 8 bit pixel shader.
 
IDirect3DTexture9 * m_pBitMapTextureSysMem
 Texture for the 8 bit offscreen buffer.
 
IDirect3DTexture9 * m_pBitMapTexture
 Texture for the 8 bit video memory buffer.
 
IDirect3DTexture9 * m_pPaletteTexture
 Texture for the palette.
 
IDirect3DVertexBuffer9 * m_pVertexBuffer
 Vertex buffer to blit the software buffer to hardware.
 
RendererSoftware8 m_Renderer
 Software renderer context.
 
uint_t m_bFrontBufferTrueColor
 TRUE if the front buffer is true color (Not 8 bit paletted)
 
uint_t m_uResetAttempts
 Number of tries to restore the video display.
 
- Protected Attributes inherited from Burger::Display
GameAppm_pGameApp
 Pointer to the game application instance.
 
Rendererm_pRenderer
 Pointer to a renderer.
 
uint32_t m_WindowPlacement [11]
 WINDOWPLACEMENT record.
 
D3DDevice * m_pD3DDevice
 (Xbox 360 Only) Direct 3D device
 
uint_t m_uClearColor
 (Xbox 360 Only) 32 bit RGBA color for screen clear
 
float m_fClearDepth
 (Xbox 360 Only) ZValue to write for screen clear
 
uint_t m_bWideScreen
 (Xbox 360 Only) TRUE if wide screen display is active
 
NSView * m_pView
 (MacOSX Only) Pointer to the main view
 
NSWindowController * m_pWindowController
 (MacOSX Only) Pointer to the window controller
 
NSOpenGLView * m_pOpenGLView
 (MacOSX Only) Pointer to the OpenGL view
 
_CGLContextObject * m_pOpenGLContext
 (MacOSX Only) Pointer to the OpenGL context
 
NSWindow * m_pFullScreenWindow
 (MacOSX Only) Pointer to the main full screen window
 
EAGLContext * m_pEAGLContext
 (iOS Only) OpenGL Context
 
uint_t m_uFrontBuffer
 (iOS Only) Main render buffer GL name
 
uint_t m_uColorRenderBuffer
 (iOS Only) Color render buffer GL name
 
uint_t m_uDepthRenderBuffer
 (iOS Only) Depth buffer for rendering
 
ResizeProc m_pResize
 Callback if the screen changed sizes.
 
void * m_pResizeData
 pThis pointer for m_pResize calls
 
RenderProc m_pRender
 Callback if the operating system requests a scene draw.
 
void * m_pRenderData
 pThis pointer for m_pRender calls
 
ReleaseProc m_pRelease
 Callback if the operating system requests a scene draw.
 
void * m_pReleaseData
 pThis pointer for m_pRender calls
 
Texturem_pBoundTextures [8]
 Bound textures for the current context.
 
uint_t m_uWidth
 Width in pixels of the display buffer.
 
uint_t m_uHeight
 Height in pixels of the display buffer.
 
uint_t m_uDepth
 Depth in bits of the display buffer.
 
uint_t m_uFlags
 Flags for describing available features.
 
uint_t m_uDisplayWidth
 Width of the display hardware (Can differ from m_uWidth for pixel stretching)
 
uint_t m_uDisplayHeight
 Height of the display hardware (Can differ from m_uHeight for pixel stretching)
 
uint_t m_uDisplayDepth
 Depth of the display hardware (Can differ from m_uDepth for pixel depth change)
 
float m_fWidth
 Width of the rendering target as a float.
 
float m_fHeight
 Height of the rendering target as a float.
 
float m_fAspectRatioX
 Width/Height.
 
float m_fAspectRatioY
 Height/Width.
 
uint_t m_uBorderColor
 Hardware border color (MSDOS / Amiga only)
 
uint_t m_uPaletteFadeSpeed
 Speed in 1/60ths of a second for a palette fade.
 
int m_iPauseRenderingCount
 Rendering pausing reference count.
 
uint8_t m_bRenderingPaused
 If TRUE, rendering is paused.
 
uint8_t m_bPaletteDirty
 TRUE if the palette buffer was changed
 
uint8_t m_bPaletteVSync
 TRUE if palette updates sync to video
 
uint8_t m_bNotUsed [1]
 Padding.
 
uint8_t m_Palette [256 *3]
 Palette of 256 RGB values.
 

Additional Inherited Members

- Public Types inherited from Burger::DisplayDirectX9
enum  { DIRECTXRESETATTEMPTS =30 }
 
typedef uint_t(* IsDeviceOkayProc) (const _D3DCAPS9 *pCaps, uint_t uAdapterFormat, uint_t uBackBufferFormat, uint_t bWindowed, void *pData)
 
typedef uint_t(* DeviceSettingsFilterProc) (DeviceSettings_t *pDeviceSettings, void *pData)
 
typedef void(* CallbackProc) (void *pData)
 
typedef uint_t(* DeviceCreatedProc) (IDirect3DDevice9 *pD3DDevice, const _D3DSURFACE_DESC *pBackBufferSurfaceDesc, void *pData)
 
- Public Types inherited from Burger::Display
enum  {
  INWINDOW = 0x0 , FULLSCREEN = 0x1 , ALLOWFULLSCREENTOGGLE = 0x2 , ALLOWRESIZING = 0x4 ,
  MAINTAIN_ASPECT_RATIO = 0x8 , STENCILENABLE = 0x20 , FULLPALETTEALLOWED = 0x40 , STEREO = 0x80 ,
  MULTITHREADED = 0x100 , GAMMAENABLE = 0x200 , DITHERENABLE = 0x400 , INTERLACEENABLE = 0x800 ,
  LANDSCAPE = 0x0000 , PORTRAIT = 0x1000 , INVERTED = 0x2000 , LANDSCAPEINVERTED = 0x2000 ,
  PORTRAITINVERTED = 0x3000 , PALMODE = 0x4000 , DEFAULTFLAGS = INWINDOW
}
 
enum  eAspectRatio {
  kAspectRatioUnknown , kAspectRatio1x1 , kAspectRatio4x3 , kAspectRatio16x10 ,
  kAspectRatio16x9 , kAspectRatio21x9 , kAspectRatio32x9 , kAspectRatioCustom ,
  kAspectRatioCount
}
 
enum  eClearBits { CLEAR_COLOR = 0x01 , CLEAR_DEPTH = 0x02 , CLEAR_STENCIL = 0x04 }
 Settings for Clear(uint_t) More...
 
enum  eDepthFunction {
  DEPTHCMP_NEVER , DEPTHCMP_LESS , DEPTHCMP_EQUAL , DEPTHCMP_LESSEQUAL ,
  DEPTHCMP_GREATER , DEPTHCMP_NOTEQUAL , DEPTHCMP_GREATEREQUAL , DEPTHCMP_ALWAYS
}
 Settings for SetDepthTest(eDepthFunction) More...
 
enum  eCullMode { CULL_NONE , CULL_CLOCKWISE , CULL_COUNTERCLOCKWISE }
 Settings for SetCullMode(eCullMode) More...
 
enum  eSourceBlendFactor {
  SRCBLEND_ZERO , SRCBLEND_ONE , SRCBLEND_COLOR , SRCBLEND_ONE_MINUS_COLOR ,
  SRCBLEND_SRC_ALPHA , SRCBLEND_ONE_MINUS_SRC_ALPHA , SRCBLEND_DST_ALPHA , SRCBLEND_ONE_MINUS_DST_ALPHA ,
  SRCBLEND_SRC_ALPHA_SATURATE
}
 Settings for SetBlendFunction(eSourceBlendFactor) More...
 
enum  eDestinationBlendFactor {
  DSTBLEND_ZERO , DSTBLEND_ONE , DSTBLEND_COLOR , DSTBLEND_ONE_MINUS_COLOR ,
  DSTBLEND_DST_ALPHA , DSTBLEND_ONE_MINUS_DST_ALPHA , DSTBLEND_SRC_ALPHA , DSTBLEND_ONE_MINUS_SRC_ALPHA
}
 Settings for SetBlendFunction(eDestinationBlendFactor) More...
 
enum  ePrimitiveType {
  PRIM_POINTS , PRIM_LINES , PRIM_LINESTRIP , PRIM_TRIANGLES ,
  PRIM_TRIANGLESTRIP , PRIM_TRIANGLEFAN
}
 Describe how to render a vertex array. More...
 
typedef uint_t(* FadeProc) (void *pThis, uint_t uStep)
 Callback function prototype for palette fading functions.
 
typedef void(* ResizeProc) (void *pThis, uint_t uWidth, uint_t uHeight)
 Callback function prototype for window resizing.
 
typedef void(* RenderProc) (void *pThis)
 Callback function for rendering the scene.
 
typedef void(* ReleaseProc) (void *pThis)
 Callback function for releasing resources on shutdown.
 
- Static Public Member Functions inherited from Burger::Display
static float GetRetinaScale (void) noexcept
 Get the scale factor for the retina display.
 
static uint_t GetVideoModes (ClassArray< VideoCardDescription > *pOutput)
 Get a list of available video modes.
 
static uint_t GetDefaultWidth (void) noexcept
 Get the width of the default monitor.
 
static uint_t GetDefaultHeight (void) noexcept
 Get the height of the default monitor.
 
static uint_t GetDefaultDepth (void) noexcept
 Get the pixel depth of the default monitor.
 
static uint_t GetDefaultHertz (void) noexcept
 Get the refresh rate of the default monitor.
 
static uint_t GetDefaultTotalWidth (void) noexcept
 Get the width of the default monitor.
 
static uint_t GetDefaultTotalHeight (void) noexcept
 Get the height of the default monitor.
 
static uint_t GetDefaultMonitorCount (void) noexcept
 Get the number of active monitors.
 
static eAspectRatio get_aspect_ratio (uint32_t uWidth, uint32_t uHeight, uint_t bExactOnly) noexcept
 Calculate the screen aspect ratio.
 
- Public Attributes inherited from Burger::DisplayDirectX9
Enumerator m_Enumerator
 Enumerated devices.
 
IsDeviceOkayProc m_pDeviceFilter
 Pointer to function to filter devices.
 
void * m_pDeviceFilterData
 Pointer to data for the filter device function.
 
DeviceSettingsFilterProc m_pModifyDeviceSettingsFunc
 Pointer to function to filter device settings.
 
void * m_pModifyDeviceSettingsData
 Pointer to data for filter device setting function.
 
DeviceCreatedProc m_pDeviceCreatedFunc
 Pointer to function to call when the device was created (D3DPOOL_MANAGED)
 
void * m_pDeviceCreatedFuncData
 Pointer to data for device was created function.
 
CallbackProc m_pDeviceDestroyedFunc
 Pointer to function to call when the device was destroyed (D3DPOOL_MANAGED)
 
void * m_pDeviceDestroyedFuncData
 Pointer to data for device was destroyed function.
 
DeviceCreatedProc m_pDeviceResetFunc
 Pointer to function to call after the device was reset (D3DPOOL_DEFAULT)
 
void * m_pDeviceResetFuncData
 Pointer to data for device was reset function.
 
CallbackProc m_pDeviceLostFunc
 Pointer to function to call when the device was lost (D3DPOOL_DEFAULT)
 
void * m_pDeviceLostFuncData
 Pointer to data for device was lost function.
 
IDirect3D9 * m_pDirect3D9
 Pointer to the Direct3D9 context.
 
IDirect3DDevice9 * m_pDirect3DDevice9
 Pointer to the Direct3D9 device.
 
ID3DXMatrixStack * m_pD3DXMatrixStack
 Pointer to the current D3DMatrix stack.
 
IDirect3DSurface9 * m_pDefaultRenderTarget
 
IDirect3DSurface9 * m_pCurrentRenderTarget
 
HMONITOR__ * m_AdapterMonitor
 the monitor of the adapter
 
uint_t m_bIgnoreSizeChange
 if true, don't reset the device upon window size change
 
uint_t m_uFullScreenBackBufferWidthAtModeChange
 back buffer size of full screen mode right before switching to windowed mode. Used to restore to same resolution when toggling back to fullscreen
 
uint_t m_uFullScreenBackBufferHeightAtModeChange
 back buffer size of full screen mode right before switching to windowed mode. Used to restore to same resolution when toggling back to fullscreen
 
uint_t m_uWindowBackBufferWidthAtModeChange
 back buffer size of windowed mode right before switching to full screen mode. Used to restore to same resolution when toggling back to windowed mode
 
uint_t m_uWindowBackBufferHeightAtModeChange
 back buffer size of windowed mode right before switching to full screen mode. Used to restore to same resolution when toggling back to windowed mode
 
uint_t m_uWindowedStyleAtModeChange
 window style
 
uint_t m_bTopmostWhileWindowed
 if TRUE, the windowed HWND is topmost
 
uint_t m_bDeviceObjectsReset
 if TRUE, then DeviceReset callback has been called successfully
 
uint_t m_bDeviceObjectsCreated
 if TRUE, then DeviceCreated callback has been called (if non-NULL)
 
uint_t m_bDeviceLost
 if TRUE, then the device is lost and needs to be reset
 
uint_t m_bInsideDeviceCallback
 if TRUE, then the framework is inside an app device callback
 
uint_t m_bDeviceCreated
 
uint_t m_bActive
 
uint_t m_bAutoChangeAdapter
 
uint_t m_bLostDevice
 TRUE if the device was lost (Minimized?)
 
uint_t m_bPower2Textures
 TRUE if only power of two textures are allowed.
 
uint_t m_bMultiRenderTargets
 TRUE if multiple render targets are supported.
 
uint_t m_bSeparateAlphaBlend
 TRUE if separated alpha blending is supported.
 
uint_t m_bSceneBegun
 TRUE if BeginScene() was called.
 
uint_t m_bFullScreenGamma
 TRUE if full screen gamma was supported.
 
uint_t m_bCanCalibrateGamma
 TRUE if gamma can be calibrated.
 
uint_t m_bRasterSlopeScaleDepthBias
 TRUE if sloped scaling depth bias is supported in rasterizer.
 
uint_t m_bRasterDepthBias
 TRUE if depth bias is supported in rasterizer.
 
uint_t m_bIsnVidia
 TRUE if the video card was made by nVidia.
 
uint_t m_bIsATI
 TRUE if the video card was made by ATI.
 
uint_t m_bIsIntel
 TRUE if the video card was made by Intel.
 
uint_t m_bShowCursorWhenFullScreen
 TRUE if the cursor is visible in full screen mode.
 
uint_t m_bClipCursorWhenFullScreen
 TRUE if the cursor is clipped in full screen mode.
 
uint_t m_uBackBufferFormat
 Requested back buffer format.
 
uint_t m_uMaxTextureWidth
 Maximum pixels wide a texture can be.
 
uint_t m_uMaxTextureHeight
 Maximum pixels tall a texture can be.
 
uint_t m_uMaxTextureStages
 Maximum number of texture blend stages.
 
uint_t m_uMaxTextureSamplers
 Maximum number of texture samplers.
 
uint_t m_uMaxPossibleAnisotropy
 Maximum number of anisotropy filters.
 
uint_t m_uClearColor
 RGBA of the color to clear the screen with.
 
uint_t m_uMatrixStackDepth
 Number of matrices in the matrix stack.
 
float m_fClearDepth
 Z Value to clear the Z buffer with.
 
DeviceSettings_t m_D3D9Settings
 D3D device settings.
 
uint32_t m_D3DSurfaceDesc [8]
 D3DSURFACE_DESC record.
 
uint32_t m_D3DCaps [76]
 D3DCAPS9 record.
 
- Static Public Attributes inherited from Burger::DisplayDirectX9
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Display
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Public Attributes inherited from Burger::Base
static const Burger::StaticRTTI g_StaticRTTI
 The global description of the class.
 
- Static Protected Member Functions inherited from Burger::Display
static void InitGlobals (void)
 Initialize video globals.
 
- Static Protected Attributes inherited from Burger::Display
static Globals_t g_Globals
 Global values initialized when the first Display class is created.
 

Constructor & Destructor Documentation

◆ DisplayDirectX9Software8()

Burger::DisplayDirectX9Software8::DisplayDirectX9Software8 ( GameApp * pGameApp)

Member Function Documentation

◆ AllocateResources()

long Burger::DisplayDirectX9Software8::AllocateResources ( void )
protected

Initialize resources needed to draw a video context.


This is called on device creation or device reset

◆ BeginScene()

void Burger::DisplayDirectX9Software8::BeginScene ( void )
override

◆ EndScene()

void Burger::DisplayDirectX9Software8::EndScene ( void )
override

◆ FillVertexBuffer()

void Burger::DisplayDirectX9Software8::FillVertexBuffer ( void )
protected

Initialize the screen display vertex buffer.


On initialization or screen resizing, a vertex buffer needs to be generated and data filled so that the screen update function can operate.

If the VideoContext was not initialized, this function does nothing.

◆ GetRenderer()

Renderer * Burger::DisplayDirectX9Software8::GetRenderer ( void )
inline

◆ Init()

uint_t Burger::DisplayDirectX9Software8::Init ( uint_t uWidth,
uint_t uHeight,
uint_t uDepth = 32,
uint_t uFlags = DEFAULTFLAGS )
override

◆ ReleaseResources()

void Burger::DisplayDirectX9Software8::ReleaseResources ( void )
protected

Release resources needed to draw a video context.


This is called on device shutdown or device reset

◆ ResetLostDevice()

long Burger::DisplayDirectX9Software8::ResetLostDevice ( void )
protected

Restart a lost device.


This is called on device shutdown or device reset

◆ Shutdown()

void Burger::DisplayDirectX9Software8::Shutdown ( void )
override

Member Data Documentation

◆ m_bFrontBufferTrueColor

uint_t Burger::DisplayDirectX9Software8::m_bFrontBufferTrueColor
protected

TRUE if the front buffer is true color (Not 8 bit paletted)

◆ m_pBitMapTexture

IDirect3DTexture9* Burger::DisplayDirectX9Software8::m_pBitMapTexture
protected

Texture for the 8 bit video memory buffer.

◆ m_pBitMapTextureSysMem

IDirect3DTexture9* Burger::DisplayDirectX9Software8::m_pBitMapTextureSysMem
protected

Texture for the 8 bit offscreen buffer.

◆ m_pPaletteTexture

IDirect3DTexture9* Burger::DisplayDirectX9Software8::m_pPaletteTexture
protected

Texture for the palette.

◆ m_pPixelShader8Bit

IDirect3DPixelShader9* Burger::DisplayDirectX9Software8::m_pPixelShader8Bit
protected

Pointer to the 8 bit pixel shader.

◆ m_pVertexBuffer

IDirect3DVertexBuffer9* Burger::DisplayDirectX9Software8::m_pVertexBuffer
protected

Vertex buffer to blit the software buffer to hardware.

◆ m_Renderer

RendererSoftware8 Burger::DisplayDirectX9Software8::m_Renderer
protected

Software renderer context.

◆ m_uResetAttempts

uint_t Burger::DisplayDirectX9Software8::m_uResetAttempts
protected

Number of tries to restore the video display.