游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6104|回复: 5

clip space翻译成中文是什么意思?

[复制链接]

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
发表于 2010-2-16 23:46:00 | 显示全部楼层 |阅读模式
首先我想知道clip space翻译成中文是什么意思?

其次在NVIDIA的shader示例中有一个叫“post_shadow_overlay”的例子
其中有以下几行代码:
ApplyShadVertexOut applyShadowVS(ShadowAppData IN,
                uniform float4x4 WorldXform,
                uniform float4x4 WorldITXform,
                uniform float4x4 WVPXform,
                uniform float4x4 ShadowVPXform,
                uniform float4x4 ViewIXform,
                uniform float4x4 BiasXform)
{
    ApplyShadVertexOut OUT = (ApplyShadVertexOut)0;
    float4 Po = float4(IN.Position.xyz,(float)1.0);        // &quot" in object coords
    float4 Pw = mul(Po,WorldXform);                // "P" in world coordinates
    float4 Pl = mul(Pw,ShadowVPXform);  // "P" in light coords
    //OUT.LProj = Pl;                        // ...for pixel-shader shadow calcs
    OUT.LProj = mul(Pl,BiasXform);                // bias to make texcoord
    //
    float4 hpos = mul(Po,WVPXform);        // screen clipspace coords
    OUT.HPosition = hpos;
    OUT.BgUV = hpos;
    return OUT;
}

不明白“OUT.LProj = mul(Pl,BiasXform);”和“float4 hpos = mul(Po,WVPXform);”的意义,请高手帮我解答一下。

谢谢!

15

主题

62

帖子

64

积分

注册会员

Rank: 2

积分
64
发表于 2010-2-19 21:15:00 | 显示全部楼层

Re:clip space翻译成中文是什么意思?

具体不清楚,望文生义一下:WVPXform = world view projection transform
所谓的clipspace应该指视锥体裁剪之后的空间,即投影变换后的空间吧?
这个vs感觉有点像shadowmap里的vs,只是在一个pass中同时进行视点的wvp和灯光的wvp.
嘿嘿,没看过这个例子,能给个链接地址么?
(以上纯属YY)

83

主题

169

帖子

202

积分

中级会员

Rank: 3Rank: 3

积分
202
 楼主| 发表于 2010-2-19 23:56:00 | 显示全部楼层

Re:clip space翻译成中文是什么意思?

使用NVIDIA的编译器FX Composer 2.5在它的例子中就可以找到post_shadow_overlay

1

主题

78

帖子

97

积分

注册会员

Rank: 2

积分
97
发表于 2010-2-27 21:22:00 | 显示全部楼层

Re:clip space翻译成中文是什么意思?

OUT.LProj = mul(Pl,BiasXform); 观其意,biasXform意为坐标轴变换,也就是由投影空间到viewport(视区)空间变换。但是这里,不是一个视区,而是一个纹理(shadowmap)。整个意思是把Pl点坐标转换为shadowmap的纹理坐标。

float4 hpos = mul(Po,WVPXform)就是一个转换到投影空间的操作。
clipspace,二楼说的意思是正确的。

1

主题

78

帖子

97

积分

注册会员

Rank: 2

积分
97
发表于 2010-2-27 21:29:00 | 显示全部楼层

Re:clip space翻译成中文是什么意思?

OUT.LProj = mul(Pl,BiasXform); 观其意,biasXform意为坐标轴变换,也就是由投影空间到viewport(视区)空间变换。但是这里,不是一个视区,而是一个纹理(shadowmap)。整个意思是把Pl点坐标转换为shadowmap的纹理坐标。

float4 hpos = mul(Po,WVPXform)就是一个转换到投影空间的操作。
clipspace,二楼说的意思是正确的。

13

主题

312

帖子

312

积分

中级会员

Rank: 3Rank: 3

积分
312
发表于 2010-3-2 02:24:00 | 显示全部楼层

Re:clip space翻译成中文是什么意思?

CCS(剪切空间)
:>

-------------------------------------------------------------------------------------------


欢迎访问开源图形处理器体系结构论坛(OpenGPU论坛) http://www.opengpu.org/bbs/

OpenGPU Graphics Open Source community(图形开源社区),聚焦领域(focus domain)包括:
  * GPU Architecture(图形处理器体系结构)
  * Graphics Algorithm(图形算法)
  * Open Source Rendering Engine(开源渲染器)
  * Open Source GPU Simulator/RTL Implement(开源GPU模拟器)
  * Mobile GPU Developing (移动图形设备的开发)
  * GPGPU Programming (面向通用的图形处理器编程)
                      (包括CUDA/OpenCL /DirectCompute)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-12-15 00:05

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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