Data Structures
ai_volume.h File Reference

API for writing volume and implicit surface plugins. More...

#include "ai_bbox.h"
#include "ai_color.h"
#include "ai_params.h"
#include "ai_string.h"
#include "ai_version.h"

Go to the source code of this file.

Data Structures

struct  AtVolumeData
 Volume data, as returned by AtVolumeCreate. More...
 
struct  AtVolumeNodeMethods
 

Volume interpolation quality

#define AI_VOLUME_INTERP_CLOSEST   0
 closest data from the volume
 
#define AI_VOLUME_INTERP_TRILINEAR   1
 trilinearly sampled volume
 
#define AI_VOLUME_INTERP_TRICUBIC   2
 tricubicly sampled volume
 
#define AI_VOLUME_NODE_EXPORT_METHODS(tag)
 Volume node methods exporter. More...
 
#define volume_create
 
#define volume_update
 
#define volume_cleanup
 
#define volume_ray_extents
 
#define volume_sample
 
#define volume_gradient
 
typedef bool(* AtVolumeCreate) (const AtNode *node, AtVolumeData *data)
 Volume plugin volume creation. More...
 
typedef bool(* AtVolumeUpdate) (const AtNode *node, AtVolumeData *data)
 Volume plugin volume update. More...
 
typedef bool(* AtVolumeCleanup) (const AtNode *node, AtVolumeData *data)
 Volume plugin volume cleanup method. More...
 
typedef bool(* AtVolumeSample) (const AtVolumeData *data, const AtString channel, const AtShaderGlobals *sg, int interp, AtParamValue *value, uint8_t *type)
 Volume plugin sample method. More...
 
typedef bool(* AtVolumeGradient) (const AtVolumeData *data, const AtString channel, const AtShaderGlobals *sg, int interp, AtVector *gradient)
 Volume plugin gradient method. More...
 
typedef void(* AtVolumeRayExtents) (const AtVolumeData *data, const AtVolumeIntersectionInfo *info, uint16_t tid, float time, const AtVector *origin, const AtVector *direction, float t0, float t1)
 Volume plugin method for submitting extents along a ray where there is data. More...
 
AI_API void AiVolumeAddIntersection (const AtVolumeIntersectionInfo *info, float t0, float t1)
 Submit a ray interval/extent for volume integration. More...
 
AI_API void AiVolumeMergeIntersection (const AtVolumeIntersectionInfo *info, float t0, float t1, uint32_t prim_id)
 Submit a ray interval/extent for volume integration. More...
 
AI_API AtArray * AiVolumeFileGetChannels (const char *filename)
 Get list of channel names in a volume file. More...
 
AI_API AtBBox AiVolumeFileGetBBox (const char *filename, const AtArray *channels)
 Get bounding box for specified channels in a volume file. More...
 

Detailed Description

API for writing volume and implicit surface plugins.


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