Data Structures | Typedefs | Enumerations | Functions
ai_render.h File Reference

API for managing rendering sessions. More...

#include "ai_api.h"
#include "ai_array.h"
#include "ai_string.h"
#include <stddef.h>
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  AtRenderUpdateInfo
 Additional useful information about the render, received in the render callback. More...
 

Typedefs

typedef AtRenderStatus(* AtRenderUpdateCallback) (void *private_data, AtRenderUpdateType update_type, const AtRenderUpdateInfo *update_info)
 Render update callback. More...
 

Enumerations

enum  AtRenderMode { AI_RENDER_MODE_CAMERA , AI_RENDER_MODE_FREE }
 Render modes. More...
 
enum  AtRenderErrorCode {
  AI_SUCCESS , AI_ABORT , AI_ERROR_NO_CAMERA , AI_ERROR_BAD_CAMERA ,
  AI_ERROR_VALIDATION , AI_ERROR_RENDER_REGION , AI_INTERRUPT , AI_ERROR_NO_OUTPUTS ,
  AI_ERROR_UNAVAILABLE_DEVICE , AI_ERROR
}
 Render error codes. More...
 
enum  AtSessionMode { AI_SESSION_BATCH , AI_SESSION_INTERACTIVE }
 Session mode. More...
 
enum  AtDisplayOutput { AI_DISPLAY_OUTPUT_NONE , AI_DISPLAY_OUTPUT_INTERACTIVE , AI_DISPLAY_OUTPUT_PARTIAL_INTERACTIVE , AI_DISPLAY_OUTPUT_ALL }
 Outputs ready for display. More...
 
enum  AtRenderStatus {
  AI_RENDER_STATUS_NOT_STARTED , AI_RENDER_STATUS_PAUSED , AI_RENDER_STATUS_RESTARTING , AI_RENDER_STATUS_RENDERING ,
  AI_RENDER_STATUS_FINISHED , AI_RENDER_STATUS_FAILED
}
 Status of the current render. More...
 
enum  AtRenderUpdateType {
  AI_RENDER_UPDATE_INTERRUPT , AI_RENDER_UPDATE_BEFORE_PASS , AI_RENDER_UPDATE_DURING_PASS , AI_RENDER_UPDATE_AFTER_PASS ,
  AI_RENDER_UPDATE_FINISHED , AI_RENDER_UPDATE_ERROR , AI_RENDER_UPDATE_IMAGERS
}
 Reason for invoking the render update callback. More...
 

Functions

AI_API void AiBegin (AtSessionMode mode=AI_SESSION_BATCH)
 Marks the beginning of a block which uses the Arnold rendering interface API. More...
 
AI_API void AiEnd ()
 Marks the end of a block which uses the Arnold rendering interface API. More...
 
AI_API bool AiArnoldIsActive ()
 Check whether the Arnold API is active (AiBegin has been called) or not. More...
 
AI_API AtRenderSession * AiRenderSession (AtUniverse *universe, AtSessionMode mode=AI_SESSION_BATCH)
 Create a new render session. More...
 
AI_API AtUniverseAiRenderSessionGetUniverse (const AtRenderSession *render_session)
 Get the universe used by a given render session. More...
 
AI_API AI_PURE const AtNodeAiRenderSessionGetOptions (const AtRenderSession *render_session)
 Get the render options node used by a given render session. More...
 
AI_API void AiRenderSessionDestroy (AtRenderSession *render_session)
 Destroy a render session and release any allocated resources. More...
 
AI_API AtSessionMode AiGetSessionMode (const AtRenderSession *render_session)
 Returns the current render session's mode. More...
 
AI_API void AiRenderAddInteractiveOutput (AtRenderSession *render_session, uint32_t output_index)
 Add the output to be displayed during fast interactive rendering. More...
 
AI_API bool AiRenderIsInteractiveOutput (AtRenderSession *render_session, uint32_t output_index)
 Get whether the output is displayed during fast interactive rendering. More...
 
AI_API bool AiRenderRemoveInteractiveOutput (AtRenderSession *render_session, uint32_t output_index)
 Remove the output so it is not displayed during fast interactive rendering. More...
 
AI_API void AiRenderRemoveAllInteractiveOutputs (AtRenderSession *render_session)
 Remove the output so it is not displayed during fast interactive rendering. More...
 
AI_API bool AiRenderSetHintBool (AtRenderSession *render_session, AtString hint, bool value)
 Set a render hint. More...
 
AI_API bool AiRenderSetHintInt (AtRenderSession *render_session, AtString hint, int32_t value)
 Set a render hint. More...
 
AI_API bool AiRenderSetHintFlt (AtRenderSession *render_session, AtString hint, float value)
 Set a render hint. More...
 
AI_API bool AiRenderSetHintStr (AtRenderSession *render_session, AtString hint, AtString value)
 Set a render hint. More...
 
AI_API bool AiRenderSetHintArray (AtRenderSession *render_session, AtString hint, AtArray *value)
 Set a render hint. More...
 
AI_API bool AiRenderGetHintBool (const AtRenderSession *render_session, AtString hint, bool &value)
 Get a render hint. More...
 
AI_API bool AiRenderGetHintInt (const AtRenderSession *render_session, AtString hint, int32_t &value)
 Get a render hint. More...
 
AI_API bool AiRenderGetHintFlt (const AtRenderSession *render_session, AtString hint, float &value)
 Get a render hint. More...
 
AI_API bool AiRenderGetHintStr (const AtRenderSession *render_session, AtString hint, AtString &value)
 Get a render hint. More...
 
AI_API bool AiRenderGetHintArray (const AtRenderSession *render_session, AtString hint, const AtArray *&value)
 Get a render hint. More...
 
AI_API AtRenderErrorCode AiRenderBegin (AtRenderSession *render_session, AtRenderMode mode=AI_RENDER_MODE_CAMERA, AtRenderUpdateCallback update_callback=NULL, void *callback_private_data=NULL)
 Start a render asynchronously. More...
 
AI_API AtRenderErrorCode AiRenderEnd (AtRenderSession *render_session)
 Finalize and clean up after beginning a render. More...
 
AI_API AtRenderStatus AiRenderGetStatus (const AtRenderSession *render_session)
 Get the current status of a render session. More...
 
AI_API void AiRenderInterrupt (AtRenderSession *render_session, AtBlockingCall blocking=AI_NON_BLOCKING)
 Stop rendering on a render session quickly and go to a paused state. More...
 
AI_API void AiRenderAbort (AtRenderSession *render_session, AtBlockingCall blocking=AI_NON_BLOCKING)
 Stop rendering on a render session as quickly as possible. More...
 
AI_API void AiRenderResume (AtRenderSession *render_session)
 Resume a render session after it was paused. More...
 
AI_API void AiRenderRestart (AtRenderSession *render_session)
 Restart a render session after it was paused. More...
 
AI_API bool AiRenderIsAnyActive ()
 Returns true if any of the existing universes is being rendered. More...
 
AI_API AtRenderErrorCode AiRender (AtRenderSession *render_session, AtRenderMode mode=AI_RENDER_MODE_CAMERA)
 Prepares a render and wait synchronously until it is finished before returning. More...
 

Detailed Description

API for managing rendering sessions.


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