# dolphinGpuReuse

A dolphin gpu reuse record carrying surfaceCache, gatheredIndirect, surfaceWork, probeWork, width.

Last updated: 2026-09-09

Package: dolphin.lightlab | Status: source-declared

Tags: class, cpu, dolphin, dolphin.lightlab, lightlab, method, source-example

Build bounded lighting experiments with geometry, visibility, transport, film, and GPU/CPU contracts.

```yh
external class dolphinGpuReuse
```

- buffer of float surfaceCache: Stores surface cache as buffer of float.
- buffer of float gatheredIndirect: Stores gathered indirect as buffer of float.
- buffer of int surfaceWork: Stores surface work as buffer of int.
- buffer of int probeWork: Stores probe work as buffer of int.
- int width: Stores width as int.
- dolphinGpuReuse(): Dolphin gpu reuse.
- Begin(int width,int height,int primitiveCount) returns bool: Begin.
- UpdateSurfaceCache(buffer of float geometry,buffer of float scene,buffer of float camera,int revision) returns bool: Update surface cache.
- GatherDiffuseProbes(buffer of float geometry) returns bool: Gather diffuse probes.

## Use dolphinGpuReuse

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

Verification: type checked

```yh
using dolphin.lightlab

// Build bounded lighting experiments with geometry, visibility, transport, film, and GPU/CPU contracts.
dolphinGpuReuse sample = dolphinGpuReuse()
Console.Log(Text.From(sample.width))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.dolphin_lightlab__dolphingpureuse"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "dolphin.lightlab"
version = "0.1.0"
path = "../../../dolphin/packages/lightlab"

[[dependencies]]
package = "dolphin.materials"
version = "0.1.0"
path = "../../../dolphin/packages/materials"

[[dependencies]]
package = "dolphin.math"
version = "0.1.0"
path = "../../../dolphin/packages/math"

[[dependencies]]
package = "dolphin.spatial3d"
version = "0.1.0"
path = "../../../dolphin/packages/spatial3d"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/dolphin.lightlab--dolphinGpuReuse/usage --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## dolphinGpuReuse.Begin

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using dolphin.lightlab

// Begin.
dolphinGpuReuse instance = dolphinGpuReuse()
int argument_width = 1
int argument_height = 1
int argument_primitiveCount = 1
bool result = instance.Begin(argument_width, argument_height, argument_primitiveCount)
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.dolphin_lightlab__dolphingpureuse"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "dolphin.lightlab"
version = "0.1.0"
path = "../../../dolphin/packages/lightlab"

[[dependencies]]
package = "dolphin.materials"
version = "0.1.0"
path = "../../../dolphin/packages/materials"

[[dependencies]]
package = "dolphin.math"
version = "0.1.0"
path = "../../../dolphin/packages/math"

[[dependencies]]
package = "dolphin.spatial3d"
version = "0.1.0"
path = "../../../dolphin/packages/spatial3d"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/dolphin.lightlab--dolphinGpuReuse/method-Begin-6 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## dolphinGpuReuse.UpdateSurfaceCache

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using dolphin.lightlab

// Update surface cache.
dolphinGpuReuse instance = dolphinGpuReuse()
buffer of float argument_geometry
argument_geometry.Resize(8)
buffer of float argument_scene
argument_scene.Resize(8)
buffer of float argument_camera
argument_camera.Resize(8)
int argument_revision = 1
bool result = instance.UpdateSurfaceCache(argument_geometry, argument_scene, argument_camera, argument_revision)
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.dolphin_lightlab__dolphingpureuse"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "dolphin.lightlab"
version = "0.1.0"
path = "../../../dolphin/packages/lightlab"

[[dependencies]]
package = "dolphin.materials"
version = "0.1.0"
path = "../../../dolphin/packages/materials"

[[dependencies]]
package = "dolphin.math"
version = "0.1.0"
path = "../../../dolphin/packages/math"

[[dependencies]]
package = "dolphin.spatial3d"
version = "0.1.0"
path = "../../../dolphin/packages/spatial3d"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/dolphin.lightlab--dolphinGpuReuse/method-UpdateSurfaceCache-7 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


## dolphinGpuReuse.GatherDiffuseProbes

A complete caller for this public method. Sample inputs are illustrative; native resources require their owning lifecycle.

Verification: type checked

```yh
using dolphin.lightlab

// Gather diffuse probes.
dolphinGpuReuse instance = dolphinGpuReuse()
buffer of float argument_geometry
argument_geometry.Resize(8)
bool result = instance.GatherDiffuseProbes(argument_geometry)
Console.Log(Text.From(result))

```

Save this beside start.yh as project.mech:

```toml
manifestVersion = "2"
package = "api.example.dolphin_lightlab__dolphingpureuse"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[dependencies]]
package = "dolphin.lightlab"
version = "0.1.0"
path = "../../../dolphin/packages/lightlab"

[[dependencies]]
package = "dolphin.materials"
version = "0.1.0"
path = "../../../dolphin/packages/materials"

[[dependencies]]
package = "dolphin.math"
version = "0.1.0"
path = "../../../dolphin/packages/math"

[[dependencies]]
package = "dolphin.spatial3d"
version = "0.1.0"
path = "../../../dolphin/packages/spatial3d"

```

Extract the example archive beside the yeho and dolphin checkouts. This example requires those source dependencies and a current developer compiler.

```sh
./yeho/build/dolphin-metal/yehoc ./api-examples/dolphin.lightlab--dolphinGpuReuse/method-GatherDiffuseProbes-8 --backend cpu-oracle -o /tmp/yeho-example
/tmp/yeho-example
```


Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

Source: dolphin/packages/lightlab/src/gpu_reuse.yh

AI training permission: https://demonhunterlabs.com/ai-use
