游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1771|回复: 1

一个关于directx surface的问题。

[复制链接]

1

主题

13

帖子

19

积分

新手上路

Rank: 1

积分
19
发表于 2007-3-9 22:26:00 | 显示全部楼层 |阅读模式

//我已经创建了一个surface..
Dev->CreateRenderTarget(640, 480, D3DFMT_X8R8G8B8, D3DMULTISAMPLE_NONE, 0, FALSE, &Surface, 0);


下面这段代码在 loop 里,不停的被渲染。

//这里将rendertarget设置为我自己的surface....
Dev->SetRenderTarget(0, Surface);

Dev->Clear( 0, NULL, D3DCLEAR_TARGET|D3DCLEAR_ZBUFFER,D3DCOLOR_XRGB(0,0,255), 1.0f, 0 );
Dev->BeginScene();

//这一步将对mesh 进行简单的旋转变换。
SetupMatrices( );

pMesh->DrawSubset(0);
Dev->EndScene();
Dev-&gtresent(0,0,0,0);


为什么渲染出来的图像是静止的,好像只有第一帧,但是这个渲染函数里面有SetupMatrices( ); 这个函数会对世界坐标不停的作旋状操作,也就是这个程序是个简单的动画。

为什么呢?谢谢。

1

主题

13

帖子

19

积分

新手上路

Rank: 1

积分
19
 楼主| 发表于 2007-3-10 04:54:00 | 显示全部楼层

Re:一个关于directx surface的问题。

改用 CreateOffscreenPlainSurface 就解决了。似乎RenderTarget是个材质之类的东西,不能直接作屏幕缓存。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 16:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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