游戏开发论坛

 找回密码
 立即注册
搜索
查看: 7741|回复: 22

怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL

[复制链接]

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
发表于 2009-7-25 00:27:00 | 显示全部楼层 |阅读模式
请 问 怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描的游戏程序?
比如 VBA(GBA模拟器)里就可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描。
又比如ePSXe(PS模拟器)可以选择渲染插件以实现D3D渲染或者DDRAW绘制或者OPENGL扫描。

最后问一下,DDRAW绘制半透明等特效的效率高吗?
因为上次我测试的时候是用VS的DEBUG模式,所以效率很低,忘记测试REPLEASE模式了。。。
[em14] [em14]

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-7-25 00:33:00 | 显示全部楼层

Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘

还是说用什么抽象类模型吗?

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-7-25 08:29:00 | 显示全部楼层

Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘

运行时切换将开销很大.

就拿D3D切换成OGL来说吧, 你一切换就要把所有的D3D纹理都释放掉, 然后释放D3D Device, 然后创建OpenGL, 然后载入所有OpenGL纹理

所以说这种功能纯属鸡肋功能.

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-7-25 08:32:00 | 显示全部楼层

Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘

directdraw是微软淘汰了的产品   就像turbo c一样早就应该扔掉的

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-7-25 10:06:00 | 显示全部楼层

Re: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW

flyue: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描的游戏程序?

directdraw是微软淘汰了的产品   就像turbo c一样早就应该扔掉的

话说turbo c我也在用

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-7-25 10:08:00 | 显示全部楼层

Re: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW

flyue: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描的游戏程序?

运行时切换将开销很大.

就拿D3D切换成OGL来说吧, 你一切换就要把所有的D3D纹理都释放掉, 然后释放D3D De...

再大也不过是切换的一瞬间的问题吧?
又不会会影响每一帧的效率吧?
还有,怎么实现,我想要知道最标准的方法。

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-7-25 10:12:00 | 显示全部楼层

Re: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW

flyue: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描的游戏程序?

directdraw是微软淘汰了的产品   就像turbo c一样早就应该扔掉的

不要这么说,你要知道 VBA 里窗口模式 DDRAW 的效率比D3D效率高,OPENGL的效率比DDRAW慢一点但也比D3D高。(当然VBA里面的D3D应该还是旧版的)

59

主题

404

帖子

404

积分

中级会员

Rank: 3Rank: 3

积分
404
发表于 2009-7-25 12:30:00 | 显示全部楼层

Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘

你不如直接用ogl   任何平台都支持

为什么一定要运行时切换  为什么不在程序启动时让用户选择使用哪个库?

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-7-25 12:42:00 | 显示全部楼层

Re: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW

flyue: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描的游戏程序?

你不如直接用ogl   任何平台都支持

为什么一定要运行时切换  为什么不在程序启动时让用户选择使用哪个库?

因为我猜运行时切换是使用了某种抽象类模型,不用知道实际上用哪种方式渲染。
总不可能为每个渲染方式都写一个 游戏.EXE 文件出来吧?将每个渲染方式的代码全部重写?
我想要的是调用 和 实现渲染 抽象化。

32

主题

235

帖子

235

积分

中级会员

Rank: 3Rank: 3

积分
235
 楼主| 发表于 2009-7-25 12:48:00 | 显示全部楼层

Re: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW

flyue: Re:请、问、怎么编写可以运行时切换成D3D渲染或者DDRAW绘制或者OPENGL扫描的游戏程序?

你不如直接用ogl   任何平台都支持

为什么一定要运行时切换  为什么不在程序启动时让用户选择使用哪个库?

ogl任何平台都支持不代表ogl任何平台效率都是最高。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-19 00:07

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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