C# Class Tao.OpenGl.Gl

Datei anzeigen Open project: WolfgangSt/axiom

Public Methods

Method Description
GetDelegate ( string name, Type signature ) : Delegate

Creates a System.Delegate that can be used to call an OpenGL function, core or extension.

IsExtensionSupported ( string name ) : bool

Determines whether the specified OpenGL extension category is available in the current OpenGL context. Equivalent to IsExtensionSupported(name, true)

Load ( string function ) : bool

Tries to reload the given OpenGL function (core or extension).

Use this function if you require greater granularity when loading OpenGL entry points.

While the automatic initialisation will load all OpenGL entry points, in some cases the initialisation can take place before an OpenGL Context has been established. In this case, use this function to load the entry points for the OpenGL functions you will need, or use ReloadFunctions() to load all available entry points.

This function returns true if the given OpenGL function is supported, false otherwise.

To query for supported extensions use the IsExtensionSupported() function instead.

ReloadFunctions ( ) : void

Loads all OpenGL functions (core and extensions).

This function will be automatically called the first time you use any opengl function. There is

Call this function manually whenever you need to update OpenGL entry points. This need may arise if you change the pixelformat/visual, or in case you cannot (or do not want) to use the automatic initialization of the GL class.

Private Methods

Method Description
BuildExtensionList ( ) : void

Builds a cache of all supported extensions.

DetectUnixKernel ( ) : string

Executes "uname" which returns a string representing the name of the underlying Unix kernel.

Source code from "Mono: A Developer's Notebook"

GetAddress ( string function ) : IntPtr

Retrieves the entry point for a dynamically exported OpenGL function.

The Marshal.GetDelegateForFunctionPointer method can be used to turn the return value into a call-able delegate.

This function is cross-platform. It determines the underlying platform and uses the correct wgl, glx or agl GetAddress function to retrieve the function pointer.

Marshal.GetDelegateForFunctionPointer
GetExtensionDelegate ( string name, Type signature ) : Delegate

Creates a System.Delegate that can be used to call a dynamically exported OpenGL function.

Gl ( ) : System
set ( object d, Delegate value ) : void

Method Details

GetDelegate() public static method

Creates a System.Delegate that can be used to call an OpenGL function, core or extension.
public static GetDelegate ( string name, Type signature ) : Delegate
name string The name of the OpenGL function (eg. "glNewList")
signature Type The signature of the OpenGL function.
return Delegate

IsExtensionSupported() public static method

Determines whether the specified OpenGL extension category is available in the current OpenGL context. Equivalent to IsExtensionSupported(name, true)
public static IsExtensionSupported ( string name ) : bool
name string The string for the OpenGL extension category (eg. "GL_ARB_multitexture")
return bool

Load() public static method

Tries to reload the given OpenGL function (core or extension).

Use this function if you require greater granularity when loading OpenGL entry points.

While the automatic initialisation will load all OpenGL entry points, in some cases the initialisation can take place before an OpenGL Context has been established. In this case, use this function to load the entry points for the OpenGL functions you will need, or use ReloadFunctions() to load all available entry points.

This function returns true if the given OpenGL function is supported, false otherwise.

To query for supported extensions use the IsExtensionSupported() function instead.

public static Load ( string function ) : bool
function string The name of the OpenGL function (i.e. glShaderSource)
return bool

ReloadFunctions() public static method

Loads all OpenGL functions (core and extensions).

This function will be automatically called the first time you use any opengl function. There is

Call this function manually whenever you need to update OpenGL entry points. This need may arise if you change the pixelformat/visual, or in case you cannot (or do not want) to use the automatic initialization of the GL class.

public static ReloadFunctions ( ) : void
return void