neuray API Programmer's Manual

iscene.h File Reference

Description

The scene object.

Code Example

iscene.h

‎/***************************************************************************************************
 * Copyright 2023 NVIDIA Corporation. All rights reserved.
 **************************************************************************************************/

#ifndef MI_NEURAYLIB_ISCENE_H
#define MI_NEURAYLIB_ISCENE_H

#include <mi/base/interface_declare.h>
#include <mi/neuraylib/typedefs.h>

namespace mi {

class IString;

namespace neuraylib {

class IRender_context;
class ITransaction;

















class IScene : public
    mi::base::Interface_declare<0x44e2a997,0x8a86,0x468d,0x8d,0x31,0xed,0x93,0xc0,0xb9,0xac,0x83>
{
public:
    virtual Sint32 
               set_rootgroup( const char* root) = 0;

    virtual const IString* get_rootgroup() const = 0;

    virtual Sint32 
               set_options( const char* options) = 0;

    virtual const IString* get_options() const = 0;

    virtual Sint32 
               set_camera_instance( const char* camera) = 0;

    virtual const IString* get_camera_instance() const = 0;

    virtual Bbox3_struct 
               get_bbox( Sint32* errors = 0) = 0;

    virtual IRender_context* create_render_context(
        ITransaction* transaction, const char* render_mode, Sint32* errors = 0) = 0;

    enum Dirty_flags
    {
        DIRTY_NONE = 0,

        DIRTY_INSTANCE_TRANSFORMS = 1 << 0,

        //  Undocumented, for alignment only.
        DIRTY_FORCE_32_BIT = 0xffffffffU
    };

    virtual Sint32 
               set_dirty( Uint32 flags = 0 ) = 0;
};
 // end group mi_neuray_rendering

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_ISCENE_H

Namespaces

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

Classes

class 
The scene is the top-level element describing a subset of DB elements to be rendered. More...