Skip to content

useSurfaceSampler ^3.7.0

A hook to obtain the result of the as a buffer. Useful for driving anything other than InstancedMesh via the Sampler.


<script setup lang="ts">
import { ref, watch } from 'vue'
import { TresCanvas } from '@tresjs/core'
import { OrbitControls, useSurfaceSampler } from '@tresjs/cientos'

const torusRef = ref()
const instancesRef = ref()

watch(torusRef, (value) => {
  useSurfaceSampler(value, 50, instancesRef.value, 'color')

  <TresCanvas clear-color="#82DBC5">
    <TresPerspectiveCamera :position="[0, 0.5, 5]" />
    <OrbitControls />

    <TresMesh ref="torusRef">
      <TresTorusGeometry />

      :args="[null!, null!, 1_000]"
      <TresSphereGeometry :args="[0.1, 32, 32]" />
      <TresMeshNormalMaterial />

    <TresGridHelper :args="[10, 10]" />


meshMesh Surface mesh from which to sample
countNumber Number of samples
instanceMeshInstanceMesh InstanceMesh to scatter
weightString A vertex attribute to be used as a weight when sampling
transformFunction A function that can be used as a custom sampling