neuray API Programmer's Manual

ibsdf_isotropic_data.h File Reference

Description

Abstract interfaces related to scene element Bsdf_measurement.

Code Example

ibsdf_isotropic_data.h

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

#ifndef MI_NEURAYLIB_IBSDF_ISOTROPIC_DATA_H
#define MI_NEURAYLIB_IBSDF_ISOTROPIC_DATA_H

#include <mi/base/interface_declare.h>

namespace mi {

namespace neuraylib {

class IBsdf_buffer;


enum Bsdf_type {
    BSDF_SCALAR = 0, 
    BSDF_RGB    = 1, 
    BSDF_TYPES_FORCE_32_BIT = 0xffffffffU // Undocumented, for alignment only
};

mi_static_assert( sizeof( Bsdf_type) == sizeof( Uint32));

class IBsdf_isotropic_data : public
    mi::base::Interface_declare<0x23fd6d83,0x057b,0x4507,0xb4,0x93,0x0e,0xbd,0x44,0x7b,0x07,0xb9>
{
public:
    virtual Uint32 
               get_resolution_theta() const = 0;

    virtual Uint32 
               get_resolution_phi() const = 0;

    virtual Bsdf_type 
               get_type() const = 0;

    virtual const IBsdf_buffer* get_bsdf_buffer() const = 0;
};

class IBsdf_buffer : public
    mi::base::Interface_declare<0xdf3e6121,0x464e,0x424b,0x87,0x6f,0x6e,0x8f,0x6e,0x66,0xe2,0x9a>
{
public:
    virtual const Float32* get_data() const = 0;
};
 // end group mi_neuray_misc

} // namespace neuraylib

} // namespace mi

#endif // MI_NEURAYLIB_IBSDF_ISOTROPIC_DATA_H

Namespaces

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

Classes

class 
Abstract interface for a buffer of BSDF values. More...
class 
Abstract interface for isotropic BSDF data. More...

Enumerations

enum  {BSDF_SCALAR = 0, BSDF_RGB = 1, BSDF_TYPES_FORCE_32_BIT = 0xffffffffU }
The BSDF type. More...