D3D实现petra等地质软件的多视口效果

本文档记录了使用DirectX(D3D)实现地质软件如petra的多视口效果的过程。在尝试多个设备渲染失败后,转向了利用多视口技术。已实现简单的多视口,解决了相机、渲染模式和世界矩阵的问题。通过为每个视口设置不同的相机和坐标,成功展示了多视口功能。
摘要由CSDN通过智能技术生成

虽然实现了Matlab类似的三维显示,但依旧缺少几个主要的部件:比如刻度、方向指针等,因此接下来的几个月就着重解决这些问题。

最初本来想用多个device分开渲染,但是做到一半测试效果的时候窗口闪烁很厉害,surfing了一下发现多device会导致效率问题,因此pass。

再次搜索发现可用多视口实现类似效果,但是里面摄像机变换之类的还是没想明白,因此走一步看一步吧。。。

学习资源:http://www.codesampler.com/dx9src.htm

2013.6.7,高考第一天,开始收集资料,持续更新。

2013.6.8,实现了简单的多视口,主要对象的坐标和轴文字都对应修稿好了,目前遇到的问题是照相机、渲染模式和世界矩阵要分开设置

2013.6.10,多视口多相机只需要对不同视口的相机分别声明、赋值、操作即可:下一步就是用OOP的思想从新更合理的结构一下。

            device.Viewport = mVPLegend
            device.Transform.View = Matrix.LookAtLH(New Vector3(2, 2, -2), New Vector3(0, 0, 0), New Vector3(0, 1, 0))
            device.Clear(ClearFlags.Target Or ClearFlags.ZBuffer, Color.Blue, 1.0F, 0)
            device.BeginScene()
            m1.DrawSubset(0)
            device.End

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值