More ray tracing changes
This commit is contained in:
@@ -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;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import RayTracingData;
|
||||
|
||||
[shader("miss")]
|
||||
void main(inout float3 p)
|
||||
{
|
||||
p = float3(1, 0, 1);
|
||||
}
|
||||
@@ -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,13 +1,7 @@
|
||||
|
||||
struct Payload
|
||||
{
|
||||
float3 color;
|
||||
};
|
||||
|
||||
struct RayTracingParams
|
||||
{
|
||||
RaytracingAccelerationStructure scene;
|
||||
RWTexture2D<float3> image;
|
||||
RWTexture2D<float4> image;
|
||||
StructuredBuffer<uint> indexBuffer;
|
||||
};
|
||||
ParameterBlock<RayTracingParams> pRayTracingParams;
|
||||
|
||||
Reference in New Issue
Block a user