![]() |
open_iA
2019.12
A tool for the visual analysis and processing of volumetric datasets, with a focus on industrial computed tomography.
|
Class in charge of the raycasting process; it is used to init the render system, start the rendering process and contains all scene data.
More...
#include <iARayTracer.h>
Public Member Functions | |
| void | AllocateOpenCLBuffers () |
| int | DepthRaytrace (iARay &a_Ray, iAVec3f &a_Acc, int a_Depth, float a_RIndex, float &a_Dist, iARayPenetration *ray_p, std::vector< iAIntersection * > &vecIntersections, iATraverseStack *stack, bool dipAsColor=false) |
| Raytrace single ray. More... | |
| unsigned int * | getBuffer () |
| Get ray traced image pixel buffer. More... | |
| float | getLastAvDipAngle (void) |
| Get last rendering's average dip angle. More... | |
| float | getLastAvPenetrLen (void) |
| Get last rendering's average penetration length. More... | |
| iAEngine (iADreamCasterSettings *settings, float *dc_cuda_avpl_buff, float *dc_cuda_dipang_buff) | |
| void | InitRender (iAVec3f *vp_corners, iAVec3f *vp_delta, iAVec3f *o) |
| Initializes the renderer, by resetting line / tile counters´(=render parameters) and precalculating some values. More... | |
| bool | Render (const iAVec3f *vp_corners, const iAVec3f *vp_delta, const iAVec3f *o, bool rememberData=true, bool dipAsColor=false, bool cuda_enabled=false, bool rasterization=false) |
| Render engine's scene. More... | |
| bool | RenderBatchGPU (unsigned int batchSize, iAVec3f *os, iAVec3f *corns, iAVec3f *deltaxs, iAVec3f *deltays, float *rotsX, float *rotsY, float *rotsZ, bool rememberData=true, bool dipAsColor=false) |
| bool | RenderCPU (const iAVec3f *vp_corners, const iAVec3f *vp_delta, const iAVec3f *o, bool rememberData=true, bool dipAsColor=false) |
| Render scene on CPU. More... | |
| bool | RenderGPU (const iAVec3f *vp_corners, const iAVec3f *vp_delta, const iAVec3f *o, bool rememberData=true, bool dipAsColor=false, bool rasterization=false) |
| Render scene on GPU. More... | |
| iAScene * | scene () |
| Get engine's scene. More... | |
| void | SetCutAABBList (std::vector< iAaabb * > *cutAABBList) |
| Set pointer on list of cut AABBs. More... | |
| void | setPositon (float *pos) |
| Set object's position. More... | |
| void | setRotations (float a_X, float a_Y, float a_Z=0) |
| Set camera rotations. More... | |
| void | SetTarget (unsigned int *a_Dest) |
| Sets the render target canvas. More... | |
| void | setup_ids (void *data) |
| void | setup_nodes (void *data) |
| void | setup_tris (void *data) |
| void | Transform (iAVec3f *vec) |
| Transforms vector corresponding to rotation and position. More... | |
| ~iAEngine () | |
Public Attributes | |
| iARenderFromPosition * | curBatchRenders |
| statistical data about current(last) scene render More... | |
| iARenderFromPosition | curRender |
| statistical data about current(last) scene render More... | |
Protected Attributes | |
| float * | cuda_avpl_buff |
| float buffer used by cuda to store the results recieved from DreamCaster More... | |
| float * | cuda_dipang_buff |
| float buffer used by cuda to store the results recieved from DreamCaster More... | |
| unsigned int | m_batchSize |
| iAaabb * | m_cut_AABBs |
| std::vector< iAaabb * > * | m_cutAABBList |
| unsigned int | m_cutAABBListSize |
| unsigned int * | m_Dest |
| ray traced image pixel buffer More... | |
| float | m_DX |
| float | m_DY |
| int | m_Height |
| float | m_lastAvDipAngle |
| last rendering's av. dip angle More... | |
| float | m_lastAvPenetrLen |
| last rendering's av. penetration length More... | |
| float | m_ORIGIN_Z |
| float | m_PLANE_Z |
| iAScene * | m_Scene |
| engine's scene More... | |
| int | m_Width |
| float | m_WX1 |
| float | m_WX2 |
| float | m_WY1 |
| float | m_WY2 |
| int | msecs |
| iAVec3f | position |
| object's position More... | |
| float | rotX |
| float | rotY |
| float | rotZ |
| camera's rotation about x, y and z axis More... | |
| iADreamCasterSettings * | s |
Friends | |
| class | iARaycastingThread |
Class in charge of the raycasting process; it is used to init the render system, start the rendering process and contains all scene data.
| iAEngine::iAEngine | ( | iADreamCasterSettings * | settings, |
| float * | dc_cuda_avpl_buff, | ||
| float * | dc_cuda_dipang_buff | ||
| ) |
| iAEngine::~iAEngine | ( | ) |
| void iAEngine::AllocateOpenCLBuffers | ( | ) |
| int iAEngine::DepthRaytrace | ( | iARay & | a_Ray, |
| iAVec3f & | a_Acc, | ||
| int | a_Depth, | ||
| float | a_RIndex, | ||
| float & | a_Dist, | ||
| iARayPenetration * | ray_p, | ||
| std::vector< iAIntersection * > & | vecIntersections, | ||
| iATraverseStack * | stack, | ||
| bool | dipAsColor = false |
||
| ) |
Raytrace single ray.
|
inline |
Get ray traced image pixel buffer.
|
inline |
Get last rendering's average dip angle.
|
inline |
Get last rendering's average penetration length.
Initializes the renderer, by resetting line / tile counters´(=render parameters) and precalculating some values.
Prepares transformation matrix which is applied to origin and screen plane.
| vp_corners | [out] plane's corners in 3d |
| vp_delta | [out] plane's x and y axes' directions in 3D |
| o | [out] ray's origin point in world coordinates |
| bool iAEngine::Render | ( | const iAVec3f * | vp_corners, |
| const iAVec3f * | vp_delta, | ||
| const iAVec3f * | o, | ||
| bool | rememberData = true, |
||
| bool | dipAsColor = false, |
||
| bool | cuda_enabled = false, |
||
| bool | rasterization = false |
||
| ) |
Render engine's scene.
| vp_corners | |
| vp_delta | |
| o | |
| rememberData | remember data. |
| dipAsColor | draw image colored corresponding to dip angles. |
| cuda_enabled | use cuda based code for rendering |
| rasterization | whether to use rasterization |
| bool iAEngine::RenderBatchGPU | ( | unsigned int | batchSize, |
| iAVec3f * | os, | ||
| iAVec3f * | corns, | ||
| iAVec3f * | deltaxs, | ||
| iAVec3f * | deltays, | ||
| float * | rotsX, | ||
| float * | rotsY, | ||
| float * | rotsZ, | ||
| bool | rememberData = true, |
||
| bool | dipAsColor = false |
||
| ) |
| bool iAEngine::RenderCPU | ( | const iAVec3f * | vp_corners, |
| const iAVec3f * | vp_delta, | ||
| const iAVec3f * | o, | ||
| bool | rememberData = true, |
||
| bool | dipAsColor = false |
||
| ) |
Render scene on CPU.
| bool iAEngine::RenderGPU | ( | const iAVec3f * | vp_corners, |
| const iAVec3f * | vp_delta, | ||
| const iAVec3f * | o, | ||
| bool | rememberData = true, |
||
| bool | dipAsColor = false, |
||
| bool | rasterization = false |
||
| ) |
Render scene on GPU.
|
inline |
Get engine's scene.
|
inline |
Set pointer on list of cut AABBs.
| cutAABBList | the list of cut AABB's |
| void iAEngine::setPositon | ( | float * | pos | ) |
Set object's position.
| void iAEngine::setRotations | ( | float | a_X, |
| float | a_Y, | ||
| float | a_Z = 0 |
||
| ) |
Set camera rotations.
| void iAEngine::SetTarget | ( | unsigned int * | a_Dest | ) |
Sets the render target canvas.
| a_Dest | image pixel buffer. |
| void iAEngine::setup_ids | ( | void * | data | ) |
| void iAEngine::setup_nodes | ( | void * | data | ) |
| void iAEngine::setup_tris | ( | void * | data | ) |
| void iAEngine::Transform | ( | iAVec3f * | vec | ) |
Transforms vector corresponding to rotation and position.
| vec | Vector to transform |
|
friend |
|
protected |
float buffer used by cuda to store the results recieved from DreamCaster
|
protected |
float buffer used by cuda to store the results recieved from DreamCaster
| iARenderFromPosition* iAEngine::curBatchRenders |
statistical data about current(last) scene render
| iARenderFromPosition iAEngine::curRender |
statistical data about current(last) scene render
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
ray traced image pixel buffer
|
protected |
|
protected |
|
protected |
|
protected |
last rendering's av. dip angle
|
protected |
last rendering's av. penetration length
|
protected |
|
protected |
|
protected |
engine's scene
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
object's position
|
protected |
|
protected |
|
protected |
camera's rotation about x, y and z axis
|
protected |
1.8.16