NVIDIA Index example code nvidia_logo_transpbg.gif Up
xac_compute::heightfield Namespace Reference

Classes

struct  Heightfield_scene_info
 
struct  Hf_load_info
 
class  Tiled_heightfield_setup
 

Functions

static void load_heightfield_data (Nvindex_access &nvindex_accessor, Hf_load_info &load_info, const Option_map &opt_map, Scene_tool &scene_tool)
 

Variables

static const char * program_begin
 
static const char * program_end
 
static const char * color_program
 
static const char * compute_program
 

Function Documentation

 load_heightfield_data()

static void xac_compute::heightfield::load_heightfield_data ( Nvindex_access &  nvindex_accessor,
Hf_load_info load_info,
const Option_map opt_map,
Scene_tool scene_tool 
)
static

Definition at line 292 of file xac_compute_tiled_heightfield.cpp.

Variable Documentation

 color_program

const char* xac_compute::heightfield::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 output_color = sample_info.sample_color; \n"
" \n"
" output_color = make_float4(dir2color(sample_info.sample_normal), 1.f); \n"
" sample_output.set_color(output_color); \n"
" \n"
" return NV_IDX_PROG_OK; \n"
" } \n"

Definition at line 43 of file xac_compute_tiled_heightfield.cpp.

 compute_program

const char* xac_compute::heightfield::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"
" const auto& surf = state.self; \n"
" // Attr_elevation; Attr_normal \n"
" \n"
" float3 v = surf.get_attribute<float3>(surf.Attr_normal, data_point_info); \n"
" float3 v2 = make_float3(-v.z, v.y, v.x); \n"
" \n"
" data_output.write_value(surf.Attr_normal, v2); \n"
" \n"
" return NV_IDX_PROG_OK; \n"
" } \n"

Definition at line 61 of file xac_compute_tiled_heightfield.cpp.

 program_begin

const char* xac_compute::heightfield::program_begin
static
Initial value:
=
";NV_IDX_XAC_VERSION_1_0 \n"
"using namespace nv::index; \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"
";NV_IDX_DEVICE_FORCEINLINE static float3 dir2color(float3 d) { \n"
" return make_float3(d.x * 0.5f + 0.5f, d.y * 0.5f + 0.5f, d.z * 0.5f + 0.5f); \n"
"} \n"

Definition at line 22 of file xac_compute_tiled_heightfield.cpp.

 program_end

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

Definition at line 39 of file xac_compute_tiled_heightfield.cpp.