C# 클래스 Axiom.Graphics.Technique

Class representing an approach to rendering a particular Material.
The engine will attempt to use the best technique supported by the active hardware, unless you specifically request a lower detail technique (say for distant rendering)
파일 보기 프로젝트 열기: WolfgangSt/axiom 1 사용 예제들

보호된 프로퍼티들

프로퍼티 타입 설명
_GPUDeviceNameRules List
_GPUVendorRules List

공개 메소드들

메소드 설명
ApplyTextureAliases ( string>.Dictionary aliasList, bool apply ) : bool
Clone ( Material parent ) : Technique

Clones this Technique.

CompileIlluminationPasses ( ) : void

Internal method for splitting the passes into illumination passes.

CopyTo ( Technique target ) : void

Copy the details of this Technique to another.

CreatePass ( ) : Pass

Creates a new Pass for this technique.

A Pass is a single rendering pass, ie a single draw of the given material. Note that if you create a non-programmable pass, during compilation of the material the pass may be split into multiple passes if the graphics card cannot handle the number of texture units requested. For programmable passes, however, the number of passes you create will never be altered, so you have to make sure that you create an alternative fallback Technique for if a card does not have enough facilities for what you're asking for.

GetIlluminationPass ( int index ) : IlluminationPass

Retreives the IlluminationPass at the specified index.

GetPass ( int index ) : Pass

Retreives the Pass at the specified index.

GetPass ( string passName ) : Pass

Retreives the Pass by name.

Load ( ) : void

Loads resources required by this Technique.

Preload ( ) : void

Preloads resources required by this Technique. This is the portion that is safe to do from a thread other than the main render thread.

RemoveAllPasses ( ) : void

Removes all passes from this technique and queues them for deletion.

RemovePass ( Pass pass ) : void

Removes the specified Pass from this Technique.

SetFog ( bool overrideScene ) : void
SetFog ( bool overrideScene, FogMode mode, ColorEx color, Real expDensity, Real linearStart, Real linearEnd ) : void

Sets the fogging mode applied to each pass.

This property actually exists on the Pass class. For simplicity, this method allows you to set these properties for every current Pass within this Technique. If you need more precision, retrieve the Pass instance and set the property there.

SetSceneBlending ( SceneBlendFactor src, SceneBlendFactor dest ) : void
SetSceneBlending ( SceneBlendType blendType ) : void
SetShadowCasterMaterial ( string name ) : void
SetShadowReceiverMaterial ( string name ) : void
Technique ( Material parent ) : System
Unload ( ) : void

Unloads resources used by this Technique.

보호된 메소드들

메소드 설명
ClearIlluminationPasses ( ) : void

Internal method for clearing the illumination pass list.

비공개 메소드들

메소드 설명
AddGPUDeviceNameRule ( GPUDeviceNameRule rule ) : void

Add a rule which manually influences the support for this technique based on a pattern that matches a GPU device name (e.g. '*8800*').

You can use this facility to manually control whether a technique is considered supported, based on a GPU device name pattern. You can add inclusive or exclusive rules, and you can add as many of each as you like. If at least one inclusive rule is added, a technique is considered unsupported if it does not match any of those inclusive rules. If exclusive rules are added, the technique is considered unsupported if it matches any of those inclusive rules. The pattern you supply can include wildcard characters ('*') if you only want to match part of the device name. Note that any rule for the same device pattern will be removed before adding this one.

AddGPUVenderRule ( GPUVendorRule rule ) : void

Add a rule which manually influences the support for this technique based on a GPU vendor.

You can use this facility to manually control whether a technique is considered supported, based on a GPU vendor. You can add inclusive or exclusive rules, and you can add as many of each as you like. If at least one inclusive rule is added, a technique is considered unsupported if it does not match any of those inclusive rules. If exclusive rules are added, the technique is considered unsupported if it matches any of those inclusive rules. Note that any rule for the same vendor will be removed before adding this one. ///

Compile ( bool autoManageTextureUnits ) : String

Compilation method for Techniques. See Axiom.Graphics.Material

NotifyNeedsRecompile ( ) : void

Forces this Technique to recompile.

The parent Material is asked to recompile to accomplish this.

RemoveGPUDeviceNameRule ( GPUDeviceNameRule rule ) : void

Removes a matching device name rule.

