-
Notifications
You must be signed in to change notification settings - Fork 37
Customization Points
Content of this page: C++ entry points that are intended to be overwritten with custom functionality.
Note that the current version of Visionaray is an early preview. At this stage, the framework, including the API, are likely to undergo frequent changes.
Visionaray's core functionality is designed based on the concepts of generic programming. Basic operations are implemented so that they are valid for a variety of data types. Visionaray provides implementations for a few data types that are assumed to be most commonly used, and that are optimized for high runtime performance.
Customization points serve as a means for the user to implement functionality such as user-defined geometric primitives or materials, intercepting traversal and intersection routines, or deriving surface properties such as texture coordinates or normal vectors.
The following list gives an overview of classes and functions that are customization points that are intended to be specialized by the user.
Customization points for user-defined primitives:
- intersect()
- hit_record
- split_primitive()
Customization points to intercept existing traversal and intersection routines:
- update_if() and is_closer()
- basic_intersector
- Home
- Getting Started
- A Minimal Working Example
- Visionaray File Format (.vsnray)
- More Examples
- Troubleshooting
-
Developer Guide
- Scheduler and Kernel Concept
- Camera Concept
- Render Target Concept
- Built-in Schedulers, Kernels and Render Targets
- SIMD Math Library and Ray Packets
- Ray / Object Traversal
- Pixel sampling with primary rays
- Geometric Primitives
- Acceleration Data Structures and Traversal
- Surface Properties and Materials
- Texture Objects and Texture Intrinsics
-
Customization Points
- intersect()
- hit_record
- split_primitive()
- update_if() and is_closer()
- basic_intersector
- get_normal()
- get_tex_coord()
- References