Data Structures | Macros
ai_drivers.h File Reference

API for writing AOV driver nodes. More...

#include "ai_nodes.h"
#include "ai_api.h"
#include "ai_bbox.h"
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  AtDriverNodeMethods
 Driver Node methods structure. More...
 

Macros

#define AI_DRIVER_NODE_EXPORT_METHODS(tag)
 Output Driver node methods exporter. More...
 
Node Method Declarations
#define driver_supports_pixel_type   static bool DriverSupportsPixelType(const AtNode* node, uint8_t pixel_type)
 Driver's driver_supports_pixel_type declaration. More...
 
#define driver_extension   static const char** DriverExtension()
 Driver's driver_extension method declaration. More...
 
#define driver_open   static void DriverOpen(AtNode* node, struct AtOutputIterator* iterator, AtBBox2 display_window, AtBBox2 data_window, int bucket_size)
 Driver's driver_open method declaration. More...
 
#define driver_needs_bucket   static bool DriverNeedsBucket(AtNode* node, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y, uint16_t tid)
 Driver's driver_needs_bucket method declaration. More...
 
#define driver_prepare_bucket   static void DriverPrepareBucket(AtNode* node, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y, uint16_t tid)
 Driver's driver_prepare_bucket method declaration. More...
 
#define driver_process_bucket   static void DriverProcessBucket(AtNode* node, struct AtOutputIterator* iterator, struct AtAOVSampleIterator* sample_iterator, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y, uint16_t tid)
 Driver's driver_process_bucket method declaration. More...
 
#define driver_write_bucket   static void DriverWriteBucket(AtNode* node, struct AtOutputIterator* iterator, struct AtAOVSampleIterator* sample_iterator, int bucket_xo, int bucket_yo, int bucket_size_x, int bucket_size_y)
 Driver's driver_write_bucket method declaration. More...
 
#define driver_close   static void DriverClose(AtNode* node, struct AtOutputIterator* iterator)
 Driver's driver_close method declaration. More...
 

Functions

API for Driver Writers
AI_API void AiDriverInitialize (AtNode *node, bool supports_multiple_outputs)
 Allocates and initializes the driver structure. More...
 
AI_API void AiRawDriverInitialize (AtNode *node, const char **required_aovs, bool requires_depth)
 Allocates and initializes the driver structure. More...
 
AI_API void AiDriverGetMatrices (AtMatrix &world_to_camera, AtMatrix &world_to_screen)
 Get Renderman compliant matrices from the active camera for use in file headers. More...
 
AI_API const char ** AiDriverExtension (const AtNodeEntry *node_entry)
 Invokes a driver's driver_extension method which returns a NULL-terminated array of filename extensions supported by this driver (note: uses the node_entry as this is a "static" method)
 
AI_API bool AiOutputIteratorGetNext (struct AtOutputIterator *iter, const char **output_name, int *pixel_type, const void **bucket_data)
 Get information about the next output connected to a driver. More...
 
AI_API void AiOutputIteratorReset (struct AtOutputIterator *iter)
 Reset an output iterator. More...
 
AI_API const AtNodeEntryAiFindDriverType (const char *extension)
 Get correct driver node type from an extension. More...
 

Detailed Description

API for writing AOV driver nodes.


© 2020 Autodesk, Inc. · All rights reserved · www.arnoldrenderer.com