有關用DX9載入Txtures的問題

breakpointer 2004-08-17 08:59:28
if (SUCCEEDED(D3DXCreateTexture(m_pd3dDevice, width, height, D3DX_DEFAULT, 0,D3DFMT_R5G6B5, D3DPOOL_MANAGED, &m_pd3dLightMaps[iTextureID])))
{
D3DLOCKED_RECT LockedData;
if (SUCCEEDED(m_pd3dLightMaps[iTextureID]->LockRect(0, &LockedData, NULL, 0)))
{

CopyMemory(LockedData.pBits, pImageBits, LockedData.Pitch * height);

m_pd3dLightMaps[iTextureID]->UnlockRect(0);
//D3DXFilterTexture(m_pd3dLightMaps[iTextureID], NULL, 0, D3DX_FILTER_LINEAR);

}

}

我發現D3DFMT_R8G8B8產生的紋理每個像素是4個字節,而D3DFMT_R5G6B5確是2個字節,為甚麼沒有3個字節的,我在內存中存放的BMP數據是3字節格式的.高手求教!!!
...全文
168 7 打赏 收藏 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
breakpointer 2004-08-20
  • 打赏
  • 举报
回复
如果D3DFVF_TEX2表示用兩張textures,那D3DFVF_TEX0又表示甚麼呢?

如何為multi texture的每个stage設定TextureStageState呢?

請給出具體示例!!!thanks
zhangyan_qd 2004-08-18
  • 打赏
  • 举报
回复
1 FVF定义错了,只要指定用几个texture就可以了。比如TEX2表示用两张texture
2 multi texture要为每个stage制定自己的texturestagestate

tutorial和sample里有例子可以参考的
zhangyan_qd 2004-08-17
  • 打赏
  • 举报
回复
当然不是,这和pooling没有关系。4字节纹理读起来比较有效率。具体的纹理格式是什么样的是由Driver给定的。
breakpointer 2004-08-17
  • 打赏
  • 举报
回复
是不是要用D3DPOOL_SYSTEMMEM來替換D3DPOOL_MANAGED才能產生3字節像素的紋理
breakpointer 2004-08-17
  • 打赏
  • 举报
回复
難道要我去換塊顯卡不成!!!
tianxiangyuan 2004-08-17
  • 打赏
  • 举报
回复
D3DFMT_R8G8B8通常是4个字节,也可能是3个字节,这与显卡有关
breakpointer 2004-08-17
  • 打赏
  • 举报
回复
請問DX9中如何實現多紋理?
是這樣用嗎?
#define D3DFVF_VERTEX (D3DFVF_XYZ|D3DFVF_DIFFUSE|D3DFVF_TEX0|D3DFVF_TEX1)

...

m_pd3dDevice->SetTexture( 0, m_pd3dTextures[pFace->textureID] );

m_pd3dDevice->SetTexture( 1, m_pd3dLightMaps[pFace->lightmapID]);

請指教!
内容概要:本文针对传统彩色数字图像加密算法存在的密钥空间有限、抗干扰能力弱等问题,提出一种结合混沌系统与DNA编码的复合型彩色图像加密解密方案。通过利用混沌系统对初始值和参数的极端敏感性生成高随机性伪随机序列,对图像RGB三通道像素进行置乱与扩散处理,并结合DNA编码的海量组合特性与并行运算优势,实现多层次的信息混淆与加密增强。重点对该方案进行了系统的抗噪声与抗裁剪性能分析,涵盖高斯噪声、椒盐噪声及不同面积、位置的裁剪攻击,实验结果表明该算法不仅具备大密钥空间和高安全性,而且在复杂传输环境下表现出优异的鲁棒性,能够有效恢复受损图像的核心信息,保障图像数据的安全性与可用性。; 适合人群:具备一定图像处理或信息安全基础知识的科研人员及研究生。; 使用场景及目标:①用于网络图像传输、私密图像存储等需要高安全性和强抗干扰能力的应用场景;②为图像加密技术提供一种兼具高安全性与强鲁棒性的设计方案参考,适用于多媒体信息安全、军事通信、医疗影像保护等领域。; 阅读建议:建议结合文中理论基础与实验分析部分,重点关注混沌系统与DNA编码的融合机制、加密流程设计及抗干扰测试方法,有条件者可复现实验以深入理解算法的性能表现与优化空间。
内容概要:本文以i.MX8MP EVK平台和L6.1.36 Linux版本为例,详细介绍Linux驱动开发中基于printk的多种调试技术。涵盖printk日志级别(0-7)的定义与调节方法,通过/proc/sys/kernel/printk控制日志输出等级;介绍动态调试(dynamic debug)和静态调试(debug)两种方式,实现运行时或编译时开启dev_dbg、pr_debug等调试信息输出;通过修改内核Makefile全局启用DEBUG宏,批量输出所有驱动的调试日志;此外还讲解了利用initcall_debug追踪内核初始化流程、启用DRM子系统专用调试参数、以及通过手动插入WARN_ON(1)或BUG_ON(1)触发栈回溯以分析函数调用路径等高级调试手段。; 适合人群:从事嵌入式Linux驱动开发,具备一定内核和驱动开发经验的工程师,尤其是使用NXP i.MX系列芯片的研发人员; 使用场景及目标:① 定位Linux内核启动异常或驱动加载失败问题;② 调试特定模块(如DRM、DSI桥接器)的运行流程;③ 分析函数调用栈和初始化顺序;④ 在无图形界面的嵌入式环境中通过串口日志进行问题排查; 阅读建议:建议结合实际开发板环境操作,重点掌握动态调试和initcall_debug等实用技巧,并注意大量调试日志可能影响系统启动性能,在调试完成后应及时关闭相关选项。

8,324

社区成员

发帖
与我相关
我的任务
社区描述
游戏开发相关内容讨论专区
社区管理员
  • 游戏开发
  • 呆呆敲代码的小Y
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