@takram/three-geospatial-effects 0.0.1-alpha.4 → 0.0.1-alpha.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/r3f.cjs +18 -18
- package/build/r3f.cjs.map +1 -1
- package/build/r3f.js +205 -172
- package/build/r3f.js.map +1 -1
- package/build/shared.cjs +71 -73
- package/build/shared.cjs.map +1 -1
- package/build/shared.js +228 -219
- package/build/shared.js.map +1 -1
- package/package.json +3 -3
- package/src/DepthEffect.ts +22 -18
- package/src/DitheringEffect.ts +1 -5
- package/src/DownsampleThresholdMaterial.ts +10 -11
- package/src/GeometryEffect.ts +19 -15
- package/src/LensFlareEffect.ts +33 -22
- package/src/LensFlareFeaturesMaterial.ts +12 -14
- package/src/NormalEffect.ts +30 -26
- package/src/setupMaterialsForGeometryPass.ts +4 -6
- package/src/shaders/depthEffect.frag +4 -11
- package/src/shaders/ditheringEffect.frag +1 -1
- package/src/shaders/downsampleThreshold.frag +14 -16
- package/src/shaders/geometryEffect.frag +4 -2
- package/src/shaders/lensFlareEffect.frag +3 -6
- package/src/shaders/lensFlareFeatures.frag +4 -4
- package/src/shaders/normalEffect.frag +8 -4
- package/types/DepthEffect.d.ts +7 -0
- package/types/GeometryEffect.d.ts +6 -1
- package/types/LensFlareEffect.d.ts +9 -2
- package/types/NormalEffect.d.ts +8 -1
package/build/shared.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"shared.js","sources":["../src/shaders/depthEffect.frag","../src/DepthEffect.ts","../src/shaders/ditheringEffect.frag","../src/DitheringEffect.ts","../src/setupMaterialsForGeometryPass.ts","../src/GeometryPass.ts","../src/shaders/downsampleThreshold.frag","../src/shaders/downsampleThreshold.vert","../src/DownsampleThresholdMaterial.ts","../src/shaders/lensFlareFeatures.frag","../src/shaders/lensFlareFeatures.vert","../src/LensFlareFeaturesMaterial.ts","../src/shaders/lensFlareEffect.frag","../src/LensFlareEffect.ts","../src/shaders/normalEffect.frag","../src/NormalEffect.ts"],"sourcesContent":null,"names":["depthEffect_default","depthEffectOptionsDefaults","BlendFunction","DepthEffect","Effect","options","blendFunction","useTurbo","near","far","depthShader","fragmentShader","EffectAttribute","Uniform","value","ditheringEffect_default","ditheringOptionsDefaults","DitheringEffect","SETUP","injectNormal","shader","vertexShader","injectGBuffer","type","outputBuffer1","packingShader","setupMaterialsForGeometryPass","ShaderLib","GeometryPass","RenderPass","inputBuffer","scene","camera","overrideMaterial","__publicField","HalfFloatType","renderer","outputBuffer","deltaTime","stencilTest","width","height","downsampleThreshold_default","downsampleThresholdMaterialParametersDefaults","DownsampleThresholdMaterial","ShaderMaterial","params","thresholdLevel","thresholdRange","others","Vector2","NoBlending","lensFlareFeatures_default","lensFlareFeaturesMaterialParametersDefaults","LensFlareFeaturesMaterial","ghostAmount","haloAmount","chromaticAberration","texelSize","lensFlareEffect_default","lensFlareEffectOptionsDefaults","Resolution","LensFlareEffect","resolutionScale","resolutionX","resolutionY","intensity","WebGLRenderTarget","ShaderPass","MipmapBlurPass","KawaseBlurPass","KernelSize","alpha","frameBufferType","resolution","normalEffect_default","normalEffectOptionsDefaults","NormalEffect","normalBuffer","octEncoded","reconstructFromDepth","transformShader","Matrix4","uniforms","projectionMatrix","inverseProjectionMatrix"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"shared.js","sources":["../src/shaders/depthEffect.frag?raw","../src/DepthEffect.ts","../src/shaders/ditheringEffect.frag?raw","../src/DitheringEffect.ts","../src/setupMaterialsForGeometryPass.ts","../src/GeometryPass.ts","../src/shaders/downsampleThreshold.frag?raw","../src/shaders/downsampleThreshold.vert?raw","../src/DownsampleThresholdMaterial.ts","../src/shaders/lensFlareFeatures.frag?raw","../src/shaders/lensFlareFeatures.vert?raw","../src/LensFlareFeaturesMaterial.ts","../src/shaders/lensFlareEffect.frag?raw","../src/LensFlareEffect.ts","../src/shaders/normalEffect.frag?raw","../src/NormalEffect.ts"],"sourcesContent":null,"names":["fragmentShader$5","depthEffectOptionsDefaults","BlendFunction","DepthEffect","Effect","options","blendFunction","useTurbo","near","far","resolveIncludes","fragmentShader","depth","turbo","EffectAttribute","Uniform","value","fragmentShader$4","ditheringOptionsDefaults","DitheringEffect","SETUP","injectNormal","shader","vertexShader","injectGBuffer","type","outputBuffer1","packing","setupMaterialsForGeometryPass","ShaderLib","GeometryPass","RenderPass","inputBuffer","scene","camera","overrideMaterial","__publicField","HalfFloatType","renderer","outputBuffer","deltaTime","stencilTest","width","height","fragmentShader$3","vertexShader$1","downsampleThresholdMaterialParametersDefaults","DownsampleThresholdMaterial","ShaderMaterial","params","thresholdLevel","thresholdRange","others","NoBlending","Vector2","fragmentShader$2","lensFlareFeaturesMaterialParametersDefaults","LensFlareFeaturesMaterial","ghostAmount","haloAmount","chromaticAberration","fragmentShader$1","lensFlareEffectOptionsDefaults","Resolution","LensFlareEffect","resolutionScale","resolutionX","resolutionY","intensity","WebGLRenderTarget","ShaderPass","MipmapBlurPass","KawaseBlurPass","KernelSize","alpha","frameBufferType","baseWidth","baseHeight","resolution","normalEffectOptionsDefaults","NormalEffect","normalBuffer","octEncoded","reconstructFromDepth","transform","Matrix4","uniforms","projectionMatrix","inverseProjectionMatrix"],"mappings":"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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@takram/three-geospatial-effects",
|
3
|
-
"version": "0.0.1-alpha.
|
3
|
+
"version": "0.0.1-alpha.6",
|
4
4
|
"type": "module",
|
5
5
|
"exports": {
|
6
6
|
".": {
|
@@ -25,8 +25,8 @@
|
|
25
25
|
"README.md"
|
26
26
|
],
|
27
27
|
"dependencies": {
|
28
|
-
"@takram/three-geospatial": "0.0.1-alpha.
|
29
|
-
"n8ao": "^1.9.
|
28
|
+
"@takram/three-geospatial": "0.0.1-alpha.6",
|
29
|
+
"n8ao": "^1.9.4"
|
30
30
|
},
|
31
31
|
"peerDependencies": {
|
32
32
|
"@react-three/fiber": ">=8.17.10",
|
package/src/DepthEffect.ts
CHANGED
@@ -1,13 +1,10 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
2
|
-
|
3
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
4
|
-
|
5
1
|
import { BlendFunction, Effect, EffectAttribute } from 'postprocessing'
|
6
2
|
import { Uniform } from 'three'
|
7
3
|
|
8
|
-
import {
|
4
|
+
import { resolveIncludes, type UniformMap } from '@takram/three-geospatial'
|
5
|
+
import { depth, turbo } from '@takram/three-geospatial/shaders'
|
9
6
|
|
10
|
-
import fragmentShader from './shaders/depthEffect.frag'
|
7
|
+
import fragmentShader from './shaders/depthEffect.frag?raw'
|
11
8
|
|
12
9
|
export interface DepthEffectOptions {
|
13
10
|
blendFunction?: BlendFunction
|
@@ -16,6 +13,10 @@ export interface DepthEffectOptions {
|
|
16
13
|
far?: number
|
17
14
|
}
|
18
15
|
|
16
|
+
export interface DepthEffectUniforms {
|
17
|
+
near: Uniform<number>
|
18
|
+
far: Uniform<number>
|
19
|
+
}
|
19
20
|
export const depthEffectOptionsDefaults = {
|
20
21
|
blendFunction: BlendFunction.SRC,
|
21
22
|
useTurbo: false,
|
@@ -24,6 +25,8 @@ export const depthEffectOptionsDefaults = {
|
|
24
25
|
} satisfies DepthEffectOptions
|
25
26
|
|
26
27
|
export class DepthEffect extends Effect {
|
28
|
+
declare uniforms: UniformMap<DepthEffectUniforms>
|
29
|
+
|
27
30
|
constructor(options?: DepthEffectOptions) {
|
28
31
|
const { blendFunction, useTurbo, near, far } = {
|
29
32
|
...depthEffectOptionsDefaults,
|
@@ -32,17 +35,18 @@ export class DepthEffect extends Effect {
|
|
32
35
|
|
33
36
|
super(
|
34
37
|
'DepthEffect',
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
`,
|
38
|
+
resolveIncludes(fragmentShader, {
|
39
|
+
core: { depth, turbo }
|
40
|
+
}),
|
39
41
|
{
|
40
42
|
blendFunction,
|
41
43
|
attributes: EffectAttribute.DEPTH,
|
42
|
-
uniforms: new Map(
|
43
|
-
|
44
|
-
|
45
|
-
|
44
|
+
uniforms: new Map(
|
45
|
+
Object.entries({
|
46
|
+
near: new Uniform(near),
|
47
|
+
far: new Uniform(far)
|
48
|
+
} satisfies DepthEffectUniforms)
|
49
|
+
)
|
46
50
|
}
|
47
51
|
)
|
48
52
|
this.useTurbo = useTurbo
|
@@ -64,18 +68,18 @@ export class DepthEffect extends Effect {
|
|
64
68
|
}
|
65
69
|
|
66
70
|
get near(): number {
|
67
|
-
return this.uniforms.get('near')
|
71
|
+
return this.uniforms.get('near').value
|
68
72
|
}
|
69
73
|
|
70
74
|
set near(value: number) {
|
71
|
-
this.uniforms.get('near')
|
75
|
+
this.uniforms.get('near').value = value
|
72
76
|
}
|
73
77
|
|
74
78
|
get far(): number {
|
75
|
-
return this.uniforms.get('far')
|
79
|
+
return this.uniforms.get('far').value
|
76
80
|
}
|
77
81
|
|
78
82
|
set far(value: number) {
|
79
|
-
this.uniforms.get('far')
|
83
|
+
this.uniforms.get('far').value = value
|
80
84
|
}
|
81
85
|
}
|
package/src/DitheringEffect.ts
CHANGED
@@ -1,10 +1,6 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
2
|
-
|
3
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
4
|
-
|
5
1
|
import { BlendFunction, Effect } from 'postprocessing'
|
6
2
|
|
7
|
-
import fragmentShader from './shaders/ditheringEffect.frag'
|
3
|
+
import fragmentShader from './shaders/ditheringEffect.frag?raw'
|
8
4
|
|
9
5
|
export interface DitheringEffectOptions {
|
10
6
|
blendFunction?: BlendFunction
|
@@ -1,5 +1,3 @@
|
|
1
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
2
|
-
|
3
1
|
import {
|
4
2
|
NoBlending,
|
5
3
|
ShaderMaterial,
|
@@ -9,8 +7,8 @@ import {
|
|
9
7
|
type Texture
|
10
8
|
} from 'three'
|
11
9
|
|
12
|
-
import fragmentShader from './shaders/downsampleThreshold.frag'
|
13
|
-
import vertexShader from './shaders/downsampleThreshold.vert'
|
10
|
+
import fragmentShader from './shaders/downsampleThreshold.frag?raw'
|
11
|
+
import vertexShader from './shaders/downsampleThreshold.vert?raw'
|
14
12
|
|
15
13
|
export interface DownsampleThresholdMaterialParameters
|
16
14
|
extends ShaderMaterialParameters {
|
@@ -39,17 +37,18 @@ export class DownsampleThresholdMaterial extends ShaderMaterial {
|
|
39
37
|
name: 'DownsampleThresholdMaterial',
|
40
38
|
fragmentShader,
|
41
39
|
vertexShader,
|
42
|
-
uniforms: {
|
43
|
-
inputBuffer: new Uniform(inputBuffer),
|
44
|
-
texelSize: new Uniform(new Vector2()),
|
45
|
-
thresholdLevel: new Uniform(thresholdLevel),
|
46
|
-
thresholdRange: new Uniform(thresholdRange)
|
47
|
-
},
|
48
40
|
blending: NoBlending,
|
49
41
|
toneMapped: false,
|
50
42
|
depthWrite: false,
|
51
43
|
depthTest: false,
|
52
|
-
...others
|
44
|
+
...others,
|
45
|
+
uniforms: {
|
46
|
+
inputBuffer: new Uniform(inputBuffer),
|
47
|
+
texelSize: new Uniform(new Vector2()),
|
48
|
+
thresholdLevel: new Uniform(thresholdLevel),
|
49
|
+
thresholdRange: new Uniform(thresholdRange),
|
50
|
+
...others.uniforms
|
51
|
+
}
|
53
52
|
})
|
54
53
|
}
|
55
54
|
|
package/src/GeometryEffect.ts
CHANGED
@@ -1,13 +1,10 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
2
|
-
|
3
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
4
|
-
|
5
1
|
import { BlendFunction, Effect, EffectAttribute } from 'postprocessing'
|
6
2
|
import { Uniform, type Texture } from 'three'
|
7
3
|
|
8
|
-
import {
|
4
|
+
import { resolveIncludes, type UniformMap } from '@takram/three-geospatial'
|
5
|
+
import { packing } from '@takram/three-geospatial/shaders'
|
9
6
|
|
10
|
-
import fragmentShader from './shaders/geometryEffect.frag'
|
7
|
+
import fragmentShader from './shaders/geometryEffect.frag?raw'
|
11
8
|
|
12
9
|
export type GeometryEffectOutput = 'normal' | 'pbr'
|
13
10
|
|
@@ -17,12 +14,18 @@ export interface GeometryEffectOptions {
|
|
17
14
|
output?: GeometryEffectOutput
|
18
15
|
}
|
19
16
|
|
17
|
+
export interface GeometryEffectUniforms {
|
18
|
+
geometryBuffer: Uniform<Texture | null>
|
19
|
+
}
|
20
|
+
|
20
21
|
export const geometryEffectOptionsDefaults = {
|
21
22
|
blendFunction: BlendFunction.SRC,
|
22
23
|
output: 'normal'
|
23
24
|
} satisfies GeometryEffectOptions
|
24
25
|
|
25
26
|
export class GeometryEffect extends Effect {
|
27
|
+
declare uniforms: UniformMap<GeometryEffectUniforms>
|
28
|
+
|
26
29
|
constructor(options?: GeometryEffectOptions) {
|
27
30
|
const {
|
28
31
|
blendFunction,
|
@@ -34,27 +37,28 @@ export class GeometryEffect extends Effect {
|
|
34
37
|
}
|
35
38
|
super(
|
36
39
|
'GeometryEffect',
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
`,
|
40
|
+
resolveIncludes(fragmentShader, {
|
41
|
+
core: { packing }
|
42
|
+
}),
|
41
43
|
{
|
42
44
|
blendFunction,
|
43
45
|
attributes: EffectAttribute.DEPTH,
|
44
|
-
uniforms: new Map<string, Uniform>(
|
45
|
-
|
46
|
-
|
46
|
+
uniforms: new Map<string, Uniform>(
|
47
|
+
Object.entries({
|
48
|
+
geometryBuffer: new Uniform(geometryBuffer)
|
49
|
+
} satisfies GeometryEffectUniforms)
|
50
|
+
)
|
47
51
|
}
|
48
52
|
)
|
49
53
|
this.output = output
|
50
54
|
}
|
51
55
|
|
52
56
|
get geometryBuffer(): Texture | null {
|
53
|
-
return this.uniforms.get('geometryBuffer')
|
57
|
+
return this.uniforms.get('geometryBuffer').value
|
54
58
|
}
|
55
59
|
|
56
60
|
set geometryBuffer(value: Texture | null) {
|
57
|
-
this.uniforms.get('geometryBuffer')
|
61
|
+
this.uniforms.get('geometryBuffer').value = value
|
58
62
|
}
|
59
63
|
|
60
64
|
get output(): GeometryEffectOutput {
|
package/src/LensFlareEffect.ts
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
2
|
-
|
3
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
4
|
-
|
5
1
|
import {
|
6
2
|
BlendFunction,
|
7
3
|
Effect,
|
@@ -17,14 +13,17 @@ import {
|
|
17
13
|
Uniform,
|
18
14
|
WebGLRenderTarget,
|
19
15
|
type Event,
|
16
|
+
type Texture,
|
20
17
|
type TextureDataType,
|
21
18
|
type WebGLRenderer
|
22
19
|
} from 'three'
|
23
20
|
|
21
|
+
import { type UniformMap } from '@takram/three-geospatial'
|
22
|
+
|
24
23
|
import { DownsampleThresholdMaterial } from './DownsampleThresholdMaterial'
|
25
24
|
import { LensFlareFeaturesMaterial } from './LensFlareFeaturesMaterial'
|
26
25
|
|
27
|
-
import fragmentShader from './shaders/lensFlareEffect.frag'
|
26
|
+
import fragmentShader from './shaders/lensFlareEffect.frag?raw'
|
28
27
|
|
29
28
|
export interface LensFlareEffectOptions {
|
30
29
|
blendFunction?: BlendFunction
|
@@ -36,6 +35,12 @@ export interface LensFlareEffectOptions {
|
|
36
35
|
intensity?: number
|
37
36
|
}
|
38
37
|
|
38
|
+
export interface LensFlareEffectUniforms {
|
39
|
+
bloomBuffer: Uniform<Texture | null>
|
40
|
+
featuresBuffer: Uniform<Texture | null>
|
41
|
+
intensity: Uniform<number>
|
42
|
+
}
|
43
|
+
|
39
44
|
export const lensFlareEffectOptionsDefaults = {
|
40
45
|
blendFunction: BlendFunction.NORMAL,
|
41
46
|
resolutionScale: 0.5,
|
@@ -46,6 +51,8 @@ export const lensFlareEffectOptionsDefaults = {
|
|
46
51
|
|
47
52
|
// Reference: https://www.froyok.fr/blog/2021-09-ue4-custom-lens-flare/
|
48
53
|
export class LensFlareEffect extends Effect {
|
54
|
+
declare uniforms: UniformMap<LensFlareEffectUniforms>
|
55
|
+
|
49
56
|
readonly resolution: Resolution
|
50
57
|
readonly renderTarget1: WebGLRenderTarget
|
51
58
|
readonly renderTarget2: WebGLRenderTarget
|
@@ -73,11 +80,13 @@ export class LensFlareEffect extends Effect {
|
|
73
80
|
super('LensFlareEffect', fragmentShader, {
|
74
81
|
blendFunction,
|
75
82
|
attributes: EffectAttribute.CONVOLUTION,
|
76
|
-
uniforms: new Map<string, Uniform>(
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
83
|
+
uniforms: new Map<string, Uniform>(
|
84
|
+
Object.entries({
|
85
|
+
bloomBuffer: new Uniform(null),
|
86
|
+
featuresBuffer: new Uniform(null),
|
87
|
+
intensity: new Uniform(1)
|
88
|
+
} satisfies LensFlareEffectUniforms)
|
89
|
+
)
|
81
90
|
})
|
82
91
|
|
83
92
|
this.renderTarget1 = new WebGLRenderTarget(1, 1, {
|
@@ -107,8 +116,8 @@ export class LensFlareEffect extends Effect {
|
|
107
116
|
this.featuresMaterial = new LensFlareFeaturesMaterial()
|
108
117
|
this.featuresPass = new ShaderPass(this.featuresMaterial)
|
109
118
|
|
110
|
-
this.uniforms.get('bloomBuffer')
|
111
|
-
this.uniforms.get('featuresBuffer')
|
119
|
+
this.uniforms.get('bloomBuffer').value = this.blurPass.texture
|
120
|
+
this.uniforms.get('featuresBuffer').value = this.renderTarget1.texture
|
112
121
|
|
113
122
|
this.resolution = new Resolution(
|
114
123
|
this,
|
@@ -150,23 +159,25 @@ export class LensFlareEffect extends Effect {
|
|
150
159
|
this.featuresPass.render(renderer, this.renderTarget2, this.renderTarget1)
|
151
160
|
}
|
152
161
|
|
153
|
-
override setSize(
|
162
|
+
override setSize(baseWidth: number, baseHeight: number): void {
|
154
163
|
const resolution = this.resolution
|
155
|
-
resolution.setBaseSize(
|
156
|
-
|
157
|
-
|
158
|
-
this.
|
159
|
-
this.
|
160
|
-
this.
|
161
|
-
this.
|
164
|
+
resolution.setBaseSize(baseWidth, baseHeight)
|
165
|
+
|
166
|
+
const { width, height } = resolution
|
167
|
+
this.renderTarget1.setSize(width, height)
|
168
|
+
this.renderTarget2.setSize(width, height)
|
169
|
+
this.thresholdMaterial.setSize(width, height)
|
170
|
+
this.blurPass.setSize(width, height)
|
171
|
+
this.preBlurPass.setSize(width, height)
|
172
|
+
this.featuresMaterial.setSize(width, height)
|
162
173
|
}
|
163
174
|
|
164
175
|
get intensity(): number {
|
165
|
-
return this.uniforms.get('intensity')
|
176
|
+
return this.uniforms.get('intensity').value
|
166
177
|
}
|
167
178
|
|
168
179
|
set intensity(value: number) {
|
169
|
-
this.uniforms.get('intensity')
|
180
|
+
this.uniforms.get('intensity').value = value
|
170
181
|
}
|
171
182
|
|
172
183
|
get thresholdLevel(): number {
|
@@ -1,5 +1,3 @@
|
|
1
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
2
|
-
|
3
1
|
import {
|
4
2
|
NoBlending,
|
5
3
|
ShaderMaterial,
|
@@ -9,8 +7,8 @@ import {
|
|
9
7
|
type Texture
|
10
8
|
} from 'three'
|
11
9
|
|
12
|
-
import fragmentShader from './shaders/lensFlareFeatures.frag'
|
13
|
-
import vertexShader from './shaders/lensFlareFeatures.vert'
|
10
|
+
import fragmentShader from './shaders/lensFlareFeatures.frag?raw'
|
11
|
+
import vertexShader from './shaders/lensFlareFeatures.vert?raw'
|
14
12
|
|
15
13
|
export interface LensFlareFeaturesMaterialParameters
|
16
14
|
extends ShaderMaterialParameters {
|
@@ -33,7 +31,8 @@ export class LensFlareFeaturesMaterial extends ShaderMaterial {
|
|
33
31
|
inputBuffer = null,
|
34
32
|
ghostAmount,
|
35
33
|
haloAmount,
|
36
|
-
chromaticAberration
|
34
|
+
chromaticAberration,
|
35
|
+
...others
|
37
36
|
} = {
|
38
37
|
...lensFlareFeaturesMaterialParametersDefaults,
|
39
38
|
...params
|
@@ -42,24 +41,23 @@ export class LensFlareFeaturesMaterial extends ShaderMaterial {
|
|
42
41
|
name: 'LensFlareFeaturesMaterial',
|
43
42
|
fragmentShader,
|
44
43
|
vertexShader,
|
44
|
+
blending: NoBlending,
|
45
|
+
toneMapped: false,
|
46
|
+
depthWrite: false,
|
47
|
+
depthTest: false,
|
45
48
|
uniforms: {
|
46
49
|
inputBuffer: new Uniform(inputBuffer),
|
47
50
|
texelSize: new Uniform(new Vector2()),
|
48
51
|
ghostAmount: new Uniform(ghostAmount),
|
49
52
|
haloAmount: new Uniform(haloAmount),
|
50
|
-
chromaticAberration: new Uniform(chromaticAberration)
|
51
|
-
|
52
|
-
|
53
|
-
toneMapped: false,
|
54
|
-
depthWrite: false,
|
55
|
-
depthTest: false
|
53
|
+
chromaticAberration: new Uniform(chromaticAberration),
|
54
|
+
...others.uniforms
|
55
|
+
}
|
56
56
|
})
|
57
57
|
}
|
58
58
|
|
59
59
|
setSize(width: number, height: number): void {
|
60
|
-
|
61
|
-
texelSize.value.x = 1 / width
|
62
|
-
texelSize.value.y = 1 / height
|
60
|
+
this.uniforms.texelSize.value.set(1 / width, 1 / height)
|
63
61
|
}
|
64
62
|
|
65
63
|
get inputBuffer(): Texture | null {
|
package/src/NormalEffect.ts
CHANGED
@@ -1,7 +1,3 @@
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
2
|
-
|
3
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
4
|
-
|
5
1
|
import { BlendFunction, Effect, EffectAttribute } from 'postprocessing'
|
6
2
|
import {
|
7
3
|
Matrix4,
|
@@ -12,13 +8,10 @@ import {
|
|
12
8
|
type WebGLRenderTarget
|
13
9
|
} from 'three'
|
14
10
|
|
15
|
-
import {
|
16
|
-
|
17
|
-
packingShader,
|
18
|
-
transformShader
|
19
|
-
} from '@takram/three-geospatial'
|
11
|
+
import { resolveIncludes, type UniformMap } from '@takram/three-geospatial'
|
12
|
+
import { depth, packing, transform } from '@takram/three-geospatial/shaders'
|
20
13
|
|
21
|
-
import fragmentShader from './shaders/normalEffect.frag'
|
14
|
+
import fragmentShader from './shaders/normalEffect.frag?raw'
|
22
15
|
|
23
16
|
export interface NormalEffectOptions {
|
24
17
|
blendFunction?: BlendFunction
|
@@ -27,6 +20,12 @@ export interface NormalEffectOptions {
|
|
27
20
|
reconstructFromDepth?: boolean
|
28
21
|
}
|
29
22
|
|
23
|
+
export interface NormalEffectUniforms {
|
24
|
+
normalBuffer: Uniform<Texture | null>
|
25
|
+
projectionMatrix: Uniform<Matrix4>
|
26
|
+
inverseProjectionMatrix: Uniform<Matrix4>
|
27
|
+
}
|
28
|
+
|
30
29
|
export const normalEffectOptionsDefaults = {
|
31
30
|
blendFunction: BlendFunction.SRC,
|
32
31
|
octEncoded: false,
|
@@ -34,6 +33,8 @@ export const normalEffectOptionsDefaults = {
|
|
34
33
|
} satisfies NormalEffectOptions
|
35
34
|
|
36
35
|
export class NormalEffect extends Effect {
|
36
|
+
declare uniforms: UniformMap<NormalEffectUniforms>
|
37
|
+
|
37
38
|
constructor(
|
38
39
|
private camera: Camera,
|
39
40
|
options?: NormalEffectOptions
|
@@ -49,20 +50,23 @@ export class NormalEffect extends Effect {
|
|
49
50
|
}
|
50
51
|
super(
|
51
52
|
'NormalEffect',
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
53
|
+
resolveIncludes(fragmentShader, {
|
54
|
+
core: {
|
55
|
+
depth,
|
56
|
+
packing,
|
57
|
+
transform
|
58
|
+
}
|
59
|
+
}),
|
58
60
|
{
|
59
61
|
blendFunction,
|
60
62
|
attributes: EffectAttribute.DEPTH,
|
61
|
-
uniforms: new Map<string, Uniform>(
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
63
|
+
uniforms: new Map<string, Uniform>(
|
64
|
+
Object.entries({
|
65
|
+
normalBuffer: new Uniform(normalBuffer),
|
66
|
+
projectionMatrix: new Uniform(new Matrix4()),
|
67
|
+
inverseProjectionMatrix: new Uniform(new Matrix4())
|
68
|
+
} satisfies NormalEffectUniforms)
|
69
|
+
)
|
66
70
|
}
|
67
71
|
)
|
68
72
|
if (camera != null) {
|
@@ -80,14 +84,14 @@ export class NormalEffect extends Effect {
|
|
80
84
|
this.camera = value
|
81
85
|
}
|
82
86
|
|
83
|
-
update(
|
87
|
+
override update(
|
84
88
|
renderer: WebGLRenderer,
|
85
89
|
inputBuffer: WebGLRenderTarget,
|
86
90
|
deltaTime?: number
|
87
91
|
): void {
|
88
92
|
const uniforms = this.uniforms
|
89
|
-
const projectionMatrix = uniforms.get('projectionMatrix')
|
90
|
-
const inverseProjectionMatrix = uniforms.get('inverseProjectionMatrix')
|
93
|
+
const projectionMatrix = uniforms.get('projectionMatrix')
|
94
|
+
const inverseProjectionMatrix = uniforms.get('inverseProjectionMatrix')
|
91
95
|
const camera = this.camera
|
92
96
|
if (camera != null) {
|
93
97
|
projectionMatrix.value.copy(camera.projectionMatrix)
|
@@ -96,11 +100,11 @@ export class NormalEffect extends Effect {
|
|
96
100
|
}
|
97
101
|
|
98
102
|
get normalBuffer(): Texture | null {
|
99
|
-
return this.uniforms.get('normalBuffer')
|
103
|
+
return this.uniforms.get('normalBuffer').value
|
100
104
|
}
|
101
105
|
|
102
106
|
set normalBuffer(value: Texture | null) {
|
103
|
-
this.uniforms.get('normalBuffer')
|
107
|
+
this.uniforms.get('normalBuffer').value = value
|
104
108
|
}
|
105
109
|
|
106
110
|
get octEncoded(): boolean {
|
@@ -1,10 +1,8 @@
|
|
1
1
|
// cSpell:words defaultnormal specularmap envmap
|
2
2
|
|
3
|
-
/// <reference types="vite-plugin-glsl/ext" />
|
4
|
-
|
5
3
|
import { ShaderLib, type ShaderLibShader } from 'three'
|
6
4
|
|
7
|
-
import {
|
5
|
+
import { packing } from '@takram/three-geospatial/shaders'
|
8
6
|
|
9
7
|
const SETUP = Symbol('SETUP')
|
10
8
|
|
@@ -105,11 +103,11 @@ function injectGBuffer(
|
|
105
103
|
shader.fragmentShader = /* glsl */ `
|
106
104
|
layout(location = 1) out vec4 outputBuffer1;
|
107
105
|
|
108
|
-
#
|
106
|
+
#if !defined(USE_ENVMAP)
|
109
107
|
uniform float reflectivity;
|
110
|
-
#endif
|
108
|
+
#endif // !defined(USE_ENVMAP)
|
111
109
|
|
112
|
-
${
|
110
|
+
${packing}
|
113
111
|
${shader.fragmentShader.replace(
|
114
112
|
/}\s*$/m, // Assume the last curly brace is of main()
|
115
113
|
/* glsl */ `
|
@@ -1,16 +1,9 @@
|
|
1
|
+
#include "core/depth"
|
2
|
+
#include "core/turbo"
|
3
|
+
|
1
4
|
uniform float near;
|
2
5
|
uniform float far;
|
3
6
|
|
4
|
-
// A fifth-order polynomial approximation of Turbo colormap.
|
5
|
-
// See: https://observablehq.com/@mbostock/turbo
|
6
|
-
// prettier-ignore
|
7
|
-
vec3 turbo(const float x) {
|
8
|
-
float r = 0.1357 + x * (4.5974 - x * (42.3277 - x * (130.5887 - x * (150.5666 - x * 58.1375))));
|
9
|
-
float g = 0.0914 + x * (2.1856 + x * (4.8052 - x * (14.0195 - x * (4.2109 + x * 2.7747))));
|
10
|
-
float b = 0.1067 + x * (12.5925 - x * (60.1097 - x * (109.0745 - x * (88.5066 - x * 26.8183))));
|
11
|
-
return vec3(r, g, b);
|
12
|
-
}
|
13
|
-
|
14
7
|
void mainImage(const vec4 inputColor, const vec2 uv, out vec4 outputColor) {
|
15
8
|
float depth = readDepth(uv);
|
16
9
|
depth = reverseLogDepth(depth, cameraNear, cameraFar);
|
@@ -18,7 +11,7 @@ void mainImage(const vec4 inputColor, const vec2 uv, out vec4 outputColor) {
|
|
18
11
|
|
19
12
|
#ifdef USE_TURBO
|
20
13
|
vec3 color = turbo(1.0 - depth);
|
21
|
-
#else
|
14
|
+
#else // USE_TURBO
|
22
15
|
vec3 color = vec3(depth);
|
23
16
|
#endif // USE_TURBO
|
24
17
|
|