itonemap.h File Reference
Description
neuray services tonemapping
Code Example
itonemap.h
/******************************************************************************
* Copyright 2010-2020 MIGENIUS PTY LTD, Australia. All rights reserved.
*
* Portions Copyright 1986-2011 by mental images GmbH, Fasanenstr. 81,
* D-10623 Berlin, Germany. All rights reserved.
*****************************************************************************/
//*****************************************************************************
#if !defined(MI_NSERVICES_ITONEMAP_H)
#define MI_NSERVICES_ITONEMAP_H
#include <mi/base/interface_declare.h>
#include <mi/neuraylib/iuser_class.h>
namespace mi{
namespace neuraylib{
class IAttribute_set;
class IPlugin_api;
class ICanvas;
class ITransaction;
}
namespace nservices {
class ITonemap_context : public
mi::base::Interface_declare<0xf3527e90,0x19fc,0x4270,0x82,0xc9,0x08,0x59,0x19,0x6a,0x3e,0x90>
{
public:
virtual mi::neuraylib::ITransaction* get_execution_transaction() = 0 ;
virtual mi::neuraylib::ITransaction* get_user_state_transaction() = 0;
virtual mi::neuraylib::IPlugin_api* get_plugin_api() const = 0;
virtual const mi::neuraylib::IAttribute_set* get_attributes() const = 0;
virtual const char* get_attributes_name() const = 0;
virtual mi::neuraylib::ICanvas* get_canvas() const = 0;
};
class ITonemap_operator : public
mi::base::Interface_declare<0x9a397dd0,0xfe77,0x41b9,0xa1,0x76,0xb7,0xd8,0x80,0xa6,0x9e,0x2a,
mi::neuraylib::IUser_class>
{
public:
virtual mi::Sint32
init(ITonemap_context *tonemap_context) = 0;
virtual void finish(ITonemap_context *tonemap_context) = 0;
virtual bool full_control() const = 0;
virtual void process_pixel(ITonemap_context *tonemap_context,
const mi::Float32 *color_in,
mi::Float32 *color_out,
mi::Uint32 x_coord,
mi::Uint32 y_coord) = 0;
virtual void process(ITonemap_context *tonemap_context) = 0;
};
template <Uint32 i_id1, Uint16 i_id2, Uint16 i_id3
, Uint8 i_id4, Uint8 i_id5, Uint8 i_id6, Uint8 i_id7
, Uint8 i_id8, Uint8 i_id9, Uint8 i_id10, Uint8 i_id11
, class I = ITonemap_operator>
class Tonemap_operator :public
mi::neuraylib::User_class<i_id1,i_id2,i_id3,i_id4,i_id5,i_id6,i_id7,i_id8,i_id9,i_id10,i_id11,I>
{
public:
virtual mi::neuraylib::IUser_class* copy() const
{
return NULL;
}
virtual mi::IArray* get_references( mi::neuraylib::ITransaction* transaction) const
{
return NULL;
}
virtual void serialize(
mi::neuraylib::ISerializer* serializer) const
{
}
virtual void deserialize(
mi::neuraylib::IDeserializer* deserializer)
{
}
};
// end group mi_nservices_tonemapping
} //end namespace nservices
}//end namespace mi
#endif
Namespaces
- namespace mi
- namespace mi::neuraylib
- namespace
- Namespace for the neuray Services API. More...