随笔 - 505  文章 - 1034  trackbacks - 0
<2024年4月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011


子曾经曰过:编程无他,唯手熟尔!

常用链接

留言簿(94)

随笔分类(649)

随笔档案(505)

相册

BCB

Crytek

  • crymod
  • Crytek's Offical Modding Portal

Game Industry

OGRE

other

Programmers

Qt

WOW Stuff

搜索

  •  

积分与排名

  • 积分 - 894791
  • 排名 - 14

最新随笔

最新评论

阅读排行榜

评论排行榜

Unreal Tournament 3\Binaries\EditorRes
这个下面的做编辑器时就可以复用



Unreal Tournament 3\Engine\Shaders
这个下面的shader能复用吗?
看 SpotLightVertexShader.usf,如下:
/*=============================================================================
    SpotLightVertexShader.hlsl: Spot light vertex shader.
    Copyright 1998-2007 Epic Games, Inc. All Rights Reserved.
=============================================================================
*/

#define NEEDS_LIGHTMAP_COORDINATE STATICLIGHTING_TEXTUREMASK

#include 
"Common.usf"
#include 
"Material.usf"
#include 
"VertexFactory.usf"

float4 LightPositionAndInvRadius; 
// w = 1.0 / Radius

void Main(
    FVertexFactoryInput Input,
#if STATICLIGHTING_VERTEXMASK
    
float LightMask : BLENDWEIGHT0,
#endif
    
out FVertexFactoryInterpolants OutFactoryInterpolants,
    
out float3 OutTangentLightVector : TEXCOORD4,
    
out float4 OutWorldLightVector : TEXCOORD5,
    
out float3 OutCameraVector : TEXCOORD6,
    
out float4 OutScreenPosition : TEXCOORD7,
    
out float4 OutPosition : POSITION
    )
{
    float4 WorldPosition 
= VertexFactoryGetWorldPosition(Input,OutFactoryInterpolants);
    OutScreenPosition 
= OutPosition = MulMatrix(ViewProjectionMatrix,WorldPosition);
    float3x3 TangentBasis 
= VertexFactoryGetTangentBasis(Input);
    OutCameraVector 
= VertexFactoryWorldToTangentSpace(Input,TangentBasis,CameraPosition.xyz - WorldPosition.xyz * CameraPosition.w);
    OutTangentLightVector 
= VertexFactoryWorldToTangentSpace(Input,TangentBasis,LightPositionAndInvRadius.xyz - WorldPosition.xyz);
    OutWorldLightVector 
= float4((LightPositionAndInvRadius.xyz - WorldPosition.xyz) * LightPositionAndInvRadius.w,0);
#if STATICLIGHTING_VERTEXMASK
    OutWorldLightVector.w 
= LightMask;
#endif
}


posted on 2008-01-12 00:31 七星重剑 阅读(1529) 评论(2)  编辑 收藏 引用 所属分类: Game Engine

FeedBack:
# re: Unreal 3 里面有些东东拿来重用 2008-01-12 19:12 键盘的咏叹调
不错,Unreal3的源码,一套是14G吗?  回复  更多评论
  
# re: Unreal 3 里面有些东东拿来重用 2008-01-12 20:10 重剑
@键盘的咏叹调
这个是游戏目录下的,不是引擎的  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理