Rendering to a texture (not for post-processing fx)

Started by
2 comments, last by L. Spiro 11 years, 3 months ago

Trying to set up a class which renders text to a texture (specifically in 2D). I have text rendering atm but obviously if the string never changes I could save on performance a lot by rendering the static text into a single texture.

I got it working to some degree, though I have another post about that issue which I think is unrelated to this post...

http://www.gamedev.net/topic/637666-render-target-alpha-blending/

I'm posting this to ask if these are the normal steps you would take to acheive this:

  1. Disable depth & stencil testing (2D)
  2. Enable alpha blending
  3. Set up projection to accomodate text block dimensions
  4. Set up render target texture2D to accomodate text block dimensions
  5. Set up viewport to accomodate text block dimensions
  6. EDIT: Clear render target (forgot to mention that, ty L.Spiro for reminding me)
  7. Render text into texture
  8. Set back to default projection, view port and render target

One thing I forgot when following these steps was that textures dimensions are supposed to a power of 2. Though it appeared to render undistorted (text block dimensions were not a power of 2 or even close).

Advertisement

You should also clear the render target before rendering onto it. Making sure that the clear color is 0x00000000 (0 alpha).

And as long as you are not using mipmaps your textures do not need to be a power of 2 unless you decide for personal reasons they should be.

L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

[quote name='L. Spiro' timestamp='1358900424' post='5024526']
And as long as you are not using mipmaps your textures do not need to be a power of 2 unless you decide for personal reasons they should be.
[/quote]

Can you elaborate this? I don't see an immediate issue with non-power-of-two mipmapped texture or render target.

Cheers!

It is just a restriction on a few API’s/older hardware. These days you will likely not see a problem with non-power-of-2 mip-mapped textures.

I didn’t mean that mip-mapped textures won’t work unless power-of-2, but that if you aren’t using mip-maps you won’t run into any problems on any hardware/API’s. It’s just a safety check.

L. Spiro

I restore Nintendo 64 video-game OST’s into HD! https://www.youtube.com/channel/UCCtX_wedtZ5BoyQBXEhnVZw/playlists?view=1&sort=lad&flow=grid

This topic is closed to new replies.

Advertisement