游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3951|回复: 10

FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

[复制链接]

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
发表于 2006-12-15 18:10:00 | 显示全部楼层 |阅读模式
FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

在DirectX 9.0下, 所有的 FX-系列 GPU支持的浮点帧缓存使用 "multi-element texture_多元素纹理"机制。 如同在DXSDK的文档中描述的那样,允许你同时向4个输出端输出,每个32位宽,总共128位。这其中的每一个又可以分为4x8, 2x16fp, 或 1x32fp. 为了使用这个格式的帧缓存,使用如下的标志创建它们:

NVE0: NV_SURFACE_FORMAT_IMAGE_MET_4_4_4_4
NVE1: NV_SURFACE_FORMAT_IMAGE_MET_4_4_4_2
NVE2: NV_SURFACE_FORMAT_IMAGE_MET_4_4_4_1
NVE3: NV_SURFACE_FORMAT_IMAGE_MET_4_4_2_2
NVE4: NV_SURFACE_FORMAT_IMAGE_MET_4_4_2_1
NVE5: NV_SURFACE_FORMAT_IMAGE_MET_4_4_1_1
NVE6: NV_SURFACE_FORMAT_IMAGE_MET_4_2_2_2
NVE7: NV_SURFACE_FORMAT_IMAGE_MET_4_2_2_1
NVE8: NV_SURFACE_FORMAT_IMAGE_MET_4_2_1_1
NVE9: NV_SURFACE_FORMAT_IMAGE_MET_4_1_1_1
NVEa: NV_SURFACE_FORMAT_IMAGE_MET_2_2_2_2
NVEb: NV_SURFACE_FORMAT_IMAGE_MET_2_2_2_1
NVEc: NV_SURFACE_FORMAT_IMAGE_MET_2_2_1_1
NVEd: NV_SURFACE_FORMAT_IMAGE_MET_2_1_1_1
这里, 4=4xFX8, 2=2xFP16, 1=1xFP32.  例如,NVE7 在输出端索引为0的位置,有4个8位的元素;索引为1和2的位置,有2个16位的元素;索引为3的位置,有1个32位的元素。如你所见,所有的格式具有4块,每一块的宽度是32位。

/**************************/
What floating-point surface formats does the GeForce FX family support in DirectX?



Under DirectX 9.0, all all GeForce FX-class GPU's support floating point surfaces using the multi-element texture mechanism.  Multi-element textures, as described in the DXSDK documentation, allows you to render to 4 simultaneous outputs, each being 32-bits wide, for a total of 128-bits.  Each of these 32-bit components can be written to as 4x8, 2x16fp, or 1x32fp.  To use these surfaces, create them using the following FourCC formats:

NVE0: NV_SURFACE_FORMAT_IMAGE_MET_4_4_4_4
NVE1: NV_SURFACE_FORMAT_IMAGE_MET_4_4_4_2
NVE2: NV_SURFACE_FORMAT_IMAGE_MET_4_4_4_1
NVE3: NV_SURFACE_FORMAT_IMAGE_MET_4_4_2_2
NVE4: NV_SURFACE_FORMAT_IMAGE_MET_4_4_2_1
NVE5: NV_SURFACE_FORMAT_IMAGE_MET_4_4_1_1
NVE6: NV_SURFACE_FORMAT_IMAGE_MET_4_2_2_2
NVE7: NV_SURFACE_FORMAT_IMAGE_MET_4_2_2_1
NVE8: NV_SURFACE_FORMAT_IMAGE_MET_4_2_1_1
NVE9: NV_SURFACE_FORMAT_IMAGE_MET_4_1_1_1
NVEa: NV_SURFACE_FORMAT_IMAGE_MET_2_2_2_2
NVEb: NV_SURFACE_FORMAT_IMAGE_MET_2_2_2_1
NVEc: NV_SURFACE_FORMAT_IMAGE_MET_2_2_1_1
NVEd: NV_SURFACE_FORMAT_IMAGE_MET_2_1_1_1
Here, 4=4xFX8, 2=2xFP16, and 1=1xFP32.  So, for example, NVE7 has 8-bit components at element index 0, 16-bit FP at index 1 and 2, and 32-bit FP at index 3.  As you can see, all formats have 4 “chunks”, and each chunk is always 32 bits. MET_1_1_1_1 is coming soon.

