home | up | contents |
#include <mi_raylib.h>
#include <mi_lib.h>
#include <mi_shader.h>
Go to the source code of this file.
Namespaces |
|
namespace | mi |
namespace | mi::shader |
Classes |
|
struct | mi::shader::Framebuffer |
Framebuffer class.
More... |
|
class | mi::shader::Access_fb |
Smart pointer to access Framebuffer class, no
editing. More... |
|
class | mi::shader::Edit_fb |
Smart pointer to access Framebuffer class for
editing. More... |
|
struct | mi::shader::Interface |
Top level C++ mental ray interface
extensions. More... |
|
struct | mi::shader::Options |
Access to string options. More... |
|
class | mi::shader::LightIterator |
Iterate over shader or instance light lists.
More... |
|
class | mi::shader::LightList |
Light lists, used internally by LightIterator.
More... |
|
Functions |
|
mi::shader::Interface * | mi_get_shader_interface (int version=mi_ray_interface_version) |
Acquire an instance of the mental ray C++
shader interface extensions. |
This is a new C++ interface for shaders which extends the existing C-style shader interface to mental ray. It is implemented as abstract interface classes which do not require symbol lookups across DLL boundaries.
The indirection through abstract interface classes and virtual member functions is needed in order to avoid symbol lookups across dynamically loaded libraries (like for example shaders) by using virtual function tables. It also makes it possible to provide new, incompatible versions of the interface later.
mi_shader_if.h is included from shader.h if the shader is compiled as C++ code; a shader does not need to include mi_shader_if.h directly.
|
Acquire an instance of the mental ray C++ shader interface extensions.
|
home | up | contents |
Copyright © 1986-2007 by mental images GmbH