游戏开发论坛

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

谁能解释一下rendermonkey的HLSL里Object-linear texgen和Eye-linear t

[复制链接]

8

主题

15

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2008-9-3 15:46:00 | 显示全部楼层 |阅读模式
谁能解释一下rendermonkey的HLSL里Object-linear texgen和Eye-linear texgen的用处?

在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;
}

7

主题

38

帖子

38

积分

注册会员

Rank: 2

积分
38
发表于 2008-9-3 15:49:00 | 显示全部楼层

Re:谁能解释一下rendermonkey的HLSL里Object-linear texgen和Eye-linea

兄弟,我是菜蛋,可否把你的书,发上来。让我看看啊。

19

主题

638

帖子

638

积分

高级会员

Rank: 4

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

Re:谁能解释一下rendermonkey的HLSL里Object-linear texgen和Eye-linea

算反射贴图的纹理坐标用的,两种做法,分别在这两个不同的坐标系内计算纹理坐标,具体的已经记不清了,只记得eye linear的结果是对的,obj space的效果不好。你找很老的opengl做纹理投影的资料应该有解释。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2026-1-21 11:49

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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