游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2851|回复: 2

一个render to texture的问题,怎么刷新生成的texture?

[复制链接]

26

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
发表于 2006-11-26 08:08:00 | 显示全部楼层 |阅读模式
代码如下
LPDIRECT3DTEXTURE9             m_pColorMap;
LPD3DXRENDERTOSURFACE       m_pRenderToSurface;
LPDIRECT3DSURFACE9              m_pCausticSurf;

......

init()
{
......
D3DDISPLAYMODE mode;
g_pd3dDevice->GetDisplayMode( 0, &mode );

// Create  texture

D3DXCreateTexture(g_pd3dDevice, 256, 256, 1,    D3DUSAGE_RENDERTARGET,        mode.Format, D3DPOOL_DEFAULT, &m_pColorMap);

D3DSURFACE_DESC desc;
m_pColorMap->GetSurfaceLevel(0, &m_pCausticSurf);
m_pCausticSurf->GetDesc(&desc);
D3DXCreateRenderToSurface(g_pd3dDevice,256, 256,
        desc.Format, FALSE, desc.Format, &m_pRenderToSurface);
......
}
......
renderToEnv(...)
{
    g_pd3dDevice->SetSamplerState(0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR);
    g_pd3dDevice->SetSamplerState(0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR);

    if(SUCCEEDED(m_pRenderToSurface->BeginScene(m_pCausticSurf, NULL)))
    {
          renderScene( camera, pView, pProject, FALSE );
    }
    m_pRenderToSurface->EndScene( 0 );
}

我用如此方式来RENDER TO TARGET, 而且我做的是一个动画的映射,结果TEXTURE总是残留着一直以前帧的texture,并且在原来的基础上绘制新的target.
无法实现象DXSDK的DEMO那样的动态texture效果;
下面发个图~``



能看见图吗?你会看见上面有很多个小球的轨迹,我要的效果是不存在小球轨迹,那才符合实际情况.~

大侠们指导下吧``

89

主题

4036

帖子

4132

积分

论坛元老

Rank: 8Rank: 8

积分
4132
发表于 2006-11-26 10:56:00 | 显示全部楼层

Re:一个render to texture的问题,怎么刷新生成的texture?

老哥你绘制到纹理的时候,压根就没有clear render target吧。

26

主题

88

帖子

88

积分

注册会员

Rank: 2

积分
88
 楼主| 发表于 2006-11-26 17:11:00 | 显示全部楼层

Re:一个render to texture的问题,怎么刷新生成的texture?

哦!!这样啊,回去仔细看了一下DEMO的代码,果然
g_pd3dDevice->Clear(0, NULL, D3DCLEAR_TARGET, 0xff000000, 0.0f, 0);
哈哈~解决了`~谢谢``` [em2]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 23:21

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表