File InvocationState.h¶
File List > Intern > rayx-core > src > Shader > InvocationState.h
Go to the documentation of this file
#pragma once
#include "Element/Element.h"
#include "RaysPtr.h"
namespace rayx {
enum class Sequential { No, Yes };
struct RAYX_API ConstState {
int maxEvents;
Sequential sequential = Sequential::No;
int numSources;
int numElements;
int outputEventsGridStride;
ObjectTransform* __restrict objectTransforms;
OpticalElement* __restrict elements;
int* __restrict materialIndices;
double* __restrict materialTable;
bool* __restrict objectRecordMask; // Mask that decides which elements to record events for (array length is numElements)
RayAttrMask attrRecordMask;
RaysPtr rays;
};
struct RAYX_API MutableState {
RaysPtr events;
bool* __restrict storedFlags;
};
} // namespace rayx