本文整理汇总了C#中Effect.GetParameterBySemantic方法的典型用法代码示例。如果您正苦于以下问题:C# Effect.GetParameterBySemantic方法的具体用法?C# Effect.GetParameterBySemantic怎么用?C# Effect.GetParameterBySemantic使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Effect
的用法示例。
在下文中一共展示了Effect.GetParameterBySemantic方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ShaderLight
public ShaderLight( Effect fx, EffectHandle elem )
{
this.fx = fx;
diffuse = fx.GetParameterBySemantic( elem, "DIFFUSE" );
ndlBias = fx.GetParameterBySemantic( elem, "NDLBIAS" );
specular = fx.GetParameterBySemantic( elem, "SPECULAR" );
specSharpness = fx.GetParameterBySemantic( elem, "SPECULARSHARPNESS" );
direction = fx.GetParameterBySemantic( elem, "DIRECTION" );
}
示例2: GetLights
public static ShaderLight[] GetLights( Effect fx )
{
EffectHandle lights = fx.GetParameterBySemantic( null, "LIGHTS" );
int count = fx.GetParameterDescription( lights ).Elements;
ShaderLight[] ret = new ShaderLight[count];
for( int i = 0; i < ret.Length; i++ )
ret[i] = new ShaderLight( fx, fx.GetParameterElement( lights, i ) );
return ret;
}
示例3: LoadSurfaceShaders
private void LoadSurfaceShaders()
{
shaders.Clear();
Libx42.Model m = model.Model;
if( m == null )
return;
Device device = pn3D.Device;
string errs;
shadedEffect = Effect.FromFile( device, Path.Combine( Application.StartupPath, "Media/ShadedPreview.fx" ), null,
null, ShaderFlags.None, null, out errs );
ehMv = shadedEffect.GetParameterBySemantic( null, "MODELVIEW" );
ehMvp = shadedEffect.GetParameterBySemantic( null, "MODELVIEWPROJECTION" );
ehCamPos = shadedEffect.GetParameterBySemantic( null, "CAMERAPOSITION" );
ehAmbient = shadedEffect.GetParameterBySemantic( null, "LIGHTAMBIENT" );
shaderLights = ShaderLight.GetLights( shadedEffect );
ehBumpUnpack = shadedEffect.GetParameterBySemantic( null, "BUMPUNPACK" );
defaultDiffuse = TextureLoader.FromFile( device, Path.Combine( Application.StartupPath, "Media/DefaultDiffuse.bmp" ),
0, 0, 0, Usage.None, Format.Unknown, Pool.Managed, Filter.Box, Filter.Box, 0 );
defaultNormal = TextureLoader.FromFile( device, Path.Combine( Application.StartupPath, "Media/DefaultNormal.bmp" ),
0, 0, 0, Usage.None, Format.Unknown, Pool.Managed, Filter.Box, Filter.Box, 0 );
foreach( Libx42.Group g in m.Groups )
{
if( shaders.ContainsKey( g.MaterialName ) )
continue;
SurfaceShader shader = LoadSurfaceShader( g.MaterialName );
if( shader != null )
shaders.Add( g.MaterialName, shader );
}
surfaceShadersLoaded = true;
}