Data Structures | Macros
ai_filters.h File Reference

API for writing pixel-filtering nodes. More...

#include "ai_nodes.h"
#include "ai_vector.h"
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  AtFilterNodeMethods
 Filter Node methods structure. More...
 

Macros

#define AI_FILTER_NODE_EXPORT_METHODS(tag)
 Filter Node methods exporter. More...
 
Node Method Declarations
#define filter_output_type   static uint8_t FilterOutputType(const AtNode* node, uint8_t input_type)
 Filter's filter_output_type method declaration. More...
 
#define filter_pixel   static void FilterPixel(AtNode* node, AtAOVSampleIterator* iterator, void* data_out, uint8_t data_type)
 Filter's filter_pixel method declaration. More...
 

Functions

API Methods for Filter Writers
AI_API void AiFilterInitialize (AtNode *node, bool requires_depth, const char **required_aovs)
 Initializes an AOV filter. More...
 
AI_API void AiFilterUpdate (AtNode *node, float width)
 Updates an AOV filter. More...
 
API Methods to Loop over Samples
AI_API void AiAOVSampleIteratorInitPixel (AtAOVSampleIterator *iter, int x, int y)
 Initialize the iterator for looping over the sample of the specified pixel. More...
 
AI_API void AiAOVSampleIteratorGetPixel (AtAOVSampleIterator *iter, int &x, int &y)
 Returns the pixel coordinates that the iterator was initialized for. More...
 
AI_API void AiAOVSampleIteratorReset (AtAOVSampleIterator *iter)
 Reset the iterator to its initial state (start of the same pixel). More...
 
AI_API bool AiAOVSampleIteratorGetNext (AtAOVSampleIterator *iter)
 Advance iterator to next sample (or return false if none are left). More...
 
AI_API bool AiAOVSampleIteratorGetNextDepth (AtAOVSampleIterator *iter)
 Advance the iterator through the "deep" sample off of the current sub-pixel sample. More...
 
AI_API AI_PURE AtVector2 AiAOVSampleIteratorGetOffset (const AtAOVSampleIterator *iter)
 Get the (x,y) offset from the pixel center. More...
 
AI_API AI_PURE float AiAOVSampleIteratorGetInvDensity (const AtAOVSampleIterator *iter)
 Get the inverse of the sampling density of the current sample. More...
 
AI_API AI_PURE int AiAOVSampleIteratorGetDepth (const AtAOVSampleIterator *iter)
 Get the depth of the current sample. More...
 
AI_API AI_PURE bool AiAOVSampleIteratorHasValue (const AtAOVSampleIterator *iter)
 Test if the iterator has a value for the primary AOV at the current location. More...
 
AI_API AI_PURE bool AiAOVSampleIteratorHasAOVValue (const AtAOVSampleIterator *iter, AtString name, uint8_t type)
 Test if the iterator has a value for an arbitrary AOV at the current location. More...
 
API Methods to Get Sample Value from Iterator
AI_API AI_PURE bool AiAOVSampleIteratorGetBool (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE int AiAOVSampleIteratorGetInt (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE unsigned int AiAOVSampleIteratorGetUInt (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE float AiAOVSampleIteratorGetFlt (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE AtRGB AiAOVSampleIteratorGetRGB (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE AtRGBA AiAOVSampleIteratorGetRGBA (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE AtVector AiAOVSampleIteratorGetVec (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE AtVector2 AiAOVSampleIteratorGetVec2 (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE AtMatrix AiAOVSampleIteratorGetMatrix (const AtAOVSampleIterator *iter)
 
AI_API AI_PURE const void * AiAOVSampleIteratorGetPtr (const AtAOVSampleIterator *iter)
 
API Methods to Get Sample Value from Iterator for an Arbitrary AOV
AI_API AI_PURE bool AiAOVSampleIteratorGetAOVBool (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE int AiAOVSampleIteratorGetAOVInt (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE unsigned int AiAOVSampleIteratorGetAOVUInt (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE float AiAOVSampleIteratorGetAOVFlt (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE AtRGB AiAOVSampleIteratorGetAOVRGB (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE AtRGBA AiAOVSampleIteratorGetAOVRGBA (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE AtVector AiAOVSampleIteratorGetAOVVec (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE AtVector2 AiAOVSampleIteratorGetAOVVec2 (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE AtMatrix AiAOVSampleIteratorGetAOVMatrix (const AtAOVSampleIterator *iter, const AtString name)
 
AI_API AI_PURE const void * AiAOVSampleIteratorGetAOVPtr (const AtAOVSampleIterator *iter, const AtString name)
 

Detailed Description

API for writing pixel-filtering nodes.


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