Большая часть примеров кода из Microsoft DirectX SDK включает переменные, которые используют префикс g_
для переменных Windows API, а также переменные конвейера DirectX, такие как swapchain.
Вот несколько примеров:
D3D10_DRIVER_TYPE g_driverType;
ID3D10Device* g_pd3dDevice;
IDXGISwapChain* g_pSwapChain;
ID3D10RenderTargetView* g_pRenderTargetView;
ID3D10Effect* g_pEffect;
ID3D10EffectTechnique* g_pTechnique;
ID3D10InputLayout* g_pVertexLayout;
ID3D10Buffer* g_pVertexBuffer;
ID3D10Buffer* g_pIndexBuffer;
ID3D10EffectMatrixVariable* g_pWorldVariable;
ID3D10EffectMatrixVariable* g_pViewVariable;
ID3D10EffectMatrixVariable* g_pProjectionVariable;
D3DXMATRIX g_World;
D3DXMATRIX g_View;
D3DXMATRIX g_Projection;
Какова причина этого? Я не понимаю, что означает g_
, и почему бы вам не использовать более удобные имена, такие как «SwapChain». Может ли кто-нибудь объяснить?