游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3116|回复: 9

请教:关于固定管线的纹理混合问题

[复制链接]

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
发表于 2005-12-30 01:02:00 | 显示全部楼层 |阅读模式
请问:
      dx7显卡如:gf4mx440,中的纹理混合时的数据是用的什么数据形式计算的?是fp16?fp24?还是只是8bit的整数?
      另外在固定管线中的纹理混合操作中,是否有办法使当前纹理层的颜色扩大n倍(n>1)?
       [em4] [em4]

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2005-12-30 14:17:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

谢谢
但是我想问的是在管线纹理混合中计算时的数据类型,不是支持的纹理格式。

另外 如果当前纹理混合时的当前象素的r值为0.3,而我想得到他的r值为0.6我该怎么操作呢?

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2006-1-4 01:39:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

D3DRS_TFACTOR
D3DTOP_ADD
加上颜色因子就好了

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2006-1-4 12:30:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

但是 如果我要 把纹理颜色扩大n倍呢?
只有用多pass用 D3DTOP_MODULATE,    D3DTOP_MODULATE2X ,    D3DTOP_MODULATE,D3DTOP_ADD 组合得到么?

还有 管线纹理混合中计算时的数据类型是什么?是8位整数?
这样的话 纹理混合时的误差也太大了吧 = =!

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2006-1-5 20:48:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

顶一下

有大侠知道以上问题吗?

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2006-1-6 17:23:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

上面已经给答案了。

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2006-1-6 18:56:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

恩? 哪里给出答案了呀?
你是指的
   D3DRS_TFACTOR
   D3DTOP_ADD
   加上颜色因子就好了
么?

D3DRS_TEXTUREFACTOR范围是0到1

如果我要把把纹理颜色扩大100倍 只能用D3DTOP_MODULATE,D3DTOP_ADD等  用多个pass实现么?

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2006-1-7 02:59:00 | 显示全部楼层

Re: Re:请教:关于固定管线的纹理混合问题

robinmarian: Re:请教:关于固定管线的纹理混合问题

恩? 哪里给出答案了呀?
你是指的
   D3DRS_TFACTOR
   D3DTOP_ADD
   加上颜色因子就好了
么?

...

刚才理解错你的意思了~
一个D3DRS_TFACTOR
和一个D3DTOP_ADD就足够了
D3DRS_TFACTOR值是个DWORD,在0x00000000-0xffffffff之间

14

主题

283

帖子

293

积分

中级会员

Rank: 3Rank: 3

积分
293
QQ
发表于 2006-1-7 03:09:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

非得要100倍的话,只有用可编程管道了

46

主题

238

帖子

238

积分

中级会员

Rank: 3Rank: 3

积分
238
 楼主| 发表于 2006-1-7 16:37:00 | 显示全部楼层

Re:请教:关于固定管线的纹理混合问题

D3DTOP_BLENDFACTORALPHA
Linearly blend this texture stage, using a scalar alpha set with the D3DRS_TEXTUREFACTOR render state.


Srgba= arg1*(alpha)+arg2*(1-alpha)
虽然D3DRS_TEXTUREFACTOR 值是个DWORD,在0x00000000-0xffffffff之间
但是进行混合的时候也只有他的alpha通道有用,alpha通道只有8位,范围也是0到1的
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-23 03:47

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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