forked from KhronosGroup/Vulkan-Samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add Mobile NeRF Ray Query Sample (KhronosGroup#1134)
* Add Mobile NeRF Ray Query sample initial files Signed-off-by: Rodrigo Holztrattner <[email protected]> * Quick fixes Signed-off-by: Rodrigo Holztrattner <[email protected]> * Add missing device properties 2 extension Signed-off-by: Rodrigo Holztrattner <[email protected]> * Minor README fix (remove repeated word) Signed-off-by: Rodrigo Holztrattner <[email protected]> * Fix for pending shader and cast issues Signed-off-by: Rodrigo Holztrattner <[email protected]> * Address camera movement and a few minor issues Signed-off-by: Rodrigo Holztrattner <[email protected]> * Update GPU feature request logic and minor change at readme file (Adreno -> mobile devices that support ray queries) * Fix for missing shader uniform buffer array non uniform indexing Signed-off-by: Rodrigo Holztrattner <[email protected]> * Remove unused variable Signed-off-by: Rodrigo Holztrattner <[email protected]> * Change default model to USE_OPAQUE Signed-off-by: Rodrigo Holztrattner <[email protected]> --------- Signed-off-by: Rodrigo Holztrattner <[email protected]>
- Loading branch information
1 parent
58ba96a
commit 96887d8
Showing
9 changed files
with
2,223 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,31 @@ | ||
# Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. | ||
# | ||
# SPDX-License-Identifier: Apache-2.0 | ||
# | ||
# Licensed under the Apache License, Version 2.0 the "License"; | ||
# you may not use this file except in compliance with the License. | ||
# You may obtain a copy of the License at | ||
# | ||
# http://www.apache.org/licenses/LICENSE-2.0 | ||
# | ||
# Unless required by applicable law or agreed to in writing, software | ||
# distributed under the License is distributed on an "AS IS" BASIS, | ||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
# See the License for the specific language governing permissions and | ||
# limitations under the License. | ||
# | ||
|
||
get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_LIST_DIR} NAME) | ||
get_filename_component(PARENT_DIR ${CMAKE_CURRENT_LIST_DIR} PATH) | ||
get_filename_component(CATEGORY_NAME ${PARENT_DIR} NAME) | ||
|
||
add_sample_with_tags( | ||
ID ${FOLDER_NAME} | ||
CATEGORY ${CATEGORY_NAME} | ||
AUTHOR "Qualcomm" | ||
NAME "Mobile NeRF Ray Query" | ||
DESCRIPTION "A Mobile Neural Radiance Field synthesizer sample using ray query, based on textured polygons." | ||
SHADER_FILES_GLSL | ||
"mobile_nerf_rayquery/quad.vert" | ||
"mobile_nerf_rayquery/rayquery_morpheus_combo.frag" | ||
"mobile_nerf_rayquery/rayquery_morpheus.frag") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
//// | ||
- Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved | ||
- | ||
- SPDX-License-Identifier: Apache-2.0 | ||
- | ||
- Licensed under the Apache License, Version 2.0 the "License"; | ||
- you may not use this file except in compliance with the License. | ||
- You may obtain a copy of the License at | ||
- | ||
- http://www.apache.org/licenses/LICENSE-2.0 | ||
- | ||
- Unless required by applicable law or agreed to in writing, software | ||
- distributed under the License is distributed on an "AS IS" BASIS, | ||
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||
- See the License for the specific language governing permissions and | ||
- limitations under the License. | ||
- | ||
//// | ||
= Mobile NeRF Ray Query | ||
|
||
ifdef::site-gen-antora[] | ||
TIP: The source for this sample can be found in the https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/general/mobile_nerf_rayquery[Khronos Vulkan samples github repository]. | ||
endif::[] | ||
|
||
NeRF is a new 3D representation method in Computer Vision that creates images of a 3D scene using several 2D pictures taken from different viewpoints. | ||
This method constructs a representation of the 3D volume. Various adaptations of NeRF target different use cases, including MobileNeRF, which focuses on rendering NeRF efficiently on mobile phones by leveraging existing traditional graphic hardware. | ||
|
||
This version enhances the https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/general/mobile_nerf[previous MobileNeRF implementation] by using the Vulkan Ray Query feature, which leverages the hardware ray tracing capabilities of mobile GPUs that support it. | ||
This enhancement greatly boosts performance in most use cases. Additionally, the Vulkan API provides great flexibility for modifying and optimizing the rendering pipeline and shaders, enabling more functionalities while delivering optimal performance. | ||
|
||
== Notes | ||
The original source code is also licensed under Apache-2.0, all shader files used by the sample have comments to indicate changes, when applicable. |
Oops, something went wrong.