Sign in to follow this  
sofakng

Can I draw a surface (eg. render target) smaller than it really is?

Recommended Posts

sofakng    102
I'm using a DirectX v9.0 wrapper for Delphi called Asphyre v4.0 and you can declare "images" as type "image", "surface", or "draft". If you want to render onto it then you must be declared a "surface". Well, it works all fine and well, but when you go to draw the texture of that surface onto another surface, if you specify a smaller size than the surface it looks like garbage data (eg. data from a random memory buffer). For example: My surface (eg. render target / texture) is 512x512 pixels. My back-buffer is 640x480 pixels. If I draw my surface/render-target/texture onto my back-buffer, I need to draw it at least 512x512 or BIGGER. If I draw it smaller (256x256) then it doesn't work and looks garbled. The strange thing is that if I use a regular "image" then I can draw it any size I want to. For example, if my image is 1152x864 (stored in a 2048x1024 texture) I can draw it at 256x256 if I want to. Are surfaces special or something? As I mentioned, I can render them BIGGER than they really are but I can't render them smaller...

Share this post


Link to post
Share on other sites
DragonGeo2    100
Try rendering the surface to the backbuffer as a textured quad, rather than doing a surface-to-surface copy or blit, that way you'll get the stretching effect that I think you're looking for.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this