NVIDIA Index example code nvidia_logo_transpbg.gif Up
xac_compute Namespace Reference

XAC compute example scenes. More...

Namespaces

namespace  heightfield
 
namespace  sparse_volume
 
namespace  trianglemesh
 

Classes

struct  Compute_launch_info
 
class  Create_xac_compute_index_connect
 
class  IXac_compute_scene_setup
 
class  Null_scene_setup
 
class  Option_map
 
struct  Plane_img_helper
 
class  Plane_setup
 
struct  Program_source
 
struct  Scene_info
 
struct  Scene_tool
 
class  Usage_helper
 

Typedefs

typedef mi::math::Bbox< mi::Sint32, 2 > Bbox2i
 
typedef mi::math::Bbox< mi::Uint32, 2 > Bbox2u
 
typedef mi::math::Bbox< mi::Float32, 2 > Bbox2f
 
typedef mi::math::Bbox< mi::Sint32, 3 > Bbox3i
 
typedef mi::math::Bbox< mi::Uint32, 3 > Bbox3u
 
typedef mi::math::Bbox< mi::Float32, 3 > Bbox3f
 
typedef mi::math::Vector< mi::Uint32, 2 > Vec2u
 
typedef mi::math::Vector< mi::Sint32, 2 > Vec2i
 
typedef mi::math::Vector< mi::Float32, 2 > Vec2f
 
typedef mi::math::Vector< mi::Float64, 2 > Vec2d
 
typedef mi::math::Vector< mi::Uint32, 3 > Vec3u
 
typedef mi::math::Vector< mi::Sint32, 3 > Vec3i
 
typedef mi::math::Vector< mi::Float32, 3 > Vec3f
 
typedef mi::math::Vector< mi::Float64, 3 > Vec3d
 
typedef mi::math::Vector< mi::Uint32, 4 > Vec4u
 
typedef mi::math::Vector< mi::Sint32, 4 > Vec4i
 
typedef mi::math::Vector< mi::Float32, 4 > Vec4f
 
typedef mi::math::Vector< mi::Float64, 4 > Vec4d
 
typedef mi::math::Matrix< mi::Float32, 2, 2 > Mat2f
 
typedef mi::math::Matrix< mi::Float32, 3, 3 > Mat3f
 
typedef mi::math::Matrix< mi::Float32, 4, 4 > Mat4f
 
typedef mi::math::Matrix< mi::Float64, 2, 2 > Mat2d
 
typedef mi::math::Matrix< mi::Float64, 3, 3 > Mat3d
 
typedef mi::math::Matrix< mi::Float64, 4, 4 > Mat4d
 

Enumerations

enum  Sample_program_kind {
  Surface_sample_program ,
  Volume_sample_program
}
 

Functions

const IXac_compute_scene_setuphandle_arguments (Option_map &opt_map, int argc, char *argv[])
 
std::string get_error_info (const nv::index::IError_set *err_set)
 
mi::Uint32 reverse (mi::Uint32 x)
 
bool print_compute_info (Nvindex_access &nvindex_accessor, const Compute_launch_info &launch_info, const nv::index::ICompute_results *cpt_results, IDice_transaction *transaction, const std::string &plane_img_basename, const std::string &verify_img_basename)
 
bool print_compute_info (Nvindex_access &nvindex_accessor, const Compute_launch_info &launch_info, const Handle< const nv::index::ICompute_results > &cpt_results, App_rendering_context &arc, const Option_map &opt_map, int frame_idx)
 
Handle< const nv::index::ICompute_results > perform_compute (Nvindex_access &nvindex_accessor, const Compute_launch_info &launch_info, App_rendering_context &arc, const Option_map &opt_map)
 
bool run_compute (Nvindex_access &nvindex_accessor, const Compute_launch_info &launch_info, App_rendering_context &arc, const Option_map &opt_map, int frame_idx)
 
bool render_frame_and_save_or_verify (Nvindex_access &nvindex_accessor, mi::Sint32 frame_idx, App_rendering_context &arc, const Option_map &opt_map)
 
