游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2342|回复: 2

谁能解释一下HLSL里Object-linear和Eye-linear的用处?

[复制链接]

8

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2008-9-2 19:07:00 | 显示全部楼层 |阅读模式
在rendermonkey的HLSL里有一段这样的代码,特别是Eye-linear texgen的意思我不太明白,谁能解释一下?
float4x4 view_proj_matrix: register(c0);
float reflectivePlane: register(c4);
struct VS_OUTPUT
{
   float4 Pos: POSITION;
   float2 texCoord: TEXCOORD0;
   float3 eyeLinear: TEXCOORD1;
};

VS_OUTPUT main(float4 Pos: POSITION)
{
   VS_OUTPUT Out;

   // Flip, scale, mirror and translate
   float4 pos = float4(6 * Pos.x, 2 * Pos.y - 14 - reflectivePlane, 6 * Pos.z, 1);
   float4 pPos = mul(view_proj_matrix, float4(pos.xyz,1));

   Out.Pos = pPos;
   // Object-linear texgen
   Out.texCoord.x = Pos.x * 0.01;
   Out.texCoord.y = Pos.z * 0.01;

   // Eye-linear texgen
   Out.eyeLinear.x = 0.5 * (pPos.z + pPos.x);
   Out.eyeLinear.y = 0.5 * (pPos.z - pPos.y);
   Out.eyeLinear.z = pPos.z;

   return Out;
}

19

主题

638

帖子

638

积分

高级会员

Rank: 4

积分
638
发表于 2008-9-3 11:16:00 | 显示全部楼层

Re:谁能解释一下HLSL里Object-linear和Eye-linear的用处?

估计不是看错。我猜他他应该指的是object space linear和eye space linear。是指在局部对象坐标系内线性还是在变换到视坐标系后成线性。

2

主题

132

帖子

132

积分

注册会员

Rank: 2

积分
132
发表于 2008-9-4 09:29:00 | 显示全部楼层

Re:谁能解释一下HLSL里Object-linear和Eye-linear的用处?

没有看错,哈哈,确实有这种用法,就是LS说的那样,影射全屏幕纹理的时候可以用到。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 10:04

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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