RemoveGPUVendorRule ( GPUVendorRule rule ) : void

Removes a matching vendor rule.

메소드 상세

ApplyTextureAliases() 공개 메소드

public ApplyTextureAliases ( string>.Dictionary aliasList, bool apply ) : bool
aliasList string>.Dictionary
apply bool
리턴 bool

ClearIlluminationPasses() 보호된 메소드

Internal method for clearing the illumination pass list.
protected ClearIlluminationPasses ( ) : void
리턴 void

Clone() 공개 메소드

Clones this Technique.
public Clone ( Material parent ) : Technique
parent Material Material that will own this technique.
리턴 Technique

CompileIlluminationPasses() 공개 메소드

Internal method for splitting the passes into illumination passes.
public CompileIlluminationPasses ( ) : void
리턴 void

CopyTo() 공개 메소드

Copy the details of this Technique to another.
public CopyTo ( Technique target ) : void
target Technique
리턴 void

CreatePass() 공개 메소드

Creates a new Pass for this technique.
A Pass is a single rendering pass, ie a single draw of the given material. Note that if you create a non-programmable pass, during compilation of the material the pass may be split into multiple passes if the graphics card cannot handle the number of texture units requested. For programmable passes, however, the number of passes you create will never be altered, so you have to make sure that you create an alternative fallback Technique for if a card does not have enough facilities for what you're asking for.
public CreatePass ( ) : Pass
리턴 Pass

GetIlluminationPass() 공개 메소드

Retreives the IlluminationPass at the specified index.
public GetIlluminationPass ( int index ) : IlluminationPass
index int Index of the IlluminationPass to retreive.
리턴 IlluminationPass

GetPass() 공개 메소드

Retreives the Pass at the specified index.
public GetPass ( int index ) : Pass
index int Index of the Pass to retreive.
리턴 Pass

GetPass() 공개 메소드

Retreives the Pass by name.
public GetPass ( string passName ) : Pass
passName string Name of the Pass to retreive.
리턴 Pass

Load() 공개 메소드

Loads resources required by this Technique.
public Load ( ) : void
리턴 void

Preload() 공개 메소드

Preloads resources required by this Technique. This is the portion that is safe to do from a thread other than the main render thread.
public Preload ( ) : void
리턴 void

RemoveAllPasses() 공개 메소드

Removes all passes from this technique and queues them for deletion.
public RemoveAllPasses ( ) : void
리턴 void

RemovePass() 공개 메소드

Removes the specified Pass from this Technique.
public RemovePass ( Pass pass ) : void
pass Pass A reference to the Pass to be removed.
리턴 void

SetFog() 공개 메소드

public SetFog ( bool overrideScene ) : void
overrideScene bool
리턴 void

SetFog() 공개 메소드

Sets the fogging mode applied to each pass.
This property actually exists on the Pass class. For simplicity, this method allows you to set these properties for every current Pass within this Technique. If you need more precision, retrieve the Pass instance and set the property there.
public SetFog ( bool overrideScene, FogMode mode, ColorEx color, Real expDensity, Real linearStart, Real linearEnd ) : void
overrideScene bool
mode FogMode
color Axiom.Core.ColorEx
expDensity Real
linearStart Real
linearEnd Real
리턴 void

SetSceneBlending() 공개 메소드

public SetSceneBlending ( SceneBlendFactor src, SceneBlendFactor dest ) : void
src SceneBlendFactor
dest SceneBlendFactor
리턴 void

SetSceneBlending() 공개 메소드

public SetSceneBlending ( SceneBlendType blendType ) : void
blendType SceneBlendType
리턴 void

SetShadowCasterMaterial() 공개 메소드

public SetShadowCasterMaterial ( string name ) : void
name string
리턴 void

SetShadowReceiverMaterial() 공개 메소드

public SetShadowReceiverMaterial ( string name ) : void
name string
리턴 void

Technique() 공개 메소드

public Technique ( Material parent ) : System
parent Material
리턴 System

Unload() 공개 메소드

Unloads resources used by this Technique.
public Unload ( ) : void
리턴 void

프로퍼티 상세

_GPUDeviceNameRules 보호되어 있는 프로퍼티

protected List _GPUDeviceNameRules
리턴 List

_GPUVendorRules 보호되어 있는 프로퍼티

protected List _GPUVendorRules
리턴 List