Jump to content
  • Advertisement
Sign in to follow this  
Ender1618

D3DSAMP_MINFILTER darkening my texture?

This topic is 3051 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Using DirectX 9, I am having an odd behavior when i draw an image with a rhw rect to the back buffer. When drawing the textured screen rect with a size smaller than the original image size, it has the effect of darkening the texture. The texture I have is supplied by a live camera feed updating at ~25hz, so i didnt think i had the luxury of generating a mip chain (or is that really quick to generate?). When i have quartered the size of the rendered image from say 640x480 (the textures original res) to 320x240 the image is now shown completely black. What I have also noticed is that stretching the image does NOT seem to darken it, but compressing it does. I am guessing this has something to do with my use of the the texture sampling filters? What i really want is to draw a 640x480 image at the resolution of 512x768 (via compressing and stretching it), but it becomes significantly dimmer when I do this. Here is the code I am using to draw the image on the screen:
    pd3dDevice->SetRenderState( D3DRS_ZENABLE, FALSE);

    pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
    pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );

    pd3dDevice->SetTexture(0, m_pTexture->GetBaseInterface());
    pd3dDevice->SetFVF(D3DFVF_PP_VERTEX);

    pd3dDevice->DrawIndexedPrimitiveUP(D3DPT_TRIANGLELIST,0,4,2,
                                        m_pIndices,D3DFMT_INDEX16,
                                        m_pVertices,sizeof(PP_VERTEX));

    pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE); 






With:
struct PP_VERTEX
{
    float x, y, z, rhw;
    float tu, tv;       // Texcoord for post-process source
};

#define D3DFVF_PP_VERTEX (D3DFVF_XYZRHW|D3DFVF_TEX1)






Anyone know how I might avoid this? [Edited by - Ender1618 on February 15, 2010 1:29:17 PM]

Share this post


Link to post
Share on other sites
Advertisement
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!