diff --git a/src/main/resources/assets/voxy/shaders/heriacial_selector/hierarchical_worker.comp b/src/main/resources/assets/voxy/shaders/heriacial_selector/hierarchical_worker.comp deleted file mode 100644 index 4aba598e..00000000 --- a/src/main/resources/assets/voxy/shaders/heriacial_selector/hierarchical_worker.comp +++ /dev/null @@ -1,32 +0,0 @@ -#version 460 - -layout(local_size_x=8) - - - - -//NEW IDEAm use the depth buffer directly to compute the lod level needed to cover it - - - - -//Location in world space up to 2x2x2 block size resolution -#define OctNodeTask uint64_t - - - -//First 32 bits are the start of child -// next 16 bits are split into 8 pairs, each pair specifies the type of the subnode (air/empty, partial, full) - - - -//Tasks are of size uint64_t - - - -void main() { - while (true) { - barrier(); - - } -} \ No newline at end of file diff --git a/src/main/resources/assets/voxy/shaders/heriacial_selector/persistent_threads.comp b/src/main/resources/assets/voxy/shaders/heriacial_selector/persistent_threads.comp deleted file mode 100644 index 70d17993..00000000 --- a/src/main/resources/assets/voxy/shaders/heriacial_selector/persistent_threads.comp +++ /dev/null @@ -1,37 +0,0 @@ -#version 460 - -#define WAVE_SIZE 64 -layout(local_size_x=WAVE_SIZE) - -#define WorkTask - - -//or make the shape 4x2x4 which has a local size of 32 - - -//The work queue is a circular queue with collision detection and abortion -struct WorkQueueHeader { - uint queueSizeBits; - uint start; - uint end; - uint _padd; -}; - - -//Task is a uint32, - -//The idea is to use persistent threads + octree culling to recursivly find bottom level sections that satisfy a pixel density requirement -// given a matrix -void main() { - while (true) { - - } -} - - - -//Idea cull/recuse in a manor of 4x4x4 cube (64 bits), have an existance mask per section so that unnessasery computation isnt done on air subsections -// if a section is fully or partially visible and its aabb does not occupy 1 pixel (or a subset of some specified area/density) -// then enqueue that section as a job -// once a node has reached its tail ending, check if its loaded or not, if not, request it to be loaded -// note that the cpu side can discard sections if they are superceeded by a higher level lod load request etc diff --git a/src/main/resources/assets/voxy/shaders/heriacial_selector/traversal.comp b/src/main/resources/assets/voxy/shaders/heriacial_selector/traversal.comp deleted file mode 100644 index efbc0d47..00000000 --- a/src/main/resources/assets/voxy/shaders/heriacial_selector/traversal.comp +++ /dev/null @@ -1,24 +0,0 @@ -#version 460 - -layout(local_size_x=32) - -//Works in multiple parts -// first is a downwards traversal from a base level that finds all the bottom level pixel detail AABBs -// task queue is firstly filled with large visible AABB's from rastered occlusion -// -// each node metadata contains the position in 3d space relative to the toplevel node -// an offset into the datapool for the child nodes, and union between (a bitmsk of if a child node is full, empty, or mixed (or unloaded)) -// and a pointer to render metadata for meshlets - - -//The overarching idea is to have meshlets be automatatically selected based on the resulting pixel size/density -// after 3d projection, we dont want subpixel triangles and we want to be able to automatically account for the -// perspective warp on the edges of the screen (e.g. high fov == higher density at the center of the screen) -// from this, the gpu can then (if they are not present) request meshlets be added and thereby automatic lod selection -// and dynamic building resulting in possibly O(fast) rendering -void main() { - while (true) { - barrier(); - - } -} \ No newline at end of file