neuray API Programmer's Manual

imaterial.h File Reference

Description

Scene element Material.

Code Example

imaterial.h

‎//*****************************************************************************
// Copyright 1986, 2016 NVIDIA Corporation. All rights reserved.
//*****************************************************************************
//*****************************************************************************

#ifndef MI_NEURAYLIB_IMATERIAL_H
#define MI_NEURAYLIB_IMATERIAL_H

#include <mi/neuraylib/iscene_element.h>
#include <mi/neuraylib/version.h>

namespace mi {

namespace neuraylib {

class IGroup;
class MI_NEURAYLIB_DEPRECATED_CLASS_METASL(IShader);

class MI_NEURAYLIB_DEPRECATED_CLASS_METASL(IMaterial) :
    public base::Interface_declare<0xe7a03a04,0x5f31,0x48c1,0xa0,0x92,0x58,0x46,0x88,0x77,0x4c,0x67,
                                   neuraylib::IScene_element>
{
public:
    virtual Sint32 attach_shader( Shader_type type, const char* name) = 0;

    virtual Sint32 detach_shader( Shader_type type) = 0;

    virtual const MI_NEURAYLIB_DEPRECATED_CLASS_METASL(IShader)*
        access_shader( Shader_type type) const = 0;

    virtual MI_NEURAYLIB_DEPRECATED_CLASS_METASL(IShader)*
        edit_shader( Shader_type type) const = 0;
};
 // end group mi_neuray_misc

} // namespace neuraylib

#ifdef MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION
using neuraylib::IGroup;
using neuraylib::MI_NEURAYLIB_DEPRECATED_CLASS_METASL(IMaterial);
using neuraylib::IScene_element;
using neuraylib::MI_NEURAYLIB_DEPRECATED_CLASS_METASL(IShader);
using neuraylib::Shader_type;
#endif // MI_NEURAYLIB_DEPRECATED_NAMESPACE_MI_TRANSITION

} // namespace mi

#endif // MI_NEURAYLIB_IMATERIAL_H

Namespaces

namespace 
Common namespace for APIs of NVIDIA Advanced Rendering Center GmbH. More...
namespace 
Namespace for the neuray API. More...