bool reload_scene (Nvindex_access &nvindex_accessor, const IXac_compute_scene_setup *scene_setup, App_rendering_context &arc, const Option_map &opt_map)
 
mi::Sint32 run_test_sequence (const IXac_compute_scene_setup *scene_setup, Nvindex_access &nvindex_accessor, const Option_map &opt_map)
 
bool has_key (const Option_map &opt_map, const std::string &key)
 
void get_default_options (Option_map &opt_map)
 
std::string get_usage (const Option_map &opt_map)
 
void start_nvindex_service (Nvindex_access &nvindex_accessor, const Option_map &opt_map, const xac_compute::IXac_compute_scene_setup *scene_setup)
 
void setup_app_context (App_rendering_context &arc, Nvindex_access &nvindex_accessor)
 
static void view_all_bbox (const Vec3f &from, const Vec3f &up, const Bbox3f &bbox, mi::neuraylib::Tag camera_tag, mi::neuraylib::Tag scene_tag, mi::neuraylib::IDice_transaction *dice_transaction)
 
void setup_scene (Nvindex_access &nvindex_accessor, const xac_compute::IXac_compute_scene_setup *scene_setup, Compute_launch_info &info, App_rendering_context &arc, const Option_map &opt_map)
 
bool export_scene_data (const xac_compute::IXac_compute_scene_setup *scene_setup, App_rendering_context &arc, const Option_map &opt_map)
 
void setup_performance_monitoring (App_rendering_context &arc, const Option_map &opt_map)
 
void print_performance (const nv::index::IPerformance_values *performance_values, const Option_map &opt_map, const char *info)
 
void print_performance (const nv::index::IFrame_results *frame_results, const Option_map &opt_map)
 
nv::index::IFrame_results * render_frame (App_rendering_context &arc, const std::string &output_fname)
 
template<class T>
mi::base::Handle< nv::index::IRendering_kernel_program > create_kernel_program (Scene_tool &scene_tool)
 
std::pair< mi::neuraylib::Tag, std::string > add_user_program (Sample_program_kind prg_kind, int user_prg, const std::string &user_text, const Program_source &prg_text, Scene_tool &scene_tool, const char *extra_pgr_methods)
 
int get_num_scenes ()
 
const IXac_compute_scene_setupget_scene_setup (int i)
 
void dump_text (const std::string &filename, const std::string &text)
 
void load_text (const std::string &filename, std::string &text)
 
const char * scene_name (int i)
 

Variables

static const char * plane_program_begin
 
static const char * program_end
 
static const char * plane_color_program
 
static const char * plane_compute_program
 
static const Program_source plane_program
 
static const Null_scene_setup null_scene_setup
 
static const int num_scenes = 3
 

Detailed Description

XAC compute example scenes.

Typedef Documentation

 Bbox2f

typedef mi::math::Bbox<mi::Float32, 2> xac_compute::Bbox2f

Definition at line 26 of file xac_compute.h.

 Bbox2i

typedef mi::math::Bbox<mi::Sint32, 2> xac_compute::Bbox2i

Definition at line 24 of file xac_compute.h.

 Bbox2u

typedef mi::math::Bbox<mi::Uint32, 2> xac_compute::Bbox2u

Definition at line 25 of file xac_compute.h.

 Bbox3f

typedef mi::math::Bbox<mi::Float32, 3> xac_compute::Bbox3f

Definition at line 29 of file xac_compute.h.

 Bbox3i

typedef mi::math::Bbox<mi::Sint32, 3> xac_compute::Bbox3i

Definition at line 27 of file xac_compute.h.

 Bbox3u

typedef mi::math::Bbox<mi::Uint32, 3> xac_compute::Bbox3u

Definition at line 28 of file xac_compute.h.

 Mat2d

typedef mi::math::Matrix<mi::Float64, 2, 2> xac_compute::Mat2d

Definition at line 50 of file xac_compute.h.

 Mat2f

typedef mi::math::Matrix<mi::Float32, 2, 2> xac_compute::Mat2f

Definition at line 46 of file xac_compute.h.

 Mat3d

typedef mi::math::Matrix<mi::Float64, 3, 3> xac_compute::Mat3d

Definition at line 51 of file xac_compute.h.

 Mat3f

typedef mi::math::Matrix<mi::Float32, 3, 3> xac_compute::Mat3f

Definition at line 47 of file xac_compute.h.

 Mat4d

typedef mi::math::Matrix<mi::Float64, 4, 4> xac_compute::Mat4d

Definition at line 52 of file xac_compute.h.

 Mat4f

typedef mi::math::Matrix<mi::Float32, 4, 4> xac_compute::Mat4f

Definition at line 48 of file xac_compute.h.

 Vec2d

typedef mi::math::Vector<mi::Float64, 2> xac_compute::Vec2d

Definition at line 34 of file xac_compute.h.

 Vec2f

typedef mi::math::Vector<mi::Float32, 2> xac_compute::Vec2f

Definition at line 33 of file xac_compute.h.

 Vec2i

typedef mi::math::Vector<mi::Sint32, 2> xac_compute::Vec2i

Definition at line 32 of file xac_compute.h.

 Vec2u

typedef mi::math::Vector<mi::Uint32, 2> xac_compute::Vec2u

Definition at line 31 of file xac_compute.h.

 Vec3d

typedef mi::math::Vector<mi::Float64, 3> xac_compute::Vec3d

Definition at line 39 of file xac_compute.h.

 Vec3f

typedef mi::math::Vector<mi::Float32, 3> xac_compute::Vec3f

Definition at line 38 of file xac_compute.h.

 Vec3i

typedef mi::math::Vector<mi::Sint32, 3> xac_compute::Vec3i

Definition at line 37 of file xac_compute.h.

 Vec3u

typedef mi::math::Vector<mi::Uint32, 3> xac_compute::Vec3u

Definition at line 36 of file xac_compute.h.

 Vec4d

typedef mi::math::Vector<mi::Float64, 4> xac_compute::Vec4d

Definition at line 44 of file xac_compute.h.

 Vec4f

typedef mi::math::Vector<mi::Float32, 4> xac_compute::Vec4f

Definition at line 43 of file xac_compute.h.

 Vec4i

typedef mi::math::Vector<mi::Sint32, 4> xac_compute::Vec4i

Definition at line 42 of file xac_compute.h.

 Vec4u

typedef mi::math::Vector<mi::Uint32, 4> xac_compute::Vec4u

Definition at line 41 of file xac_compute.h.

Enumeration Type Documentation

 Sample_program_kind

Enumerator
Surface_sample_program 
Volume_sample_program 

Definition at line 69 of file xac_compute_scene_tool.h.

Function Documentation

 add_user_program()

std::pair< mi::neuraylib::Tag, std::string > xac_compute::add_user_program ( Sample_program_kind  prg_kind,
int  user_prg,
const std::string &  user_text,
const Program_source prg_text,
Scene_tool scene_tool,
const char *  extra_pgr_methods 
)

Definition at line 75 of file xac_compute_scene_tool.cpp.

 create_kernel_program()

template<class T>
mi::base::Handle< nv::index::IRendering_kernel_program > xac_compute::create_kernel_program ( Scene_tool scene_tool)
inline

Definition at line 61 of file xac_compute_scene_tool.cpp.

 dump_text()

void xac_compute::dump_text ( const std::string &  filename,
const std::string &  text 
)

Definition at line 56 of file xac_compute_scenes.cpp.

 export_scene_data()

bool xac_compute::export_scene_data ( const xac_compute::IXac_compute_scene_setup scene_setup,
App_rendering_context &  arc,
const Option_map opt_map 
)

Definition at line 440 of file xac_compute_app.cpp.

 get_default_options()

void xac_compute::get_default_options ( Option_map opt_map)

Definition at line 26 of file xac_compute_app.cpp.

 get_error_info()

std::string xac_compute::get_error_info ( const nv::index::IError_set *  err_set)

Definition at line 145 of file xac_compute.cpp.

 get_num_scenes()

int xac_compute::get_num_scenes ( )

Definition at line 34 of file xac_compute_scenes.cpp.

 get_scene_setup()

const IXac_compute_scene_setup * xac_compute::get_scene_setup ( int  i)

Definition at line 39 of file xac_compute_scenes.cpp.

 get_usage()

std::string xac_compute::get_usage ( const Option_map opt_map)

Definition at line 57 of file xac_compute_app.cpp.

 handle_arguments()

const IXac_compute_scene_setup * xac_compute::handle_arguments ( Option_map opt_map,
int  argc,
char *  argv[] 
)

Definition at line 108 of file xac_compute.cpp.

 has_key()

bool xac_compute::has_key ( const Option_map opt_map,
const std::string &  key 
)
inline

Definition at line 85 of file xac_compute.h.

 load_text()

void xac_compute::load_text ( const std::string &  filename,
std::string &  text 
)

Definition at line 66 of file xac_compute_scenes.cpp.

 perform_compute()

Handle< const nv::index::ICompute_results > xac_compute::perform_compute ( Nvindex_access &  nvindex_accessor,
const Compute_launch_info launch_info,
App_rendering_context &  arc,
const Option_map opt_map 
)

Definition at line 399 of file xac_compute.cpp.

 print_compute_info() [1/2]

bool xac_compute::print_compute_info ( Nvindex_access &  nvindex_accessor,
const Compute_launch_info launch_info,
const Handle< const nv::index::ICompute_results > &  cpt_results,
App_rendering_context &  arc,
const Option_map opt_map,
int  frame_idx 
)

Definition at line 370 of file xac_compute.cpp.

 print_compute_info() [2/2]

bool xac_compute::print_compute_info ( Nvindex_access &  nvindex_accessor,
const Compute_launch_info launch_info,
const nv::index::ICompute_results *  cpt_results,
IDice_transaction *  transaction,
const std::string &  plane_img_basename,
const std::string &  verify_img_basename 
)

Definition at line 232 of file xac_compute.cpp.

 print_performance() [1/2]

void xac_compute::print_performance ( const nv::index::IFrame_results *  frame_results,
const Option_map opt_map 
)

Definition at line 555 of file xac_compute_app.cpp.

 print_performance() [2/2]

void xac_compute::print_performance ( const nv::index::IPerformance_values *  performance_values,
const Option_map opt_map,
const char *  info 
)

Definition at line 486 of file xac_compute_app.cpp.

 reload_scene()

bool xac_compute::reload_scene ( Nvindex_access &  nvindex_accessor,
const IXac_compute_scene_setup scene_setup,
App_rendering_context &  arc,
const Option_map opt_map 
)

Definition at line 519 of file xac_compute.cpp.

 render_frame()

nv::index::IFrame_results * xac_compute::render_frame ( App_rendering_context &  arc,
const std::string &  output_fname 
)

Definition at line 569 of file xac_compute_app.cpp.

 render_frame_and_save_or_verify()

bool xac_compute::render_frame_and_save_or_verify ( Nvindex_access &  nvindex_accessor,
mi::Sint32  frame_idx,
App_rendering_context &  arc,
const Option_map opt_map 
)

Definition at line 484 of file xac_compute.cpp.

 reverse()

mi::Uint32 xac_compute::reverse ( mi::Uint32  x)
inline

Definition at line 161 of file xac_compute.cpp.

 run_compute()

bool xac_compute::run_compute ( Nvindex_access &  nvindex_accessor,
const Compute_launch_info launch_info,
App_rendering_context &  arc,
const Option_map opt_map,
int  frame_idx 
)

Definition at line 468 of file xac_compute.cpp.

 run_test_sequence()

mi::Sint32 xac_compute::run_test_sequence ( const IXac_compute_scene_setup scene_setup,
Nvindex_access &  nvindex_accessor,
const Option_map opt_map 
)

Definition at line 569 of file xac_compute.cpp.

 scene_name()

const char * xac_compute::scene_name ( int  i)

Definition at line 81 of file xac_compute_scenes.cpp.

 setup_app_context()

void xac_compute::setup_app_context ( App_rendering_context &  arc,
Nvindex_access &  nvindex_accessor 
)

Definition at line 183 of file xac_compute_app.cpp.

 setup_performance_monitoring()

void xac_compute::setup_performance_monitoring ( App_rendering_context &  arc,
const Option_map opt_map 
)

Definition at line 459 of file xac_compute_app.cpp.

 setup_scene()

void xac_compute::setup_scene ( Nvindex_access &  nvindex_accessor,
const xac_compute::IXac_compute_scene_setup scene_setup,
Compute_launch_info info,
App_rendering_context &  arc,
const Option_map opt_map 
)

Definition at line 263 of file xac_compute_app.cpp.

 start_nvindex_service()

void xac_compute::start_nvindex_service ( Nvindex_access &  nvindex_accessor,
const Option_map opt_map,
const xac_compute::IXac_compute_scene_setup scene_setup 
)

Definition at line 107 of file xac_compute_app.cpp.

 view_all_bbox()

static void xac_compute::view_all_bbox ( const Vec3f from,
const Vec3f up,
const Bbox3f bbox,
mi::neuraylib::Tag  camera_tag,
mi::neuraylib::Tag  scene_tag,
mi::neuraylib::IDice_transaction *  dice_transaction 
)
static

Definition at line 209 of file xac_compute_app.cpp.

Variable Documentation

 null_scene_setup

const Null_scene_setup xac_compute::null_scene_setup
static

Definition at line 31 of file xac_compute_scenes.cpp.

 num_scenes

const int xac_compute::num_scenes = 3
static

Definition at line 32 of file xac_compute_scenes.cpp.

 plane_color_program

const char* xac_compute::plane_color_program
static
Initial value:
=
" NV_IDX_DEVICE_INLINE_MEMBER int execute( \n"
" const Sample_info_self& sample_info, \n"
" Sample_output& sample_output) \n"
" { \n"
" float4 color = sample_info.sample_color; \n"
" float sample = 0.f; \n"
" sample_func(sample_info.scene_position, sample, color); \n"
" \n"
" // boost the opacity \n"
" color.w = min(1.f, 0.3f + (color.w * 100.f) * 0.7f); \n"
" sample_output.set_color(color); \n"
" return NV_IDX_PROG_OK; \n"
" } \n"

Definition at line 36 of file xac_compute_plane.cpp.

 plane_compute_program

const char* xac_compute::plane_compute_program
static
Initial value:
=
" // The user program for compute. \n"
" NV_IDX_DEVICE_INLINE_MEMBER \n"
" int compute( \n"
" const Data_point_info_self& data_point_info, \n"
" Data_point_output& data_output) \n"
" { \n"
" if (!data_point_info.is_valid()) { return NV_IDX_PROG_OK; } \n"
" \n"
" float sample = 0.f; \n"
" float4 vcolor; \n"
" if (sample_func(data_point_info.get_position(), sample, vcolor)) { \n"
" data_output.write_value(0, sample); \n"
" data_output.write_value(1, make_float3(vcolor.x, vcolor.y, vcolor.z)); \n"
" } \n"
" return NV_IDX_PROG_OK; \n"
" } \n"

Definition at line 52 of file xac_compute_plane.cpp.

 plane_program

const Program_source xac_compute::plane_program
static
Initial value:
= {
}
static const char * plane_program_begin
static const char * plane_color_program
static const char * program_end
static const char * plane_compute_program

Definition at line 71 of file xac_compute_plane.cpp.

 plane_program_begin

const char* xac_compute::plane_program_begin
static
Initial value:
=
";NV_IDX_XAC_VERSION_1_0 \n"
"namespace xac = nv::index::xac; \n"
"namespace xaclib = nv::index::xaclib; \n"
" \n"
"class Surface_sample_program \n"
"{ \n"
" NV_IDX_SURFACE_SAMPLE_PROGRAM \n"
" \n"
"public: \n"
" NV_IDX_DEVICE_INLINE_MEMBER void initialize() \n"
" {} \n"
"\n"

Definition at line 17 of file xac_compute_plane.cpp.

 program_end

const char* xac_compute::program_end
static
Initial value:
=
"}; \n"

Definition at line 32 of file xac_compute_plane.cpp.