oneAPI-samples icon indicating copy to clipboard operation
oneAPI-samples copied to clipboard

Request to Add a oneAPI Sample: Initial Rendering Toolkit sample

Open MichaelRoyceCarroll opened this issue 3 years ago • 8 comments

Summary

This is a request for a new code Sample called Initial Rendering Toolkit Sample

Purpose

Answer the following questions

  • What specifically is this code sample trying to show?
    • Provide getting started guide samples for the oneAPI Rendering Toolkit (IRTK) in a similar experience to the base toolkit.
  • Why is this important to the oneAPI ecosystem?
    • Stop users from navigating samples from preexisting Github (more suitable for advanced users).
    • This will be much faster to get going than the current gsg flows anywhere.

Domain

Please supply what Domain that you feel represents your Code Sample. (Best Effort)

Likely oneVPL reviewers... Marc Valle @mav-intel Rendering Toolkit domain is not listed.

Description

The Initial Rendering Toolkit Sample will allow the user to build and like the most basic programs for OSPRay, Embree, Open VKL, and Open Image Denoise. Sources are taken from existing samples on Intel-managed library product repositories. Their build is edit to be /edit retrofitted for the oneAPI samples repo edit with this update /edit.

Dependencies

No third-party runtime dependencies are required with proposed sources. A third-party image viewer program is needed to review the output. ImageMagick is easy to use and spans target platforms. Open Image Denoise sample denoises the output of the OSPRay sample. ImageMagick program is used independently to prep the OSPRay data for OIDN parsing. ImageMagick is an extremely common toolset for this interest area.

Proposed folder Location

Please include the proposed folder location for your sample to reside. I'm using oneapi-src/oneAPI-samples/RenderingToolkit ... This hierarchy and folder name is flexible, thus far it looks like this:

$ find RenderingToolkit/ -type f
RenderingToolkit/embree_gsg/CMakeLists.txt
RenderingToolkit/embree_gsg/minimal.cpp
RenderingToolkit/embree_gsg/ospray.json
RenderingToolkit/embree_gsg/sample.json
RenderingToolkit/oidn_gsg/apps/oidnDenoise.cpp
RenderingToolkit/oidn_gsg/apps/utils/arg_parser.h
RenderingToolkit/oidn_gsg/apps/utils/CMakeLists.txt
RenderingToolkit/oidn_gsg/apps/utils/image_io.cpp
RenderingToolkit/oidn_gsg/apps/utils/image_io.h
RenderingToolkit/oidn_gsg/CMakeLists.txt
RenderingToolkit/oidn_gsg/common/CMakeLists.txt
RenderingToolkit/oidn_gsg/common/platform.cpp
RenderingToolkit/oidn_gsg/common/platform.h
RenderingToolkit/oidn_gsg/common/timer.h
RenderingToolkit/oidn_gsg/sample.json
RenderingToolkit/openvkl_gsg/CMakeLists.txt
RenderingToolkit/openvkl_gsg/sample.json
RenderingToolkit/openvkl_gsg/vklTutorial.c
RenderingToolkit/ospray_gsg/CMakeLists.txt
RenderingToolkit/ospray_gsg/ospTutorial.cpp
RenderingToolkit/ospray_gsg/sample.json
RenderingToolkit/README.md

Checklist

[ ] Samples Working Group Permission accepted on <Insert Date>

MichaelRoyceCarroll avatar Oct 08 '21 19:10 MichaelRoyceCarroll

@praveenkk123 - As this is a new sample, it should be presented at the next WG meeting

JoeOster avatar Oct 08 '21 20:10 JoeOster

@MichaelRoyceCarroll - Please supply a link to the current repo for initial review

JoeOster avatar Oct 08 '21 20:10 JoeOster

@mav-intel can we list you to be the domain expert for Rendering Tolkit?

JoeOster avatar Oct 08 '21 20:10 JoeOster

@MichaelRoyceCarroll - Please supply a link to the current repo for initial review

@JoeOster Here are the originals... my pull request resembles these contents (not exactly because not all is needed)

Embree minimal.cpp https://github.com/embree/embree/tree/master/tutorials/minimal

OSPRay ospTutorial.cpp https://github.com/ospray/ospray/tree/master/apps/ospTutorial

OIDN oidnDenoise.cpp https://github.com/OpenImageDenoise/oidn/tree/master/apps

Open VKL vklTutorial.c https://github.com/openvkl/openvkl/tree/master/examples

-MichaelC

MichaelRoyceCarroll avatar Oct 08 '21 22:10 MichaelRoyceCarroll

@MichaelRoyceCarroll - Please supply a link to the current repo for initial review

@JoeOster Here are the originals... my pull request resembles these contents (not exactly because not all is needed)

Embree minimal.cpp https://github.com/embree/embree/tree/master/tutorials/minimal

OSPRay ospTutorial.cpp https://github.com/ospray/ospray/tree/master/apps/ospTutorial

OIDN oidnDenoise.cpp https://github.com/OpenImageDenoise/oidn/tree/master/apps

Open VKL vklTutorial.c https://github.com/openvkl/openvkl/tree/master/examples

-MichaelC

@JoeOster I have the sample in my oneAPI-samples fork at the RenderingToolkit branch: https://github.com/MichaelRoyceCarroll/oneAPI-samples/tree/RenderingToolkit.

Notice sources linked above have been restaged within the RenderingToolkit subdirectory.

I think I may be still missing a checklist. Between the slide template, the text template for the sample add request, and elsewhere. Is there another form? Thanks.

-MichaelC

MichaelRoyceCarroll avatar Oct 09 '21 00:10 MichaelRoyceCarroll

@MichaelRoyceCarroll - Please supply a link to the current repo for initial review

@JoeOster Here are the originals... my pull request resembles these contents (not exactly because not all is needed)

Embree minimal.cpp https://github.com/embree/embree/tree/master/tutorials/minimal

OSPRay ospTutorial.cpp https://github.com/ospray/ospray/tree/master/apps/ospTutorial

OIDN oidnDenoise.cpp https://github.com/OpenImageDenoise/oidn/tree/master/apps

Open VKL vklTutorial.c https://github.com/openvkl/openvkl/tree/master/examples

-MichaelC

When you create the PR, I would recommend 4 separate PRs. Otherwise, it can get messy for reviewing.

JoeOster avatar Oct 09 '21 02:10 JoeOster

@JoeOster 4 PR's have been created

MichaelRoyceCarroll avatar Oct 18 '21 23:10 MichaelRoyceCarroll

The fork now has a branch for each sample corresponding to pull requests:

  • https://github.com/MichaelRoyceCarroll/oneAPI-samples/tree/RenderingToolkit-ospray
  • https://github.com/MichaelRoyceCarroll/oneAPI-samples/tree/RenderingToolkit-embree
  • https://github.com/MichaelRoyceCarroll/oneAPI-samples/tree/RenderingToolkit-openvkl
  • https://github.com/MichaelRoyceCarroll/oneAPI-samples/tree/RenderingToolkit-oidn

MichaelRoyceCarroll avatar Oct 18 '21 23:10 MichaelRoyceCarroll