#pragma once #pragma bss_seg(".nothing") static IDirect3DDevice9* d3dDevice; static IDirect3D9* d3d; static ID3DXBuffer* buffer[4]; static IDirect3DVertexShader9* vShader[4]; static IDirect3DPixelShader9* pShader[4]; #pragma data_seg(".screenX") static const int screenX = 640; #pragma data_seg(".screenY") static const int screenY = 480; #pragma data_seg(".quadVerts") static const float quadVerts[30] = { -1.0f,-1.0f, 1.0f, 0.0f, 1.0f, -1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, 1.0f, 1.0f, 1.0f, 1.0f, 0.0f, -1.0f,-1.0f, 1.0f, 0.0f, 1.0f, 1.0f, -1.0f, 1.0f, 1.0f, 1.0f }; struct InstanceData { float pos[4]; float intensity; }; #pragma data_seg(".devParams") static D3DPRESENT_PARAMETERS devParams = {screenX, screenY, D3DFMT_A8R8G8B8, 0, D3DMULTISAMPLE_NONE, 0, D3DSWAPEFFECT_DISCARD, 0, true, true, D3DFMT_D24S8, 0, 0, D3DPRESENT_INTERVAL_IMMEDIATE};