Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit e604392

Browse files
Merge pull request #162 from FunTechInc/v2-restart-dev
update
2 parents 4bfbf71 + af628e9 commit e604392

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+3894
-5
lines changed

‎packages/use-shader-fx/build/use-shader-fx.js‎

Lines changed: 2112 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/use-shader-fx/build/use-shader-fx.js.map‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/use-shader-fx/build/use-shader-fx.umd.cjs‎

Lines changed: 609 additions & 0 deletions
Large diffs are not rendered by default.

‎packages/use-shader-fx/build/use-shader-fx.umd.cjs.map‎

Lines changed: 1 addition & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/use-shader-fx/package-lock.json‎

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/use-shader-fx/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@funtech-inc/use-shader-fx",
3-
"version": "2.0.4",
3+
"version": "2.0.5",
44
"description": "⚡️ More FXs, Less GLSL",
55
"main": "./build/use-shader-fx.umd.cjs",
66
"module": "./build/use-shader-fx.js",

‎packages/use-shader-fx/src/hooks/useGrid/index.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,9 @@ export const useGrid = ({
4848
const { gl, clock } = rootState;
4949
newValues && setValues(newValues, false);
5050
material.uniforms.tick.value =
51-
newValues?.tick || clock.getElapsedTime();
51+
typeof newValues?.tick === "function"
52+
? newValues.tick(material.uniforms.tick.value)
53+
: newValues?.tick || clock.getElapsedTime();
5254
return updateRenderTarget({ gl });
5355
},
5456
[setValues, updateRenderTarget, material]

‎packages/use-shader-fx/src/hooks/useNoise/index.ts‎

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,9 @@ export const useNoise = ({
5454
const { gl, clock } = rootState;
5555
newValues && setValues(newValues, false);
5656
material.uniforms.tick.value =
57-
newValues?.tick || clock.getElapsedTime();
57+
typeof newValues?.tick === "function"
58+
? newValues.tick(material.uniforms.tick.value)
59+
: newValues?.tick || clock.getElapsedTime();
5860
return updateRenderTarget({ gl });
5961
},
6062
[setValues, updateRenderTarget, material]
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { useNoise, NoiseProps } from "./useNoise";
2+
export type FxTypes = typeof useNoise;
3+
export type FxProps<T> = T extends typeof useNoise ? NoiseProps : never;
4+
export * from "./useNoise";
5+
export * from "./useFluid";
6+
export * from "./useBuffer";
7+
export * from "./useRawBlank";
8+
export * from "./useBlank";
9+
export * from "./useGrid";
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
import * as THREE from "three";
2+
import { BasicFxMaterial } from "../../materials/core/BasicFxMaterial";
3+
import { DoubleRenderTarget } from "../../utils";
4+
export type Size = {
5+
width: number;
6+
height: number;
7+
top: number;
8+
left: number;
9+
updateStyle?: boolean;
10+
};
11+
export type Dpr = number | {
12+
/** you can set whether `dpr` affects `shader`. default : `false` */
13+
shader?: false | number;
14+
/** you can set whether `dpr` affects `fbo`. default : `false` */
15+
fbo?: false | number;
16+
};
17+
export type RootState = {
18+
/** The instance of the renderer */
19+
gl: THREE.WebGLRenderer;
20+
/** Default clock */
21+
clock: THREE.Clock;
22+
/** Normalized event coordinates */
23+
pointer: THREE.Vector2;
24+
/** Reactive pixel-size of the canvas */
25+
size: Size;
26+
};
27+
/**
28+
* sceneやmaterialなどはミュータブルなオブジェクトであり、non-reactiveであるべき
29+
*/
30+
export interface HooksProps {
31+
/** Width,Height in pixels, or `size` from r3f */
32+
size: Size;
33+
/** Pixel-ratio, use `window.devicePixelRatio` or viewport.dpr from r3f */
34+
dpr: Dpr;
35+
/** Whether to `setSize` the FBO when updating size or dpr. default : `false` */
36+
fboAutoSetSize?: boolean;
37+
/**
38+
* @type `THREE.RenderTargetOptions`
39+
* @param depthBuffer Unlike the default in three.js, the default is `false`.
40+
*/
41+
renderTargetOptions?: THREE.RenderTargetOptions;
42+
materialParameters?: THREE.ShaderMaterialParameters;
43+
}
44+
/**
45+
* @returns {HooksReturn<T, O, C>}
46+
* render - Functions to update parameters and render.
47+
* setValues - Function to update parameters only.
48+
* texture - texture
49+
* material - material
50+
* scene - scene
51+
*
52+
* @template V The type for the FX parameters.
53+
* @template O The type for the material.
54+
*/
55+
export type HooksReturn<V = {}, M = BasicFxMaterial, A = {}> = {
56+
/**
57+
* Functions to update parameters and render.
58+
* @param rootState RootState
59+
* @param newValues params of fxHooks. basicFxの追加/削除による再コンパイルや、fitの変更によるresolutionの変更は伴わない。再コンパイルを伴う場合はsetValuesを使う。
60+
*/
61+
render: (rootState: RootState, newValues?: V) => THREE.Texture;
62+
/**
63+
* Function to update parameters only.
64+
* @param newValues params of fxHooks
65+
* @param needsUpdate basicFxの追加/削除による再コンパイルや、fitの変更によるresolutionの変更を伴うかどうか. default : `true`
66+
*/
67+
setValues: (newValues: V, needsUpdate?: boolean) => void;
68+
texture: THREE.Texture;
69+
material?: M;
70+
scene?: THREE.Scene;
71+
camera?: THREE.Camera;
72+
renderTarget?: THREE.WebGLRenderTarget | DoubleRenderTarget;
73+
} & A;

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /