# IRdPureLWShader Struct Reference

Inherits IUnknown.

List of all members.

## Public Member Functions
HRESULT | Clear ()
HRESULT | SetShaderName ([in] BSTR bstrValue)
HRESULT | SetShaderType ([in] BSTR bstrValue)
HRESULT | GetShaderType ([out, retval] BSTR *pbstrValue)
HRESULT | GetShaderShortName ([out, retval] BSTR *pbstrValue)
HRESULT | GetShaderFullName ([out, retval] BSTR *pbstrValue)
HRESULT | AddShaderParam ([in] BSTR szShader,[in] VARIANT valuePar)
HRESULT | LockPortableShaderData ([out, retval] void **ppShaderData)

## Detailed Description

This dataobject represents shader interface.

## Member Function Documentation

HRESULT IRdPureLWShader::Clear | ( |  | ) |

Clear the dataobject

HRESULT IRdPureLWShader::SetShaderName | ( | [in] BSTR | bstrValue | ) |

Set the shader name

Parameters:

  | bstrValue | specifies method name. This name is without the type (i.e. "texcoord_") prefix

HRESULT IRdPureLWShader::SetShaderType | ( | [in] BSTR | bstrValue | ) |

Set the shader type

Parameters:

  | bstrValue | specifies the type.

HRESULT IRdPureLWShader::GetShaderType | ( | [out, retval] BSTR * | pbstrValue | ) |

Get the shader type

Parameters:

  | pbstrValue | receives the type.

HRESULT IRdPureLWShader::GetShaderShortName | ( | [out, retval] BSTR * | pbstrValue | ) |

Get the shader short name (without the type prefix)

Parameters:

  | pbstrValue | receives the short name.

HRESULT IRdPureLWShader::GetShaderFullName | ( | [out, retval] BSTR * | pbstrValue | ) |

Get the shader name

Parameters:

  | pbstrValue | specifies the full shader name (inc. prefix).

HRESULT IRdPureLWShader::AddShaderParam | ( | [in] BSTR | szShader,
|  | [in] VARIANT | valuePar |
| ) |  |  |

Set parameter of shader.

Parameters:

  | pbstrShader | specifies the output shader string.

HRESULT IRdPureLWShader::LockPortableShaderData | ( | [out, retval] void ** | ppShaderData | ) |

This method gets portable shader data, including parameters list and values.