#include <mi_raylib.h>
#include <mi_lib.h>
#include <mi_shader.h>
#include "shader_framebuffer.h"
#include "shader_map.h"
#include "shader_lightlist.h"
#include "shader_sds34.h"
Go to the source code of this file.
Namespaces | |
namespace | mi |
namespace | mi::shader_v3 |
Classes | |
class | mi::shader_v3::Interface |
Top level C++ mental ray interface extensions. More... | |
class | mi::shader_v3::Options |
Access to string options. More... | |
class | mi::shader_v3::Access_interface |
Interface wrapper class. More... | |
Typedefs | |
typedef Access_interface | Interface_access |
Typedef for backwards compatibility. | |
Functions | |
mi::shader_v3::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 dynamically loadable library boundaries, like shaders. It also makes it possible to provide new, even incompatible versions of the interface later.
Binaries which have been compiled with an older version of this header file typically work with newer versions of this interface as long as the new member functions have been appended at the end of the existing classes.
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.
The namespace alias shader_v3 is used to avoid conflict of inlined symbols between shader libraries compiled with different version. On Linux platforms, this relaxes the requirement to link shader libraries with the -Bsymbolic option.
|
Typedef for backwards compatibility.
|
|
Acquire an instance of the mental ray C++ shader interface extensions.
|
Copyright © 1986-2009 by
mental images GmbH