Теперь создаю текстуру так
D3DXCreateTexture( g_device, g_width, g_height, 1, D3DUSAGE_RENDERTARGET, D3DFMT_X8R8G8B8, D3DPOOL_DEFAULT, &g_renderTexture );
g_width, g_height - разрешение
Квад так( спасибо за ссылку )
g_device->CreateVertexBuffer( 6 * sizeof( Vertex2D ), D3DUSAGE_WRITEONLY, D3DFVF_XYZ | D3DFVF_TEX1, D3DPOOL_DEFAULT, &g_quadVB, 0 );
Vertex2D vertices[ ] = { Vertex2D( -0.5, -0.5, 0, 0, 0 ), Vertex2D( g_width - 0.5, 0 - 0.5, 0, 1, 0 ), Vertex2D ( 0 - 0.5, g_height - 0.5, 0, 0, 1 ),
Vertex2D( g_width - 0.5, 0 - 0.5, 0, 1, 0 ), Vertex2D( g_width - 0.5, g_height - 0.5, 0, 1, 1 ), Vertex2D ( 0 - 0.5, g_height - 0.5, 0, 0, 1 ) };
void * data = 0;
g_quadVB->Lock( 0, 0, &data, 0 );
memcpy( data, vertices, sizeof( Vertex2D ) * 6 );
g_quadVB->Unlock( );
Никакого мыла нет теперь.
А на сколько производительность падает при отрисовке сначала в текстуру, а затем квада с текстурой?