Update ray tracing samples to use VK_KHR_ray_tracing (#753)

* Started updating ray tracing samples to KHR extension

* Updated GLSL shaders to use GL_EXT_ray_tracing

* Code cleanup, naming

* Fix include directories to use Vulkan headers from repository instead of NDK for the Android build

* Added new Android function pointers

* Renamed basic ray tracing sample

Added android build files

* Remove unused batch file

* Replaced remaining NV identifiers

* Updating ray tracing shadow sample to KHR extension

* Updated shaders to use KHR instead of NV extension

Fixed shader bindings

* Updating ray tracing reflections sample to KHR extension

* Renamed ray tracing reflections sample

* Renamed ray tracing shadows sample

Added android build files

* Removed no-longer used batch files for shader generation

* Proper alignment for the shader binding table

* Updated readme

* Reworked shader group setup

* Cleanup

* Reworked shader group setup

* Reworked shader group setup

* Code cleanup
This commit is contained in:
Sascha Willems 2020-08-15 17:59:02 +02:00 committed by GitHub
parent e6956acfbd
commit ee946e2abf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
98 changed files with 3291 additions and 2457 deletions

View file

@ -0,0 +1,25 @@
// Copyright 2020 Google LLC
struct RayPayload {
float3 color;
float distance;
float3 normal;
float reflector;
};
[shader("miss")]
void main(inout RayPayload rayPayload)
{
float3 worldRayDirection = WorldRayDirection();
// View-independent background gradient to simulate a basic sky background
const float3 gradientStart = float3(0.5, 0.6, 1.0);
const float3 gradientEnd = float3(1.0, 1.0, 1.0);
float3 unitDir = normalize(worldRayDirection);
float t = 0.5 * (unitDir.y + 1.0);
rayPayload.color = (1.0-t) * gradientStart + t * gradientEnd;
rayPayload.distance = -1.0f;
rayPayload.normal = float3(0, 0, 0);
rayPayload.reflector = 0.0f;
}