| home | up | contents |
#include <mi_shader_if.h>
Public Member Functions | |
| virtual Options * | getOptions (miTag options_tag) |
| access string options | |
| virtual LightList * | createLightList (miState *state, miTag *slist=0, int n=0) |
| get light list, used internally by light iterators | |
| virtual void | release () |
| release (delete) the instance of the interface | |
Static Public Member Functions | |
| Interface * | get (int version=mi_ray_interface_version) |
| acquire an instance of the interface | |
This class is the top level access to the C++ shader interface extensions. All other C++ extensions like mi::shader::Options and mi::shader::LightIterator are accessible through this class.
An instance of the Interface must be acquired by calling mi_get_shader_interface() or the static method Interface::get(). When the interface is no more needed, it must be released by calling Interface::release():
mi::shader::Interface *iface = mi::shader::Interface::get(); // do something with it... iface->release();
The C++ interface extensions are implemented as virtual functions in this interface class in order to avoid linking and symbol lookup problems. The interface is defined in the header file mi_shader_if.h.
|
||||||||||||||||
|
get light list, used internally by light iterators This may be used to generate light iterators. |
|
|
acquire an instance of the interface This static method is equivalent to the function mi_get_shader_interface(), see there fore more information. This static function can be used as follows: mi::shader::Interface *iface = mi::shader::Interface::get();
|
|
|
access string options This may later be extended to also access all other options from the miOptions structure.
|
|
|
release (delete) the instance of the interface An interface acquired with mi_get_shader_interface() must be released with this call when done. The call may delete the object, and the interface may no longer be used afterwards. |
| home | up | contents |
Copyright © 1986-2006 by
mental images GmbH