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... | |
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 AtUniverse * | AiRenderSessionGetUniverse (const AtRenderSession *render_session) |
| Get the universe used by a given render session. More... | |
| AI_API AI_PURE const AtNode * | AiRenderSessionGetOptions (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... | |
API for managing rendering sessions.