14#ifndef WDXGRAPHICSPIPE9_H
15#define WDXGRAPHICSPIPE9_H
27class EXPCL_PANDADX wdxGraphicsPipe9 :
public WinGraphicsPipe {
30 virtual ~wdxGraphicsPipe9();
37 bool find_best_depth_format(
DXScreenData &Display, D3DDISPLAYMODE &Test_display_mode,
38 D3DFORMAT *pBestFmt,
bool bWantStencil,
39 bool bForce16bpp,
bool bVerboseMode =
false)
const;
42 UINT RequestedX_Size, UINT RequestedY_Size,
43 bool bWantZBuffer,
bool bWantStencil,
44 UINT *p_supported_screen_depths_mask,
45 bool *pCouldntFindAnyValidZBuf,
46 D3DFORMAT *pSuggestedPixFmt,
47 bool bForce16bppZBuffer,
48 bool bVerboseMode =
false);
57 GraphicsEngine *engine,
65 bool find_all_card_memavails();
68 dx7_driver_enum_callback(GUID *pGUID, TCHAR *strDesc, TCHAR *strName,
69 VOID *argptr, HMONITOR hm);
77 typedef LPDIRECT3D9 (WINAPI *Direct3DCreate9_ProcPtr)(UINT SDKVersion);
78 typedef HRESULT (WINAPI * LPDIRECTDRAWCREATEEX)(GUID FAR * lpGuid, LPVOID *lplpDD, REFIID iid, IUnknown FAR *pUnkOuter);
80 LPDIRECTDRAWCREATEEX _DirectDrawCreateEx;
81 LPDIRECTDRAWENUMERATEEX _DirectDrawEnumerateExA;
82 Direct3DCreate9_ProcPtr _Direct3DCreate9;
88 DWORD _max_available_video_memory;
89 bool _is_low_memory_card;
91 DWORD VendorID, DeviceID;
94 typedef pvector<CardID> CardIDs;
101 static void init_type() {
102 WinGraphicsPipe::init_type();
104 WinGraphicsPipe::get_class_type());
107 return get_class_type();
109 virtual TypeHandle force_init_type() {init_type();
return get_class_type();}
114 friend class wdxGraphicsWindow9;
A container for the various kinds of properties we might ask to have on a graphics frameBuffer before...
An abstract device object that is part of Graphics Pipe.
This is a base class for the various different classes that represent the result of a frame of render...
Encapsulates all the communication with a particular instance of a given rendering backend.
TypeHandle is the identifier used to differentiate C++ class types.
A container for the various kinds of properties we might ask to have on a graphics window before we o...
static PointerTo< GraphicsPipe > pipe_constructor()
This function is passed to the GraphicsPipeSelection object to allow the user to make a default wdxGr...
virtual std::string get_interface_name() const
Returns the name of the rendering interface associated with this GraphicsPipe.
bool special_check_fullscreen_resolution(DXScreenData &scrn, UINT x_size, UINT y_size)
overrides of the general estimator for known working cases
virtual PointerTo< GraphicsDevice > make_device(void *scrn)
Creates a new reference to a particular hardware device and associates it with the pipe.
void search_for_valid_displaymode(DXScreenData &scrn, UINT RequestedX_Size, UINT RequestedY_Size, bool bWantZBuffer, bool bWantStencil, UINT *p_supported_screen_depths_mask, bool *pCouldntFindAnyValidZBuf, D3DFORMAT *pSuggestedPixFmt, bool bForce16bppZBuffer, bool bVerboseMode=false)
All ptr args are output parameters.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
void register_type(TypeHandle &type_handle, const std::string &name)
This inline function is just a convenient way to call TypeRegistry::register_type(),...
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.