   Render Target
  If at some point (not at render time) I want to draw text into some texture, so I just write:Device->SetRenderTarget (texsurface);Device->BeginScene ();//render the textDevice->EndScene ();Device->Present ()Device->SetRenderTarget (BackBuffer);Would this work? Is there another way to do it?   
  So long as the texture surface is created as a render target, yes, that'll work.   ;  You'll need to remove the Present call, though, since you don't want to have the backbuffer displayed on the screen (since you havn't rendered to it).Also, the SDK docs recommend only calling Begin/End scene once per frame.Hope this helps.   ;  Do I need to use the present? This is just weird because if I do need to use it then if i don't, where will all the rendered data go?   ;  I thought that present will also show it into the render target. If I should use only one begin/end then how can I just update a texture with text?   ;  The call to present only copies anything drawn to the backbuffer to the front buffer - the screen. You should only call Present after you've created a full frame, and are ready to have it shown on the screen.Not calling present doesn't mean nothing is drawn. Any call to DrawPrimitive does the drawing as soon as it can. After a call to DP, the rendertarget contains the new data. After you've set the rendertarget and drawn, you can safely set the rendertarget back to the backbuffer, and use whatever it was you've drawn in the next call.Here's some psuedo code of how you'd want to have this ideally:BeginScene()SetRenderTarget(myTexture->GetSurfaceLevel(0))DrawPrim() (or Font->Draw, Mesh->Draw, or whatever)SetRenderTarget(backBuffer)SetTexture(myTexture)DrawPrim()EndScene()Present()Hope this makes more sense :)   ;  Yeah, thanks, I understand it now. Actually, I already said that I need to update the texture at non render time, so I guess i just won't use the present here. BTW, you said that everything would work even if I didn't call Present () (except drawing on the screen). So that means that I can call GetRenderTarget after I'm done with the scene and then I can have access to all the data of the scene, and it'll be the same as it would be on the screen if i called Present ()?Oh, one thing here is weird - After drawing all the primitives, there is the part of all the 2d calculations (called rasterization i think). So this means that this job is done by EndScene ()? Thats the only once called between the DPs and the Present ().   