社区
图形处理/算法
帖子详情
D3D 中的图片的淡入淡出效果?
cytlyy
2009-03-09 11:58:20
首先说明一下,我是在windows mobile下用Direct3d mobile实现mobile下的3d效果的,现在我想问一下如何实现一幅图片的的淡入淡出效果(图片是先load到surface然后StretchRect到要渲染的TEXTURE上的 ),我知道最好的方法应该是用模板缓存技术。但对这个不太熟悉。希望达人指点,最好有些代码,这样容易理解,方便我一直到windows mobile上。谢谢!
...全文
151
1
打赏
收藏
D3D 中的图片的淡入淡出效果?
首先说明一下,我是在windows mobile下用Direct3d mobile实现mobile下的3d效果的,现在我想问一下如何实现一幅图片的的淡入淡出效果(图片是先load到surface然后StretchRect到要渲染的TEXTURE上的 ),我知道最好的方法应该是用模板缓存技术。但对这个不太熟悉。希望达人指点,最好有些代码,这样容易理解,方便我一直到windows mobile上。谢谢!
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
leechrockgames
2009-03-09
打赏
举报
回复
D3DLOCKED_RECT stLockedRect;
(*ppTexture)->LockRect( 0, &stLockedRect, 0, 0 );
UCHAR *pch=(UCHAR *)stLockedRect.pBits;
for (int j=0;j<h;j++)
{
for (int i=0;i<w;i++)
{
pch[3]=AlphaData[i+j*w];
if(pch[3]!=0)//pch[3] may by is -120
{
if(!mode)//3d ob static
{
if(alpha-AlphaData[i+j*w]+255>0)
{pch[3]=alpha-AlphaData[i+j*w]+255;}
else{pch[3]=0;}
}
else//3d fog static
{
if(AlphaData[i+j*w]-alpha>0)
{pch[3]=AlphaData[i+j*w]-alpha;}
else{pch[3]=0;}
}
}
pch+=4;
}
}
(*ppTexture)->UnlockRect(0);
设置纹理的alpha值,但d3d渲染还有相关的设置.
//D3DRS_DITHERENABLE:使程序允许抖动,默认是FALSE。
m_pd3dDevice->SetRenderState( D3DRS_DITHERENABLE, TRUE );
// Turn on the zbuffer
m_pd3dDevice->SetRenderState( D3DRS_ZENABLE, TRUE );//激活深度缓冲区P157
m_pd3dDevice->SetRenderState( D3DRS_ZFUNC, D3DCMP_LESS );//设置深度深度函数P157
m_pd3dDevice->SetRenderState(D3DRS_ZWRITEENABLE, TRUE);//允许应用程序在绘制像素时更新深度缓冲区;P158
// Turn off culling render mode
m_pd3dDevice->SetRenderState( D3DRS_CULLMODE, D3DCULL_NONE );//设置整体环境光;P92
m_pd3dDevice->SetRenderState( D3DRS_FILLMODE, D3DFILL_SOLID );//D3DFILL_WIREFRAME//D3DFILL_SOLID渲染面模式;P168
m_pd3dDevice->SetRenderState( D3DRS_SHADEMODE, D3DSHADE_GOURAUD );
// Turn off D3D lighting
m_pd3dDevice->SetRenderState( D3DRS_LIGHTING, FALSE );//激活对景物进行光照运算x
// Turn on ambient lighting
//D3DCOLOR ambientcolor=D3DCOLOR_XRGB(64,64,64);
//m_pd3dDevice->SetRenderState( D3DRS_AMBIENT, 0xffffffff );
//激活多重采样;P173(除锯齿)
m_pd3dDevice->SetRenderState( D3DRS_MULTISAMPLEANTIALIAS, false );
// Set default render states
// 用于设置顶点与纹理混合
m_pd3dDevice->SetRenderState( D3DRS_NORMALIZENORMALS, TRUE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLOROP, D3DTOP_MODULATE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG1, D3DTA_TEXTURE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_COLORARG2, D3DTA_DIFFUSE );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAOP, D3DTOP_SELECTARG1 );
m_pd3dDevice->SetTextureStageState( 0, D3DTSS_ALPHAARG1, D3DTA_TEXTURE );
//D3DSAMP_MINFILTER:缩小过滤器,用于纹理缩小时减少闪烁失真
//D3DSAMP_MAGFILTER:放大过滤器,用于纹理放大时,减少出现色块
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MINFILTER, D3DTEXF_LINEAR );
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MAGFILTER, D3DTEXF_LINEAR );
//多级渐进纹理(用于设置各纹理层间的设置)
//D3DSAMP_MIPFILTER:设置多级渐进纹理过滤
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_MIPFILTER, D3DTEXF_LINEAR );
//纹理拉伸(不复制纹理,作边缘像素的拉伸);P140
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_ADDRESSU, D3DTADDRESS_CLAMP );
m_pd3dDevice->SetSamplerState( 0, D3DSAMP_ADDRESSV, D3DTADDRESS_CLAMP );
设计DirectX游戏开头画面
淡入淡出
的
效果
在潜水很多天后,今天又有时间来这里写文章了。我今天写的文章是有关于DirectX游戏开头画面的,大家肯定看过一些有名的游戏,它们在开头肯定是会显示游戏公司的商标和游戏的图标。但是为了给大家一种电影的感觉,他们往往会逐渐显示这些二维
图片
。这种显示方式叫做
淡入淡出
(fade in and fade out)。下面我就用一个例子程序来说说我是怎么使用DirectX来实现这个
效果
的。 其实在我
【Unity
3D
日常开发】Unity
3D
中
实现场景切换的时候
淡入淡出
的
效果
一、前言 在游戏
中
不可避免的要进行场景切换,如果切换的场景要加载的资源太多太大,那么就要耗时很长时间,这对于用户的体验来说很不舒服,也就是常说的游戏卡了。怎么解决这种尴尬呢。 比较推荐的就是异步加载场景,然后
中
间加一个过渡场景,过渡场景做的美观一些,然后加一个进度条,看起来就不会那么尴尬了。然后在场景过渡的时候,加一个
淡入淡出
的
效果
,就很nice了。 今天就实现一个场景切换的时候淡入...
css3
3d
图片
轮播_手把手教你用纯css3实现轮播图
效果
实例
首先先看demo吧,点击查看demo一、随便说几句css3动画
效果
的强大不言而喻,自它出现一直热度不减,它与js动画的优劣也一直成为前端界争论的话题,不可置疑的是css3动画的出现在一定程度上降低了动画
效果
的实现难度,利于前端的学习,其精简的代码量把我们从烦人的js调试
中
解放出来,当然css的动画
效果
有其局限性,我们不能只用css3模拟出全部的就是动画,另外就是浏览器的兼容性问题。我们这次用css...
使用Direct
3D
实现如幻灯片的动态
图片
切换
效果
上一篇文章演示了如何用GDI技术实现
图片
切换
效果
,这一篇文章给大家讲解怎么用Direct
3D
API实现
图片
动画
效果
。 一、Direct
3D
概述 Direct
3D
是Microsoft的DirectX软件开发包的组件,是微软公司开发的
3D
图形函数库,目前已经发展到D
3D
11。它的任务是向具有设备无关性的三维视频显示设备提供设备相关的访问。简单地说,Direct
3D
是三维硬件的一个绘图接口。Dir...
Android平台
3D
多
图片
展示Coverflow
效果
实战项目
如果你觉得ViewPager2太“黑盒”,想要完全掌控每一个像素的命运,那就只能上大招了——继承ViewGroup,自己造轮子!这条路虽然辛苦,但自由度极高。你可以精确控制每个子View的测量、布局、绘制全过程,甚至可以结合和Camera类玩出真正的“伪
3D
”
效果
。先看最关键的onLayout@Overridei++) {= GONE) {这里的可以进一步使用Camera来增强立体感:// 调整虚拟相机Z位置。
图形处理/算法
19,463
社区成员
50,678
社区内容
发帖
与我相关
我的任务
图形处理/算法
VC/MFC 图形处理/算法
复制链接
扫一扫
分享
社区描述
VC/MFC 图形处理/算法
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章