35

主题

370

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
发表于 2006-12-16 00:29:00 | 显示全部楼层

Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

楼主辛苦了。。连续发了怎么多。。
我来灌一个~

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
 楼主| 发表于 2006-12-16 01:40:00 | 显示全部楼层

Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

不辛苦,是kypck一语惊醒梦中人。

我都是在算法上折腾,很多东西一知半解。

要学习的很多,如不辛苦,寝室难安。

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2006-12-16 13:22:00 | 显示全部楼层

Re: Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存

DancingWind: Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

不辛苦,是kypck一语惊醒梦中人。

我都是在算法上折腾,很多东西一知半解。

要学习的很多,如不辛苦,寝室难安。

你翻译些算法方面的东西我想比翻译这些更有用。API还有硬件feature的一些东西,都是很简单的东西,明白人用过就知道了。做什么东西才会用到?当然就是实现算法罗。

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
 楼主| 发表于 2006-12-16 22:01:00 | 显示全部楼层

Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

恩,不急慢慢来。

还有5年呢

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2006-12-17 14:34:00 | 显示全部楼层

Re: Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存

DancingWind: Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

恩,不急慢慢来。

还有5年呢

5年,硕博连读?

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
 楼主| 发表于 2006-12-17 15:03:00 | 显示全部楼层

Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

恩,图形学专业。

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
 楼主| 发表于 2006-12-17 15:05:00 | 显示全部楼层

Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

赫赫,兄能否介绍些方法和常去的网站,和自己的经验。

不知道实时渲染领域下一代的发展是什么。

多cpu+多GPU的编程模式?

8

主题

553

帖子

560

积分

高级会员

Rank: 4

积分
560
发表于 2006-12-17 15:56:00 | 显示全部楼层

Re: Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存

DancingWind: Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

赫赫,兄能否介绍些方法和常去的网站,和自己的经验。

不知道实时渲染领域下一代的发展是什么。

多cpu+多GPU的编程模式?

浙大cad实验室的? 这个问题你可以问问从你们那里出来的某几个大大,他们的回答更权威。
我的看法还是那样,算法的东西才是实质的,硬件feature也好,多处理器也好,都需要算法是利用它,接口的东西都是最简单的东西。就算你设计硬件也是一样的。
比如,你可以看一下以前的siggraph,看看是否某些offline的实现是否可以现在real time完成,或者改进以前的某些方法,使其能够并行话,等等。

41

主题

184

帖子

184

积分

注册会员

Rank: 2

积分
184
 楼主| 发表于 2006-12-17 16:13:00 | 显示全部楼层

Re:FAQ-10 GeForce FX 系列在DirectX中支持那些浮点的帧缓存格式?

恩,浙大偏重算法。其实现在很多算法都是80年代siggraph上的实现。只是游戏的推动才实现它们的,很多算法得到不到硬件支持,反而消失了。

还有就是在那个层做事,API层很多就是针对场景特定优化。微代码层就是更好的实现API,让其跑的更快。在下层就是高性能计算机的体系结构了。在中国做事,好像只能在最外层写写程序。

小弟困惑已久,无赖得不到指点。兄不妨指谈谈自身的体会。

从浙大看来,算法一直居世界领先水平,但终不能成大业。具体的问题,只需花些时日就能解答,难在一入错行,只能空费精力。所以,我现在的精力还是在了解各大厂商的技术。算法在精,终不过一人之力。何能一改当前的局势,下一代的图形结构,必定是并行化,可惜我的知识不够,故多方努力学习。先从了解硬件和api入手。

我见兄在此领域已有3到5年的功底,能否给我指导一下。牛人的话语固然能给我们很多启示,但其终不过一家只谈,且远离实用。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-26 01:59

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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