More ray tracing changes

This commit is contained in:
Dynamitos
2024-07-10 21:07:10 +02:00
parent acf8dde8fc
commit a9089bd997
46 changed files with 801 additions and 277 deletions
+5 -4
View File
@@ -1,14 +1,15 @@
import Common;
import RayTracingData;
import VertexData;
import MaterialParameter;
import Scene;
import LightEnv;
import Scene;
import RayTracingData;
import MATERIAL_FILE_NAME;
// simplification: all BLAS only have 1 geometry
[shader("closesthit")]
void main(inout payload Payload hitValue, in BuiltInTriangleIntersectionAttributes attr)
void closesthit(inout float3 hitValue, in BuiltInTriangleIntersectionAttributes attr)
{
const float3 barycentricCoords = float3(1.0f - attr.barycentrics.x - attr.barycentrics.y, attr.barycentrics.x, attr.barycentrics.y);
@@ -52,5 +53,5 @@ void main(inout payload Payload hitValue, in BuiltInTriangleIntersectionAttribut
result = result / (result + float3(1.0));
result = pow(result, float3(1.0/2.2));
hitValue.color = result;
hitValue = result;
}
+7
View File
@@ -0,0 +1,7 @@
import RayTracingData;
[shader("miss")]
void main(inout float3 p)
{
p = float3(1, 0, 1);
}
+2 -4
View File
@@ -17,11 +17,9 @@ void main()
uint max_rays = 24;
uint object_type = 100;
float4 color = float4(0, 0, 0, 0);
uint current_mode = 0;
float expectedDistance = -1;
Payload payload;
float3 payload;
RayDesc desc = {
origin.xyz,
@@ -32,5 +30,5 @@ void main()
TraceRay(pRayTracingParams.scene, RAY_FLAG_FORCE_OPAQUE, 0xff, 0, 0, 0, desc, payload);
pRayTracingParams.image[DispatchRaysIndex().xy] = payload.color;
pRayTracingParams.image[DispatchRaysIndex().xy] = float4(payload, 1.0f);
}
+1 -7
View File
@@ -1,13 +1,7 @@
struct Payload
{
float3 color;
};
struct RayTracingParams
{
RaytracingAccelerationStructure scene;
RWTexture2D<float3> image;
RWTexture2D<float4> image;
StructuredBuffer<uint> indexBuffer;
};
ParameterBlock<RayTracingParams> pRayTracingParams;