dolphin.materials · function ·

DolphinSurfaceGgx

Same GGX/Smith/Schlick direct-light lobe used by Dolphin Lightlab. The result already includes N dot L; callers supply incoming radiance separately.

cpudolphindolphin.materialsfunctionmaterialssource-example

Compose linear-color surfaces and shared shading math in ordinary Yeho code.

external DolphinSurfaceGgx(float roughness,float f0,float nx,float ny,float nz,float vx,float vy,float vz,float lx,float ly,float lz) returns float

Status: source-declared

Parameters

float roughness
Supply roughness as float.
float f0
Supply f0 as float.
float nx
Supply nx as float.
float ny
Supply ny as float.
float nz
Supply nz as float.
float vx
Supply vx as float.
float vy
Supply vy as float.
float vz
Supply vz as float.
float lx
Supply lx as float.
float ly
Supply ly as float.
float lz
Supply lz as float.

Use DolphinSurfaceGgx

A complete small caller. Values are illustrative; check the returned result and package requirements before connecting live resources.

cpu · source-example · type checked

using dolphin.materials

// Compose linear-color surfaces and shared shading math in ordinary Yeho code.
float roughness = 0.5
float f0 = 1.0
float nx = 1.0
float ny = 1.0
float nz = 1.0
float vx = 1.0
float vy = 1.0
float vz = 1.0
float lx = 1.0
float ly = 1.0
float lz = 1.0
float result = DolphinSurfaceGgx(roughness, f0, nx, ny, nz, vx, vy, vz, lx, ly, lz)
Console.Log(Text.From(result))
project.mech
manifestVersion = "2"
package = "api.example.dolphin_materials__dolphinsurfaceggx"
version = "0.1.0"
languageEdition = "yeho-core-2026.1"

[app]
kind = "headless"

[[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"
Notes and source

Package presence and a declaration do not establish support on every host. Host services need their platform and lifecycle setup.

dolphin/packages/materials/src/surface.yh:22