I think the best way to describe what I need to do in layman terms (to avoid any terminology misunderstandings of what I'm trying to ask) is to look at the viewable area of the screen, divide it into small rectangular areas. The pixels of one or more of these rectangles will be drawn programatically at a rate probably not more than 15 - 20 FPS. Just a simple DirectDraw concept, but I'd like to figure the best way to do this with Direct3d (using the the XNA framework if possible) for future compatibility and the added benefits of scaling, clipping, hardware support, ect. This is essentially the graphic portion of a CDG (karaoke) file reader so it is in 2D and the data for the graghics are coming from a file in time with an audio file.
The problem has been that no one seems to agree on the best way to do simple, dynamically generated bitmap writes in 2D using either D3D or XNA. In most cases the MSDN help documentation does not clarify anything more than the name of somehthing, not how it's used and what needs to be done prior to using it. I was told that the texture to sprite was the only method. Every 2D example in XNA or D3D I've found uses a file for texture data. Text books repeat those examples - what few there are out there on Managed D3D. I can do this in DirectDraw and I can write a colored tile to the screen viewing area with D3D and XNA using the texture -> sprite, but if there is a better approach than using single textures for each rectangle, I'd like to know before I get too committed on a certain direction.
In a nutshell:
- I need to find out the pixel format at runtime for the current selected display. The user can run in windowed (primary display) or fullscreen on a separate monitor. (Easiest method in XNA?)
- Write pixel data that was calculated programatically to one or more individual small surface rectangles of the screen at a rate of 15 - 20 fps.
- Allow for verticle and horizontal scrolling.
Sorry for the long winded reply. Any direction would be appreciated.