设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
楼主: viktor
打印 上一主题 下一主题

[已经过期] Pixel Shader[来吧 杀了这个就能升级了]

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
182 小时
注册时间
2012-2-11
帖子
233
11
 楼主| 发表于 2013-4-3 21:50:14 | 只看该作者
yangff 发表于 2013-4-3 21:42
我来解释一下为什么DX(OGL)+RM无法对画面进行具有实用意义的实时的修改。
首先先说一下我现在能做到的。
...

[目测精灵超过200个就得跪]
恩……内存和显存的问题我意识到了,但是没有办法想的这么清楚。 但是
(还在找希望……)
如果我只有10个等于屏幕大小的精灵呢?

点评

嘛……看我楼下的吧。  发表于 2013-4-3 21:53
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

12
发表于 2013-4-3 21:52:53 | 只看该作者
晴兰 发表于 2013-4-3 21:48
其实仔细想想差点就被@yangff 骗了。。yangff一直强调显存和内存要数据交换效率很低,
但是实际上显存里 ...


= =这样更麻烦了,你要考虑RM有draw、blt这样的操作。换句话说,你选的了自行维护显存与内存数据统一,却没有完整的操作维护……或许你需要对Texture进行Hook?(把它绑定到ITexture9,建立为DEFAULT)
Tilemap目测只有元数据,其他的现场合成吧。

这特么几乎就换引擎了好么,也不是一个DXRuby能解决的= =。
听说你能用Ruby做COMHook?
没错我是来刷经验的。
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

13
发表于 2013-4-3 21:57:55 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

14
发表于 2013-4-3 22:02:48 | 只看该作者
晴兰 发表于 2013-4-3 21:57
这个不麻烦。。draw/blt的操作原来是对RGSS::Bitmap,现在还是对RGSS::Bitmap这么操作,
操作完重新载入 ...


我说了,不用Hook你写,
Bitmap#draw_text
Bitmap#blt
Tilemap
能使用能Shader再说。
特么RM的Lock你说我的Lock,滚。
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

15
发表于 2013-4-3 23:02:26 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

16
发表于 2013-4-3 23:21:59 | 只看该作者
本帖最后由 yangff 于 2013-4-3 23:24 编辑
晴兰 发表于 2013-4-3 23:02
别的我不说。。yangff前辈的DX开发经验肯定比兰兰丰富,但未必不能实现上面所述的东西,
因为我在下载DXS ...


这不就是单独出来了。我所谓的不更换引擎是指不对原有RM代码逻辑进行修改……LZ明显要做的是光源。。
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

17
发表于 2013-4-3 23:29:45 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

18
发表于 2013-4-3 23:57:52 | 只看该作者
不知道lz的具体做法,如果只是遮罩的话完全不用GPU。直接根据光源数据预先生成一张遮罩层,然后人物移动进行更新就行了(只会阻碍光线,很容易做的)

我还以为是想terraria那样的粒子光源,那样绝对是要我说的那样的。里面涉及到的东西有点复杂。
@晴兰
我从来没有设计好RM3D的模式,严格的说,只要用了dx,我就不认为这是纯粹RM引擎了。
所以我从不认为RM3D有任何实用意义。
当然,用DX画然后rtt然后画到RM上除外。不过这也不算纯粹RM了,而且同样毫无意义。

我所谓的使用RM的意义是不引入其他的引擎、图形库、音频库。
至于鼠标……你觉得一个小挂件能说是引擎么。
如果你用了hge来实现鼠标,我当然就说你引入了别的引擎,同样,DirectInput也是。但是Win32API显然不是,RM自己也在用。
如果你用了DD7,我也不会说这是别的引擎,但是shader至少用d3d9.


简单的说,我认为,用了D3D9,就是使用了别的引擎。混合进RM的逻辑,就是引入了这个引擎(举个例子,和引入和使用不同的是,引入可以考虑zorder,使用不行)。
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

19
发表于 2013-4-4 00:27:00 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv2.观梦者

傻♂逼

梦石
0
星屑
374
在线时间
1606 小时
注册时间
2007-3-13
帖子
6562

烫烫烫开拓者

20
发表于 2013-4-4 10:12:10 | 只看该作者
本帖最后由 yangff 于 2013-4-4 10:20 编辑
晴兰 发表于 2013-4-4 00:27
不管你怎么界定,和我相同也好不同也好(二进制层面上是不分引用/导入/需要/包含啥的。。),
现在的实际 ...


LZ的做法我只想知道,会不会涉及到对tilemap图元的操作,如果不会(也就是简单的加法减法合成,给方块光源增加梯度),我有不需要shader的处理方法(在RM的最后一次描绘的之后直接MMX修改,效率不会太差,至少640*480.。)。

如果只是问题本身的话,绝对是要dd7hook的,这货谁爱弄谁弄去。
哎呀,蛋疼什么的最有爱了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-27 15:56

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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