Visual3D Game EngineAPI Documentation for XNA, C#, VB, and .NET
Abstract base class representing a high-level program (a vertex or fragment program).

Namespace: Visual3D.Graphics3D.Shaders.HLSL
Assembly: Visual3D.Engine (in Visual3D.Engine.dll) Version: 1.0.0.0 (1.0.0.0)

Syntax

      
 C#  Visual Basic 
[SerializableAttribute]
public abstract class HighLevelShader : Shader
<SerializableAttribute> _
Public MustInherit Class HighLevelShader _
	Inherits Shader

Members

               
 All Members  Constructors   Properties   Methods   Events  
 Public

 Protected
 Instance

 Static 
 Declared

 Inherited
 XNA Framework Only 

 .NET Compact Framework Only 

 MemberDescription
HighLevelShader()()()()
Initializes a new instance of the HighLevelShader class
HighLevelShader(String, ShaderType, String, String)
Default constructor.
AssetID (Inherited from Registered.)
AssetInfo (Inherited from Registered.)
AssetOwner
Gets or sets the owner to which this asset belongs and is a member of.
(Inherited from Asset.)
AttachedToOwner(IComponentOwner) (Inherited from EntityComponent.)
BaseAsset (Inherited from Registered.)
CompiledByteCode (Inherited from Shader.)
CompilerMacros
Gets a key-value dictionary containing all preprocessor symbols (e.g. for use with #define directive) for shader compilation.
(Inherited from Shader.)
ComponentOwner
Owner of this component (contained in it's ".Components" container).
(Inherited from EntityComponent.)
Components
Components that are attached to this Entity.
(Inherited from ComponentBase.)
ComponentsForGlobalSceneFolders (Inherited from ComponentBase.)
Context
Defines the Owner of this component as well as the role (i.e. 'slot') that this component fulfills.
(Inherited from ComponentBase.)
CreateIdentity()()()() (Inherited from Registered.)
CreateIdentityList()()()() (Inherited from Registered.)
CreateInstance(Boolean)
Creates an instance or non-inheriting duplicate of this asset.
(Inherited from Asset.)
CreateParameters()()()()
Creates a new parameters object compatible with this program definition.
(Inherited from Shader.)
CreateService<(Of <<'(TService>)>>)()()()() (Inherited from ComponentBase.)
CreateShaderConstantTable()()()() (Inherited from Shader.)
DefaultParameters (Inherited from Shader.)
DetachedFromOwner(IComponentOwner) (Inherited from EntityComponent.)
Dispose()()()() (Inherited from ComponentBase.)
Disposed (Inherited from ComponentBase.)
GetCompilerMacroValue(String) (Inherited from Shader.)
GetCompilerMacroValue(String, String%) (Inherited from Shader.)
GetService<(Of <<'(TService>)>>)()()()() (Inherited from ComponentBase.)
GetService<(Of <<'(TService>)>>)(TService%) (Inherited from ComponentBase.)
Handle (Inherited from Registered.)
HasCompilerMacro(String) (Inherited from Shader.)
HasComponents (Inherited from ComponentBase.)
HasHandle (Inherited from Registered.)
HasName (Inherited from EntityComponent.)
HasPrototype
Gets if a prototype has been specified to inherit instance data from.
(Inherited from Asset.)
HasScope (Inherited from Registered.)
HasUniqueName
Gets if a UniqueName is specified to identify this asset with respect to its owner's other members.
(Inherited from Registered.)
ID (Inherited from Registered.)
IDChanged (Inherited from Registered.)
Initialize()()()()
Initializes the asset so that it might be prepared for use. By default, PrepareForUse() is called from this method as well.
(Inherited from Asset.)
IsCompiled (Inherited from Shader.)
IsDeserialized
Indicates if Instance was created by Deserialization.
(Inherited from ComponentBase.)
IsDisposed
Indicates if resource has been disposed.
(Inherited from Asset.)
IsDisposing
Indicates if resource is in process of Disposing but not fully disposed.
(Inherited from Asset.)
IsInitialized
Gets if this entity is currently in an initialized (and non-disposed) state.
(Inherited from Asset.)
IsPrototype (Inherited from Asset.)
IsReadyForUse
Gets/sets if asset is ready to be used. Can be set to 'true' in class constructor in order to skip Preparation logic.
(Inherited from Asset.)
IsSaved
Indicates if the component is to be Saved when the owning context is saved (e.g. for components in your scene, this controls whether or not they are saved to the scene file when the scene is saved). Typically objects are 'Saved', unless they are transient to be programmatically created each time.
(Inherited from ComponentBase.)
IsSavedOnCreatingInstance (Inherited from Asset.)
IsSkeletalAnimationIncluded
Gets/Sets whether a vertex program includes the required instructions to perform skeletal animation.
(Inherited from Shader.)
IsSupported
Returns whether this program can be supported on the current renderer and hardware.
(Inherited from Shader.)
Language (Inherited from Shader.)
Name (Inherited from EntityComponent.)
NameID (Inherited from EntityComponent.)
OnMemberwiseClone()()()() (Inherited from ComponentBase.)
OwnerActivated(IComponentOwner) (Inherited from EntityComponent.)
OwnerDeactivated(IComponentOwner) (Inherited from EntityComponent.)
OwnerOf<(Of <<'(TOwner>)>>)()()()() (Inherited from Registered.)
PassSurfaceAndLightStates
Sets whether a vertex program requires light and material states to be passed to through fixed pipeline low level API rendering calls.
(Inherited from Shader.)
PrepareForUse()()()()
Attempts to prepare asset for use. To be sure, check "IsReadyForUse" after calling this method to ensure it's really ready for use before using it.
(Inherited from Asset.)
Prototype
Gets or sets the prototype, if specified, from which this asset inherits instance data.
(Inherited from Asset.)
Scope (Inherited from Registered.)
SetProperty(String, Object)
Must be implemented by subclasses.
ShaderProfile
Gets the syntax code of this program (i.e. arbvp1, vs_1_1, etc).
(Inherited from Shader.)
ShaderProfileType (Inherited from Shader.)
ShaderType
Gets the type of GPU program this represents (vertex or fragment).
(Inherited from Shader.)
SourceCode
Gets/Sets the source assembler code for this program.
(Inherited from Shader.)
SourceFile
Gets/Sets the source file for this program.
(Inherited from Shader.)
StorageModule (Inherited from Registered.)
ToString()()()() (Inherited from ComponentBase.)
UniqueName (Inherited from Registered.)
XnaPixelShader
Gets the underlying XNA pixel shader used by the graphics card, created for Main graphics device..
(Inherited from Shader.)
XnaVertexShader
Gets the underlying XNA vertex shader used by the graphics card, created for Main graphics device.
(Inherited from Shader.)

Remarks

High-level programs are vertex and fragment programs written in a high-level language such as Cg or HLSL, and as such do not require you to write assembler code like GpuProgram does. However, the high-level program does eventually get converted (compiled) into assembler and then eventually microcode which is what runs on the GPU. As well as the convenience, some high-level languages like Cg allow you to write a program which will operate under both XNA and OpenGL, something which you cannot do with just GpuProgram (which requires you to write 2 programs and use each in a Technique to provide cross-API compatibility). The engine will be creating a GpuProgram for you based on the high-level program, which is compiled specifically for the API being used at the time, but this process is transparent.

You cannot create high-level programs direct - use HighLevelGpuProgramManager instead. Plugins can register new implementations of HighLevelGpuProgramFactory in order to add support for new languages without requiring changes to the core engine API. To allow custom parameters to be set, this class implement IConfigurable - the application can query on the available custom parameters and get/set them without having to link specifically with it.

Inheritance Hierarchy

System..::..Object
  Visual3D.EntityModel..::..ComponentBase
    Visual3D.EntityModel..::..EntityComponent
      Visual3D..::..Registered
        Visual3D..::..Asset
          Visual3D.Graphics3D.Shaders.HLSL..::..Shader
            Visual3D.Graphics3D.Shaders.HLSL..::..HighLevelShader
              Visual3D.Graphics3D.Shaders.HLSL..::..HLSLShader

See Also