@takram/three-geospatial-effects 0.0.1-alpha.5 → 0.0.1-alpha.7
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 +67 -65
- package/build/r3f.js.map +1 -1
- package/build/shared.cjs +70 -72
- package/build/shared.cjs.map +1 -1
- package/build/shared.js +227 -221
- package/build/shared.js.map +1 -1
- package/package.json +2 -2
- 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 +34 -27
- 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/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.7",
|
4
4
|
"type": "module",
|
5
5
|
"exports": {
|
6
6
|
".": {
|
@@ -25,7 +25,7 @@
|
|
25
25
|
"README.md"
|
26
26
|
],
|
27
27
|
"dependencies": {
|
28
|
-
"@takram/three-geospatial": "0.0.1-alpha.
|
28
|
+
"@takram/three-geospatial": "0.0.1-alpha.7",
|
29
29
|
"n8ao": "^1.9.4"
|
30
30
|
},
|
31
31
|
"peerDependencies": {
|
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,
|
@@ -16,15 +12,17 @@ import {
|
|
16
12
|
HalfFloatType,
|
17
13
|
Uniform,
|
18
14
|
WebGLRenderTarget,
|
19
|
-
type
|
15
|
+
type Texture,
|
20
16
|
type TextureDataType,
|
21
17
|
type WebGLRenderer
|
22
18
|
} from 'three'
|
23
19
|
|
20
|
+
import { type UniformMap } from '@takram/three-geospatial'
|
21
|
+
|
24
22
|
import { DownsampleThresholdMaterial } from './DownsampleThresholdMaterial'
|
25
23
|
import { LensFlareFeaturesMaterial } from './LensFlareFeaturesMaterial'
|
26
24
|
|
27
|
-
import fragmentShader from './shaders/lensFlareEffect.frag'
|
25
|
+
import fragmentShader from './shaders/lensFlareEffect.frag?raw'
|
28
26
|
|
29
27
|
export interface LensFlareEffectOptions {
|
30
28
|
blendFunction?: BlendFunction
|
@@ -36,6 +34,12 @@ export interface LensFlareEffectOptions {
|
|
36
34
|
intensity?: number
|
37
35
|
}
|
38
36
|
|
37
|
+
export interface LensFlareEffectUniforms {
|
38
|
+
bloomBuffer: Uniform<Texture | null>
|
39
|
+
featuresBuffer: Uniform<Texture | null>
|
40
|
+
intensity: Uniform<number>
|
41
|
+
}
|
42
|
+
|
39
43
|
export const lensFlareEffectOptionsDefaults = {
|
40
44
|
blendFunction: BlendFunction.NORMAL,
|
41
45
|
resolutionScale: 0.5,
|
@@ -46,6 +50,8 @@ export const lensFlareEffectOptionsDefaults = {
|
|
46
50
|
|
47
51
|
// Reference: https://www.froyok.fr/blog/2021-09-ue4-custom-lens-flare/
|
48
52
|
export class LensFlareEffect extends Effect {
|
53
|
+
declare uniforms: UniformMap<LensFlareEffectUniforms>
|
54
|
+
|
49
55
|
readonly resolution: Resolution
|
50
56
|
readonly renderTarget1: WebGLRenderTarget
|
51
57
|
readonly renderTarget2: WebGLRenderTarget
|
@@ -73,11 +79,13 @@ export class LensFlareEffect extends Effect {
|
|
73
79
|
super('LensFlareEffect', fragmentShader, {
|
74
80
|
blendFunction,
|
75
81
|
attributes: EffectAttribute.CONVOLUTION,
|
76
|
-
uniforms: new Map<string, Uniform>(
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
82
|
+
uniforms: new Map<string, Uniform>(
|
83
|
+
Object.entries({
|
84
|
+
bloomBuffer: new Uniform(null),
|
85
|
+
featuresBuffer: new Uniform(null),
|
86
|
+
intensity: new Uniform(1)
|
87
|
+
} satisfies LensFlareEffectUniforms)
|
88
|
+
)
|
81
89
|
})
|
82
90
|
|
83
91
|
this.renderTarget1 = new WebGLRenderTarget(1, 1, {
|
@@ -107,8 +115,8 @@ export class LensFlareEffect extends Effect {
|
|
107
115
|
this.featuresMaterial = new LensFlareFeaturesMaterial()
|
108
116
|
this.featuresPass = new ShaderPass(this.featuresMaterial)
|
109
117
|
|
110
|
-
this.uniforms.get('bloomBuffer')
|
111
|
-
this.uniforms.get('featuresBuffer')
|
118
|
+
this.uniforms.get('bloomBuffer').value = this.blurPass.texture
|
119
|
+
this.uniforms.get('featuresBuffer').value = this.renderTarget1.texture
|
112
120
|
|
113
121
|
this.resolution = new Resolution(
|
114
122
|
this,
|
@@ -116,10 +124,7 @@ export class LensFlareEffect extends Effect {
|
|
116
124
|
resolutionY,
|
117
125
|
resolutionScale
|
118
126
|
)
|
119
|
-
this.resolution.addEventListener
|
120
|
-
'change' as keyof Event,
|
121
|
-
this.onResolutionChange
|
122
|
-
)
|
127
|
+
this.resolution.addEventListener('change', this.onResolutionChange)
|
123
128
|
|
124
129
|
this.intensity = intensity
|
125
130
|
}
|
@@ -150,23 +155,25 @@ export class LensFlareEffect extends Effect {
|
|
150
155
|
this.featuresPass.render(renderer, this.renderTarget2, this.renderTarget1)
|
151
156
|
}
|
152
157
|
|
153
|
-
override setSize(
|
158
|
+
override setSize(baseWidth: number, baseHeight: number): void {
|
154
159
|
const resolution = this.resolution
|
155
|
-
resolution.setBaseSize(
|
156
|
-
|
157
|
-
|
158
|
-
this.
|
159
|
-
this.
|
160
|
-
this.
|
161
|
-
this.
|
160
|
+
resolution.setBaseSize(baseWidth, baseHeight)
|
161
|
+
|
162
|
+
const { width, height } = resolution
|
163
|
+
this.renderTarget1.setSize(width, height)
|
164
|
+
this.renderTarget2.setSize(width, height)
|
165
|
+
this.thresholdMaterial.setSize(width, height)
|
166
|
+
this.blurPass.setSize(width, height)
|
167
|
+
this.preBlurPass.setSize(width, height)
|
168
|
+
this.featuresMaterial.setSize(width, height)
|
162
169
|
}
|
163
170
|
|
164
171
|
get intensity(): number {
|
165
|
-
return this.uniforms.get('intensity')
|
172
|
+
return this.uniforms.get('intensity').value
|
166
173
|
}
|
167
174
|
|
168
175
|
set intensity(value: number) {
|
169
|
-
this.uniforms.get('intensity')
|
176
|
+
this.uniforms.get('intensity').value = value
|
170
177
|
}
|
171
178
|
|
172
179
|
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
|
|