Intel® OSPRay Essentials
Overview
This foundational learning path introduces oneAPI, the Intel® Rendering Toolkit components, and explores Intel® OSPRay, an industry-leading, ray tracing rendering library. At a high level, see how to use the Intel OSPRay API to create high-fidelity photorealistic images. Step-by-step instructions begin with creating scenes using simple geometries, and then progress through samples to demonstrate how you can import more complicated geometries into your target scene.
Objectives
Who is this for?
Developers who want to learn the basics of rendering using Intel OSPRay. It requires an active account on Intel® Developer Cloud and familiarity with the command line and a Jupyter* Notebook.
What will I be able to do?
After you complete the four modules, you will be able to:
- Explain how oneAPI aligns with the rendering capabilities of the Intel Rendering Toolkit, including ray-surface hit testing, volumetric space iteration, and image denoise.
- Initialize the renderer, render a single frame, and release system resources.
- Set up scivis and pathtracer rendering modes within the code and via the command line of the executable run script, run.sh.
- Use a basic OBJ asset file loader inside a loadObj() wrapper function to transfer data for geometry, materials, and lighting effects from the file and into the appropriate Intel OSPRay API function calls.
Download the Toolkit
Streamline the building of applications that use ray tracing-based rendering for interactive surface- and volume-based visualizations with this powerful, CPU- and GPU-based library.
Start Learning Intel OSPRay
Get hands-on practice with code samples in a Jupyter Notebook running live on Intel Developer Cloud.
To get started:
- Sign in to Intel Developer Cloud.
- Select One Click Log In for JupyterLab, and then select Launch Server (if needed).
- Open the RenderKit_Learning_Path folder, and then select Overview.ipynb notebook.
Modules
Introduction to JupyterLab and a Jupyter* Notebook
- Use a Jupyter Notebook to modify, compile, and run code as part of the learning exercises.
- Note If you are already familiar with Jupyter Notebooks, you may skip this module.
- To begin, open Introduction_to_Jupyter.ipnyb.
Introduction to the oneAPI Programming Model and Intel® Rendering Toolkit
- Learn how oneAPI can help solve the challenges of programming in a heterogeneous world.
- Understand how the Intel Rendering Toolkit enables rapid development of performant visualization applications.
- Get an orientation to key rendering capabilities such as ray-surface hit testing, volumetric space iteration, and denoising images.
Introduction to Intel OSPRay
- Familiarize yourself with the Intel OSPRay renderer and API.
- Initialize the renderer and other supporting resources.
- Add simplified geometry data and render a single frame using instructions within the ospTutorial sample.
- Shut down the renderer and free supporting resources.
ospExamples—Practice Intel OSPRay Techniques with Procedural Scenes
- Practice rendering mode setup techniques using provided code and detailed code comments.
- Set up OSPRay rendering of procedural scenes using the scivis and pathtracer rendering modes.
- Switch rendering modes within the code and use a command-line option in the sample executable run script, run.sh.
- Select a different scene with a command-line option passed to the sample executable run script, run.sh.
Asset Loading Using an OBJ/MTL File and the loadObj() Function
- Understand Intel OSPRay constructs related to loading objects, and then manipulate data to achieve various effects.
- Modify command line options of the executable run script, run.sh, to load different OBJ files.
- Use the loadObj() wrapper function to transfer data for geometry, materials, and lighting effects from the OBJ file and into the appropriate OSPRay API function calls.
- Modify command line options of the executable run script, run.sh, to change the camera position to account for the different object sizes in the OBJ file.
Get Help
Your success is our success. Access these forum and GitHub* resources when you need assistance with the Intel Rendering Toolkit libraries.
- Intel Rendering Toolkit Forum
- Intel® Embree
- Intel® Open Image Denoise
- Intel® Open Volume Kernel Library
- Intel OSPRay