游戏开发论坛

 找回密码
 立即注册
搜索
查看: 4998|回复: 0

directx9中的纹理过滤问题和D3D中的LOCK锁定问题

[复制链接]

5

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2009-8-24 19:36:00 | 显示全部楼层 |阅读模式
Direct3DDevice->SetSamplerState (0,D3DSAMP_MAGFILTER,D3DTEXF_LINEAR);
Direct3DDevice->SetSamplerState (0,D3DSAMP_MINFILTER,D3DTEXF_LINEAR);
Direct3DDevice->SetSamplerState (0,D3DSAMP_MIPFILTER,D3DTEXF_LINEAR);
1.以上已设定了过滤的方式,为什么在用这个函数D3DXCreateTextureFromFileEx()创建纹理对象时,它还要设置DWORD FILTER(纹理的过滤方式)和DWORD MIPFILTER(自动生成纹理的序列的过滤方式),而且在赋值时,是D3DX_FILTER类型的值。
在设置采样的状态时,不是已经是设置了它的纹理的过滤的方式,如果它们不是一样的过滤的方式,那么它和D3DX_FILTER过滤的方式有什么区别呢?
2.D3DX_FILTER_BOX是如何进行过滤的。
3. CUSTOMVERTEX pVertex[]=
{
    { -3,  -3,  0.0f, 0.0f, 1.0f},  
    { -3,    3,  0.0f, 0.0f, 0.0f},
    {  3,  -3,  0.0f, 1.0f, 1.0f},
    {  3,    3,  0.0f, 1.0f, 0.0f }
};
        BYTE * Vertex;
ZeroMemory(&VertexBuffer,sizeof(VertexBuffer) );
if(FAILED(VertexBuffer->Lock (0,0,(void**)Vertex,0 ) ) )
return false;
memcpy(Vertex,pVertex,sizeof(pVertex) );
VertexBuffer->Unlock ();
锁定缓冲区时,都不是这样的吗?我在运行时,它说Vertex这个指针变量没有开内存空间就往里面进行赋值,是没有。但是,不是在锁定的时候,自动会开内存空间吗?  是不是设置其他参数和标志有问题,不知有没人和遇到过这个同样的问题,请各位指教。
4.D3DLOCK_NOOVERWRITE和D3DLOCK_DISCARD到底有什么区别?当资源是动态的时候,它们是一起来使用的吗?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-21 10:32

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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