游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3992|回复: 4

[菜鸟求救][急] 为什么无法渲染3D图形呢?

[复制链接]

5

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2004-1-7 12:44:00 | 显示全部楼层 |阅读模式
在下在MFC的Doc/View结构的程序中生成了个对话框,里面放了个“picture”控件,在这个Dialog类的OnInitDialog()中用“picture”控件的窗口句柄初始化了Direct3D :

m_hwndRenderWindow = GetDlgItem(IDC_PICTURE)->GetSafeHwnd();

然后在对话框类的Ontimer()中调用FrameMove()和Render()进行渲染,但是什么都画不出来,  一气之下,在Render()当中直接把m_hwndRenderWindow对应的DC拿出来, 用GDI 画了几条线, 却又可以在 picture控件上正确显示出来, 那为什么 3D图元就渲染不出来呢!?

跪请各位大虾指点!!!..........真的是急死在下了.

5

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2004-1-7 15:44:00 | 显示全部楼层

Re:[菜鸟求救][急] 为什么无法渲染3D图形呢?

跪求指点啊~~~
初始化用的是directx7 sdk 中给例子配置的那个框架

5

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2004-1-7 22:45:00 | 显示全部楼层

Re:[菜鸟求救][急] 为什么无法渲染3D图形呢?

真的没人愿意帮帮我吗,急啊~~~~
Direct3D难道不能在对话框里的窗口中渲染东西吗?

1万

主题

1万

帖子

2万

积分

管理员

中级会员

Rank: 9Rank: 9Rank: 9

积分
20468
发表于 2004-1-7 23:33:00 | 显示全部楼层

Re:[菜鸟求救][急] 为什么无法渲染3D图形呢?

Direct3D好像是不能直接画在GDI上面,因为D3D是要通过硬件渲染。
照理说,如果你用对话框的窗体来进行设备创建,应该可以的,如果是在不行,你可以通过获取选然后的主表面数据,然后再进行绘制到GDI的操作。

5

主题

12

帖子

12

积分

新手上路

Rank: 1

积分
12
 楼主| 发表于 2004-1-8 03:16:00 | 显示全部楼层

Re:[菜鸟求救][急] 为什么无法渲染3D图形呢?

感谢前辈回答,但不
是这个意思啊,我的目的就只是想在对话框中使用D3D,而去获得初始化D3D所用的HWND相应的DC再画图,是想看看究竟D3D是不是与想画的对话框中的那个窗体联系起来了,而确实画出来了,(我看到有的书上就是用这个技巧在一帧画面中渲染了3D图形后,再添加2D的标记或文字的),但是我的问题就是,3D图元看不到,而每一帧又确实是执行过DrawPrimitive()的。我想我的各个几何变换矩阵没有设置错。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-2-25 00:18

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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