wip(standalone): GPU step 13 -- near base/skirts/connectors cheaper to compile; warm-up still ~2.0 s
Cold first use: near base 4.2 ms, near detail 1,595 ms (the floor), connector rings 630 -> 409, skirt classify+emit ~1,409 -> 366. Production warm-up is still ~2.03-2.06 s; whole view median CPU 1.356 s vs hybrid 3.044 s. Near 960 + far 1,114 tiles: 0 topology/protected/thin diffs vs CPU and WARP; hashes, walk 5,642/5,642, survival pass. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MmSoF64BbRFmk9C3p1VsBJ
This commit is contained in:
1 parent
05b1523c54
commit
a96fd0b95b
18 files changed
+776
-75
No files matched your search
@@ -5,6 +5,7 @@
|
||||
// containers, engine types, and vector intrinsics so it remains usable by both compilers.
|
||||
#if defined(VF_FIELD_HLSL)
|
||||
#define VF_FIELD_INLINE
|
||||
#define VF_FIELD_LOOP [loop]
|
||||
typedef int VF_FieldI32;
|
||||
typedef uint VF_FieldU32;
|
||||
typedef float VF_FieldReal;
|
||||
@@ -23,6 +24,7 @@
|
||||
#include <cmath>
|
||||
#include <cstdint>
|
||||
#define VF_FIELD_INLINE inline
|
||||
#define VF_FIELD_LOOP
|
||||
typedef std::int32_t VF_FieldI32;
|
||||
typedef std::uint32_t VF_FieldU32;
|
||||
typedef double VF_FieldReal;
|
||||
@@ -333,6 +335,7 @@ VF_FIELD_INLINE float VF_FieldOwnerFractal(float x,float y,float z,VF_FieldI32 o
|
||||
VF_FieldI32 mode)
|
||||
{
|
||||
float total=0.0f,maxValue=0.0f,frequency=1.0f,amplitude=1.0f,weight=1.0f;
|
||||
VF_FIELD_LOOP
|
||||
for(VF_FieldI32 i=0;i<octaves;++i)
|
||||
{
|
||||
const float noise=VF_FieldPerlin3D(x*frequency,y*frequency,z*frequency);
|
||||
@@ -362,6 +365,7 @@ VF_FIELD_INLINE float VF_FieldOwnerCellular(float x,float y,float z)
|
||||
const float fracX=x-VF_FIELD_CAST_F32(cellX),fracY=y-VF_FIELD_CAST_F32(cellY),
|
||||
fracZ=z-VF_FIELD_CAST_F32(cellZ);
|
||||
float first=3.402823466e+38f,second=3.402823466e+38f;
|
||||
VF_FIELD_LOOP
|
||||
for(VF_FieldI32 dz=-1;dz<=1;++dz)
|
||||
for(VF_FieldI32 dy=-1;dy<=1;++dy)
|
||||
for(VF_FieldI32 dx=-1;dx<=1;++dx)
|
||||
|
||||
Reference in new issue
Block a user