Skip to content

Instantly share code, notes, and snippets.

View ektogamat's full-sized avatar
👋

Anderson Mancini ektogamat

👋
View GitHub Profile
@ektogamat
ektogamat / LensFlare.js
Last active July 29, 2023 15:47
Lens Flare for Vanilla Three.js
/**
* Lens Flare by Anderson Mancini
* Based on: https://github.com/ektogamat/R3F-Ultimate-Lens-Flare
*/
import * as THREE from 'three'
import { easing } from 'maath'
export let LensFlareParams = {}
/**
* @param {Boolean | undefined} enabled Enable or disable the effect
@ektogamat
ektogamat / util.tsx
Last active May 21, 2023 04:55
Utility file for Ultimate LensFlare
// File copy pasted from https://github.com/pmndrs/react-postprocessing/blob/master/src/util.tsx
import React, { forwardRef, useMemo, useLayoutEffect, MutableRefObject } from 'react'
import { Vector2, Object3D } from 'three'
import { ReactThreeFiber, useThree } from '@react-three/fiber'
import { Effect, BlendFunction } from 'postprocessing'
type ObjectRef = MutableRefObject<Object3D>
type DefaultProps = Partial<{ blendFunction: BlendFunction; opacity: number }>
@ektogamat
ektogamat / UltimateLensFlare.jsx
Last active November 8, 2023 21:43
Ultimate Lens Flare Source Code
// Created by Anderson Mancini 2023
// React Three Fiber Ultimate LensFlare
// To be used Effect together with react-three/postprocessing
import { Uniform, Color, Vector3 } from 'three'
import { BlendFunction, Effect } from 'postprocessing'
import { wrapEffect } from './util.tsx'
import { useRef, useMemo, useEffect } from 'react'
import { useFrame, useThree } from '@react-three/fiber'
import { useTexture } from '@react-three/drei'
// Created by Anderson Mancini 2023
// React Three Fiber AutoFocus Component to be used
// as an extension for default Depth Of Field from react-three/postprocessing
// HOW TO USE?
// import AutoFocusDOF from './AutoFocusDOF'
//
// And add this component inside the EffectsComposer...
//...
// <EffectComposer>