Google了一下……结果惊人……C1很可能真的支持Geometry Shader和Stream out……
以下来自一个旨在开发出Xbox 360上运行的自由操作系统的开源项目的技术Wiki:
http://www.free60.org/oldwiki/Unified_Shader_Engine ←此页面上还有更多信息,推荐LZ阅读……
Unified Shader Engine
Overview
At the Heart of the GPU, a Unified Shader engine (USE) is running, capable of parsing and executing shader instructions,
both from Pixels, Vertex and geometry shaders.
Many of the Instructions for the shaders reflect those of DX9.0 with special and unknown instructions made for the Xbox 360 some of these new instructions are called vfetch (for reading) and "memexport" for writing.
Only At a very close momentum to the release date of the XBOX 360, ATI also specified information about this memexport function. Because of this late momentum, none of the current games,demos or live arcade games are making calls to this function.
也就是说360的C1支持的特性很可能是介于DX9和DX10之间的“DX9.5”……而目前(页面编写时)尚未有支持这一特性的游戏出现。(该页面Work to do里写着一项:Find a retail disc which uses a geometry shader and who uses memexport)
另外补些图,说明一下楼主提到的两个关键新特性(我也是一知半解地在看呢……):
A geometry shader works at a larger level of granularity than vertices (which are at a larger granularity than pixels): triangles, objects, lines, strips, points. Primitives.
1) access to more than one input vertex
2) 1 in, 1 out rule no longer applies. GS can emit many many vertices
3) Stream Out. Can write data to a separate buffer and then process that buffer recursively
4) Can drive scene rendering without CPU interference. See "single pass cubemap" example.
[
本帖最后由 RestlessDream 于 2006-8-21 04:09 编辑 ]