@onerjs/materials 8.41.1 → 8.41.3
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/axesGrid/axesGrid.fragment.d.ts +12 -0
- package/axesGrid/axesGrid.fragment.js +78 -0
- package/axesGrid/axesGrid.fragment.js.map +1 -0
- package/axesGrid/axesGrid.vertex.d.ts +15 -0
- package/axesGrid/axesGrid.vertex.js +60 -0
- package/axesGrid/axesGrid.vertex.js.map +1 -0
- package/axesGrid/axesGridMaterial.d.ts +38 -0
- package/axesGrid/axesGridMaterial.js +222 -0
- package/axesGrid/axesGridMaterial.js.map +1 -0
- package/axesGrid/index.d.ts +1 -0
- package/axesGrid/index.js +2 -0
- package/axesGrid/index.js.map +1 -0
- package/index.d.ts +1 -0
- package/index.js +1 -0
- package/index.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js";
|
|
2
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
|
|
3
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.js";
|
|
4
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneFragment.js";
|
|
5
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogFragment.js";
|
|
6
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthFragment.js";
|
|
7
|
+
import "@onerjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
|
|
8
|
+
/** @internal */
|
|
9
|
+
export declare const axesGridPixelShader: {
|
|
10
|
+
name: string;
|
|
11
|
+
shader: string;
|
|
12
|
+
};
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Do not edit.
|
|
2
|
+
import { ShaderStore } from "@onerjs/core/Engines/shaderStore.js";
|
|
3
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration.js";
|
|
4
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
|
|
5
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogFragmentDeclaration.js";
|
|
6
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneFragment.js";
|
|
7
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogFragment.js";
|
|
8
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthFragment.js";
|
|
9
|
+
import "@onerjs/core/Shaders/ShadersInclude/imageProcessingCompatibility.js";
|
|
10
|
+
const name = "axesGridPixelShader";
|
|
11
|
+
const shader = `#extension GL_OES_standard_derivatives : enable
|
|
12
|
+
#define SQRT2 1.41421356
|
|
13
|
+
#define PI 3.14159
|
|
14
|
+
precision highp float;uniform float visibility;uniform vec4 mainColor;uniform vec4 lineColor;uniform vec4 gridControl;uniform vec3 gridOffset;varying vec3 vPosition;varying vec3 vNormal;uniform vec4 hAxisColor;uniform vec4 vAxisColor;
|
|
15
|
+
#ifdef LOGARITHMICDEPTH
|
|
16
|
+
#extension GL_EXT_frag_depth : enable
|
|
17
|
+
#endif
|
|
18
|
+
#include<clipPlaneFragmentDeclaration>
|
|
19
|
+
#include<logDepthDeclaration>
|
|
20
|
+
#include<fogFragmentDeclaration>
|
|
21
|
+
#ifdef OPACITY
|
|
22
|
+
varying vec2 vOpacityUV;uniform sampler2D opacitySampler;uniform vec2 vOpacityInfos;
|
|
23
|
+
#endif
|
|
24
|
+
bool isOnXAxis(vec3 gridPos) {const float EPSILON=0.01;return abs(gridPos.y)<EPSILON && abs(gridPos.z)<EPSILON;}
|
|
25
|
+
bool isOnYAxis(vec3 gridPos) {const float EPSILON=0.01;return abs(gridPos.x)<EPSILON && abs(gridPos.z)<EPSILON;}
|
|
26
|
+
bool isOnZAxis(vec3 gridPos) {const float EPSILON=0.01;return abs(gridPos.x)<EPSILON && abs(gridPos.y)<EPSILON;}
|
|
27
|
+
float getDynamicVisibility(float position) {float majorGridFrequency=gridControl.y;if (floor(position+0.5)==floor(position/majorGridFrequency+0.5)*majorGridFrequency)
|
|
28
|
+
{ return 0.6; }
|
|
29
|
+
return gridControl.z;}
|
|
30
|
+
float getAnisotropicAttenuation(float differentialLength) {const float maxNumberOfLines=10.0;return clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);}
|
|
31
|
+
float isPointOnLine(float position,float differentialLength) {float fractionPartOfPosition=position-floor(position+0.5);fractionPartOfPosition/=differentialLength;
|
|
32
|
+
#ifdef ANTIALIAS
|
|
33
|
+
fractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);float result=0.5+0.5*cos(fractionPartOfPosition*PI);return result;
|
|
34
|
+
#else
|
|
35
|
+
return abs(fractionPartOfPosition)<SQRT2/4. ? 1. : 0.;
|
|
36
|
+
#endif
|
|
37
|
+
}
|
|
38
|
+
float contributionOnAxis(float position) {float differentialLength=length(vec2(dFdx(position),dFdy(position)));differentialLength*=SQRT2;float result=isPointOnLine(position,differentialLength);float dynamicVisibility=getDynamicVisibility(position);result*=dynamicVisibility;float anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);result*=anisotropicAttenuation;return result;}
|
|
39
|
+
float normalImpactOnAxis(float x) {float normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);return normalImpact;}
|
|
40
|
+
#define CUSTOM_FRAGMENT_DEFINITIONS
|
|
41
|
+
void main(void) {
|
|
42
|
+
#define CUSTOM_FRAGMENT_MAIN_BEGIN
|
|
43
|
+
#include<clipPlaneFragment>
|
|
44
|
+
float gridRatio=gridControl.x;vec3 gridPos=(vPosition+gridOffset.xyz)/gridRatio;float x=contributionOnAxis(gridPos.x);float y=contributionOnAxis(gridPos.y);float z=contributionOnAxis(gridPos.z);vec3 normal=normalize(vNormal);x*=normalImpactOnAxis(normal.x);y*=normalImpactOnAxis(normal.y);z*=normalImpactOnAxis(normal.z);
|
|
45
|
+
#ifdef MAX_LINE
|
|
46
|
+
float grid=clamp(max(max(x,y),z),0.,1.);
|
|
47
|
+
#else
|
|
48
|
+
float grid=clamp(x+y+z,0.,1.);
|
|
49
|
+
#endif
|
|
50
|
+
vec4 axisColor=lineColor;vec4 color=mix(mainColor,axisColor,grid);if (isOnXAxis(gridPos)||isOnZAxis(gridPos)){color.a=0.0;}
|
|
51
|
+
#ifdef FOG
|
|
52
|
+
#include<fogFragment>
|
|
53
|
+
#endif
|
|
54
|
+
float opacity=1.0;
|
|
55
|
+
#ifdef TRANSPARENT
|
|
56
|
+
opacity=clamp(grid,0.08,gridControl.w*grid);
|
|
57
|
+
#endif
|
|
58
|
+
#ifdef OPACITY
|
|
59
|
+
opacity*=texture2D(opacitySampler,vOpacityUV).a;
|
|
60
|
+
#endif
|
|
61
|
+
gl_FragColor=vec4(color.rgb,opacity*visibility*color.a);
|
|
62
|
+
#ifdef TRANSPARENT
|
|
63
|
+
#ifdef PREMULTIPLYALPHA
|
|
64
|
+
gl_FragColor.rgb*=opacity;
|
|
65
|
+
#endif
|
|
66
|
+
#else
|
|
67
|
+
#endif
|
|
68
|
+
#include<logDepthFragment>
|
|
69
|
+
#include<imageProcessingCompatibility>
|
|
70
|
+
#define CUSTOM_FRAGMENT_MAIN_END
|
|
71
|
+
}`;
|
|
72
|
+
// Sideeffect
|
|
73
|
+
if (!ShaderStore.ShadersStore[name]) {
|
|
74
|
+
ShaderStore.ShadersStore[name] = shader;
|
|
75
|
+
}
|
|
76
|
+
/** @internal */
|
|
77
|
+
export const axesGridPixelShader = { name, shader };
|
|
78
|
+
//# sourceMappingURL=axesGrid.fragment.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axesGrid.fragment.js","sourceRoot":"","sources":["../../../../dev/materials/src/axesGrid/axesGrid.fragment.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,4CAAiC;AACvD,6EAAkE;AAClE,oEAAyD;AACzD,uEAA4D;AAC5D,kEAAuD;AACvD,4DAAiD;AACjD,iEAAsD;AACtD,6EAAkE;AAElE,MAAM,IAAI,GAAG,qBAAqB,CAAC;AACnC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4Db,CAAC;AACH,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/logDepthDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogFragmentDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneFragment\";\nimport \"core/Shaders/ShadersInclude/fogFragment\";\nimport \"core/Shaders/ShadersInclude/logDepthFragment\";\nimport \"core/Shaders/ShadersInclude/imageProcessingCompatibility\";\n\nconst name = \"axesGridPixelShader\";\nconst shader = `#extension GL_OES_standard_derivatives : enable\n#define SQRT2 1.41421356\n#define PI 3.14159\nprecision highp float;uniform float visibility;uniform vec4 mainColor;uniform vec4 lineColor;uniform vec4 gridControl;uniform vec3 gridOffset;varying vec3 vPosition;varying vec3 vNormal;uniform vec4 hAxisColor;uniform vec4 vAxisColor;\n#ifdef LOGARITHMICDEPTH\n#extension GL_EXT_frag_depth : enable\n#endif\n#include<clipPlaneFragmentDeclaration>\n#include<logDepthDeclaration>\n#include<fogFragmentDeclaration>\n#ifdef OPACITY\nvarying vec2 vOpacityUV;uniform sampler2D opacitySampler;uniform vec2 vOpacityInfos;\n#endif\nbool isOnXAxis(vec3 gridPos) {const float EPSILON=0.01;return abs(gridPos.y)<EPSILON && abs(gridPos.z)<EPSILON;}\nbool isOnYAxis(vec3 gridPos) {const float EPSILON=0.01;return abs(gridPos.x)<EPSILON && abs(gridPos.z)<EPSILON;}\nbool isOnZAxis(vec3 gridPos) {const float EPSILON=0.01;return abs(gridPos.x)<EPSILON && abs(gridPos.y)<EPSILON;}\nfloat getDynamicVisibility(float position) {float majorGridFrequency=gridControl.y;if (floor(position+0.5)==floor(position/majorGridFrequency+0.5)*majorGridFrequency)\n{ return 0.6; }\nreturn gridControl.z;}\nfloat getAnisotropicAttenuation(float differentialLength) {const float maxNumberOfLines=10.0;return clamp(1.0/(differentialLength+1.0)-1.0/maxNumberOfLines,0.0,1.0);}\nfloat isPointOnLine(float position,float differentialLength) {float fractionPartOfPosition=position-floor(position+0.5);fractionPartOfPosition/=differentialLength;\n#ifdef ANTIALIAS\nfractionPartOfPosition=clamp(fractionPartOfPosition,-1.,1.);float result=0.5+0.5*cos(fractionPartOfPosition*PI);return result;\n#else\nreturn abs(fractionPartOfPosition)<SQRT2/4. ? 1. : 0.;\n#endif\n}\nfloat contributionOnAxis(float position) {float differentialLength=length(vec2(dFdx(position),dFdy(position)));differentialLength*=SQRT2;float result=isPointOnLine(position,differentialLength);float dynamicVisibility=getDynamicVisibility(position);result*=dynamicVisibility;float anisotropicAttenuation=getAnisotropicAttenuation(differentialLength);result*=anisotropicAttenuation;return result;}\nfloat normalImpactOnAxis(float x) {float normalImpact=clamp(1.0-3.0*abs(x*x*x),0.0,1.0);return normalImpact;}\n#define CUSTOM_FRAGMENT_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_FRAGMENT_MAIN_BEGIN\n#include<clipPlaneFragment>\nfloat gridRatio=gridControl.x;vec3 gridPos=(vPosition+gridOffset.xyz)/gridRatio;float x=contributionOnAxis(gridPos.x);float y=contributionOnAxis(gridPos.y);float z=contributionOnAxis(gridPos.z);vec3 normal=normalize(vNormal);x*=normalImpactOnAxis(normal.x);y*=normalImpactOnAxis(normal.y);z*=normalImpactOnAxis(normal.z);\n#ifdef MAX_LINE\nfloat grid=clamp(max(max(x,y),z),0.,1.);\n#else\nfloat grid=clamp(x+y+z,0.,1.);\n#endif\nvec4 axisColor=lineColor;vec4 color=mix(mainColor,axisColor,grid);if (isOnXAxis(gridPos)||isOnZAxis(gridPos)){color.a=0.0;}\n#ifdef FOG\n#include<fogFragment>\n#endif\nfloat opacity=1.0;\n#ifdef TRANSPARENT\nopacity=clamp(grid,0.08,gridControl.w*grid);\n#endif\n#ifdef OPACITY\nopacity*=texture2D(opacitySampler,vOpacityUV).a;\n#endif\ngl_FragColor=vec4(color.rgb,opacity*visibility*color.a);\n#ifdef TRANSPARENT\n#ifdef PREMULTIPLYALPHA\ngl_FragColor.rgb*=opacity;\n#endif\n#else\n#endif\n#include<logDepthFragment>\n#include<imageProcessingCompatibility>\n#define CUSTOM_FRAGMENT_MAIN_END\n}`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\n/** @internal */\nexport const axesGridPixelShader = { name, shader };\n"]}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import "@onerjs/core/Shaders/ShadersInclude/instancesDeclaration.js";
|
|
2
|
+
import "@onerjs/core/Shaders/ShadersInclude/sceneVertexDeclaration.js";
|
|
3
|
+
import "@onerjs/core/Shaders/ShadersInclude/sceneUboDeclaration.js";
|
|
4
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
|
|
5
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogVertexDeclaration.js";
|
|
6
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js";
|
|
7
|
+
import "@onerjs/core/Shaders/ShadersInclude/instancesVertex.js";
|
|
8
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogVertex.js";
|
|
9
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
|
|
10
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthVertex.js";
|
|
11
|
+
/** @internal */
|
|
12
|
+
export declare const axesGridVertexShader: {
|
|
13
|
+
name: string;
|
|
14
|
+
shader: string;
|
|
15
|
+
};
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// Do not edit.
|
|
2
|
+
import { ShaderStore } from "@onerjs/core/Engines/shaderStore.js";
|
|
3
|
+
import "@onerjs/core/Shaders/ShadersInclude/instancesDeclaration.js";
|
|
4
|
+
import "@onerjs/core/Shaders/ShadersInclude/sceneVertexDeclaration.js";
|
|
5
|
+
import "@onerjs/core/Shaders/ShadersInclude/sceneUboDeclaration.js";
|
|
6
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthDeclaration.js";
|
|
7
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogVertexDeclaration.js";
|
|
8
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneVertexDeclaration.js";
|
|
9
|
+
import "@onerjs/core/Shaders/ShadersInclude/instancesVertex.js";
|
|
10
|
+
import "@onerjs/core/Shaders/ShadersInclude/fogVertex.js";
|
|
11
|
+
import "@onerjs/core/Shaders/ShadersInclude/clipPlaneVertex.js";
|
|
12
|
+
import "@onerjs/core/Shaders/ShadersInclude/logDepthVertex.js";
|
|
13
|
+
const name = "axesGridVertexShader";
|
|
14
|
+
const shader = `precision highp float;attribute vec3 position;attribute vec3 normal;
|
|
15
|
+
#ifdef UV1
|
|
16
|
+
attribute vec2 uv;
|
|
17
|
+
#endif
|
|
18
|
+
#ifdef UV2
|
|
19
|
+
attribute vec2 uv2;
|
|
20
|
+
#endif
|
|
21
|
+
#include<instancesDeclaration>
|
|
22
|
+
#include<__decl__sceneVertex>
|
|
23
|
+
varying vec3 vPosition;varying vec3 vNormal;
|
|
24
|
+
#include<logDepthDeclaration>
|
|
25
|
+
#include<fogVertexDeclaration>
|
|
26
|
+
#ifdef OPACITY
|
|
27
|
+
varying vec2 vOpacityUV;uniform mat4 opacityMatrix;uniform vec2 vOpacityInfos;
|
|
28
|
+
#endif
|
|
29
|
+
#include<clipPlaneVertexDeclaration>
|
|
30
|
+
#define CUSTOM_VERTEX_DEFINITIONS
|
|
31
|
+
void main(void) {
|
|
32
|
+
#define CUSTOM_VERTEX_MAIN_BEGIN
|
|
33
|
+
#include<instancesVertex>
|
|
34
|
+
vec4 worldPos=finalWorld*vec4(position,1.0);
|
|
35
|
+
#include<fogVertex>
|
|
36
|
+
vec4 cameraSpacePosition=view*worldPos;gl_Position=projection*cameraSpacePosition;
|
|
37
|
+
#ifdef OPACITY
|
|
38
|
+
#ifndef UV1
|
|
39
|
+
vec2 uv=vec2(0.,0.);
|
|
40
|
+
#endif
|
|
41
|
+
#ifndef UV2
|
|
42
|
+
vec2 uv2=vec2(0.,0.);
|
|
43
|
+
#endif
|
|
44
|
+
if (vOpacityInfos.x==0.)
|
|
45
|
+
{vOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));}
|
|
46
|
+
else
|
|
47
|
+
{vOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));}
|
|
48
|
+
#endif
|
|
49
|
+
#include<clipPlaneVertex>
|
|
50
|
+
#include<logDepthVertex>
|
|
51
|
+
vPosition=position;vNormal=normal;
|
|
52
|
+
#define CUSTOM_VERTEX_MAIN_END
|
|
53
|
+
}`;
|
|
54
|
+
// Sideeffect
|
|
55
|
+
if (!ShaderStore.ShadersStore[name]) {
|
|
56
|
+
ShaderStore.ShadersStore[name] = shader;
|
|
57
|
+
}
|
|
58
|
+
/** @internal */
|
|
59
|
+
export const axesGridVertexShader = { name, shader };
|
|
60
|
+
//# sourceMappingURL=axesGrid.vertex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axesGrid.vertex.js","sourceRoot":"","sources":["../../../../dev/materials/src/axesGrid/axesGrid.vertex.ts"],"names":[],"mappings":"AAAA,eAAe;AACf,OAAO,EAAE,WAAW,EAAE,4CAAiC;AACvD,qEAA0D;AAC1D,uEAA4D;AAC5D,oEAAyD;AACzD,oEAAyD;AACzD,qEAA0D;AAC1D,2EAAgE;AAChE,gEAAqD;AACrD,0DAA+C;AAC/C,gEAAqD;AACrD,+DAAoD;AAEpD,MAAM,IAAI,GAAG,sBAAsB,CAAC;AACpC,MAAM,MAAM,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuCb,CAAC;AACH,aAAa;AACb,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;IAClC,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;AAC5C,CAAC;AACD,gBAAgB;AAChB,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC","sourcesContent":["// Do not edit.\nimport { ShaderStore } from \"core/Engines/shaderStore\";\nimport \"core/Shaders/ShadersInclude/instancesDeclaration\";\nimport \"core/Shaders/ShadersInclude/sceneVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/sceneUboDeclaration\";\nimport \"core/Shaders/ShadersInclude/logDepthDeclaration\";\nimport \"core/Shaders/ShadersInclude/fogVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/clipPlaneVertexDeclaration\";\nimport \"core/Shaders/ShadersInclude/instancesVertex\";\nimport \"core/Shaders/ShadersInclude/fogVertex\";\nimport \"core/Shaders/ShadersInclude/clipPlaneVertex\";\nimport \"core/Shaders/ShadersInclude/logDepthVertex\";\n\nconst name = \"axesGridVertexShader\";\nconst shader = `precision highp float;attribute vec3 position;attribute vec3 normal;\n#ifdef UV1\nattribute vec2 uv;\n#endif\n#ifdef UV2\nattribute vec2 uv2;\n#endif\n#include<instancesDeclaration>\n#include<__decl__sceneVertex>\nvarying vec3 vPosition;varying vec3 vNormal;\n#include<logDepthDeclaration>\n#include<fogVertexDeclaration>\n#ifdef OPACITY\nvarying vec2 vOpacityUV;uniform mat4 opacityMatrix;uniform vec2 vOpacityInfos;\n#endif\n#include<clipPlaneVertexDeclaration>\n#define CUSTOM_VERTEX_DEFINITIONS\nvoid main(void) {\n#define CUSTOM_VERTEX_MAIN_BEGIN\n#include<instancesVertex>\nvec4 worldPos=finalWorld*vec4(position,1.0);\n#include<fogVertex>\nvec4 cameraSpacePosition=view*worldPos;gl_Position=projection*cameraSpacePosition;\n#ifdef OPACITY\n#ifndef UV1\nvec2 uv=vec2(0.,0.);\n#endif\n#ifndef UV2\nvec2 uv2=vec2(0.,0.);\n#endif\nif (vOpacityInfos.x==0.)\n{vOpacityUV=vec2(opacityMatrix*vec4(uv,1.0,0.0));}\nelse\n{vOpacityUV=vec2(opacityMatrix*vec4(uv2,1.0,0.0));}\n#endif\n#include<clipPlaneVertex>\n#include<logDepthVertex>\nvPosition=position;vNormal=normal;\n#define CUSTOM_VERTEX_MAIN_END\n}`;\n// Sideeffect\nif (!ShaderStore.ShadersStore[name]) {\n ShaderStore.ShadersStore[name] = shader;\n}\n/** @internal */\nexport const axesGridVertexShader = { name, shader };\n"]}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { Matrix } from "@onerjs/core/Maths/math.vector.js";
|
|
2
|
+
import { Vector3 } from "@onerjs/core/Maths/math.vector.js";
|
|
3
|
+
import { Color4 } from "@onerjs/core/Maths/math.color.js";
|
|
4
|
+
import type { BaseTexture } from "@onerjs/core/Materials/Textures/baseTexture.js";
|
|
5
|
+
import { PushMaterial } from "@onerjs/core/Materials/pushMaterial.js";
|
|
6
|
+
import type { AbstractMesh } from "@onerjs/core/Meshes/abstractMesh.js";
|
|
7
|
+
import type { SubMesh } from "@onerjs/core/Meshes/subMesh.js";
|
|
8
|
+
import type { Mesh } from "@onerjs/core/Meshes/mesh.js";
|
|
9
|
+
import type { Scene } from "@onerjs/core/scene.js";
|
|
10
|
+
import "./axesGrid.fragment.js";
|
|
11
|
+
import "./axesGrid.vertex.js";
|
|
12
|
+
export declare class AxesGridMaterial extends PushMaterial {
|
|
13
|
+
mainColor: Color4;
|
|
14
|
+
lineColor: Color4;
|
|
15
|
+
hAxisColor: Color4;
|
|
16
|
+
vAxisColor: Color4;
|
|
17
|
+
gridRatio: number;
|
|
18
|
+
gridOffset: Vector3;
|
|
19
|
+
majorUnitFrequency: number;
|
|
20
|
+
minorUnitVisibility: number;
|
|
21
|
+
opacity: number;
|
|
22
|
+
antialias: boolean;
|
|
23
|
+
preMultiplyAlpha: boolean;
|
|
24
|
+
useMaxLine: boolean;
|
|
25
|
+
private _opacityTexture;
|
|
26
|
+
opacityTexture: BaseTexture;
|
|
27
|
+
private _gridControl;
|
|
28
|
+
constructor(name: string, scene?: Scene);
|
|
29
|
+
needAlphaBlending(): boolean;
|
|
30
|
+
needAlphaBlendingForMesh(mesh: AbstractMesh): boolean;
|
|
31
|
+
isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean;
|
|
32
|
+
bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void;
|
|
33
|
+
dispose(forceDisposeEffect?: boolean): void;
|
|
34
|
+
clone(name: string): AxesGridMaterial;
|
|
35
|
+
serialize(): any;
|
|
36
|
+
getClassName(): string;
|
|
37
|
+
static Parse(source: any, scene: Scene, rootUrl: string): AxesGridMaterial;
|
|
38
|
+
}
|
|
@@ -0,0 +1,222 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/naming-convention */
|
|
2
|
+
import { SerializationHelper } from "@onerjs/core/Misc/decorators.serialization.js";
|
|
3
|
+
import { Vector4, Vector3 } from "@onerjs/core/Maths/math.vector.js";
|
|
4
|
+
import { Color3, Color4 } from "@onerjs/core/Maths/math.color.js";
|
|
5
|
+
import { MaterialDefines } from "@onerjs/core/Materials/materialDefines.js";
|
|
6
|
+
import { PushMaterial } from "@onerjs/core/Materials/pushMaterial.js";
|
|
7
|
+
import { MaterialFlags } from "@onerjs/core/Materials/materialFlags.js";
|
|
8
|
+
import { VertexBuffer } from "@onerjs/core/Buffers/buffer.js";
|
|
9
|
+
import { RegisterClass } from "@onerjs/core/Misc/typeStore.js";
|
|
10
|
+
import "./axesGrid.fragment.js";
|
|
11
|
+
import "./axesGrid.vertex.js";
|
|
12
|
+
import { BindFogParameters, BindLogDepth, PrepareAttributesForInstances, PrepareDefinesForAttributes, PrepareDefinesForFrameBoundValues, PrepareDefinesForMisc, } from "@onerjs/core/Materials/materialHelper.functions.js";
|
|
13
|
+
import { AddClipPlaneUniforms, BindClipPlane } from "@onerjs/core/Materials/clipPlaneMaterialHelper.js";
|
|
14
|
+
class GridMaterialDefines extends MaterialDefines {
|
|
15
|
+
constructor() {
|
|
16
|
+
super();
|
|
17
|
+
this.CLIPPLANE = false;
|
|
18
|
+
this.CLIPPLANE2 = false;
|
|
19
|
+
this.CLIPPLANE3 = false;
|
|
20
|
+
this.CLIPPLANE4 = false;
|
|
21
|
+
this.CLIPPLANE5 = false;
|
|
22
|
+
this.CLIPPLANE6 = false;
|
|
23
|
+
this.OPACITY = false;
|
|
24
|
+
this.ANTIALIAS = false;
|
|
25
|
+
this.TRANSPARENT = false;
|
|
26
|
+
this.FOG = false;
|
|
27
|
+
this.PREMULTIPLYALPHA = false;
|
|
28
|
+
this.MAX_LINE = false;
|
|
29
|
+
this.UV1 = false;
|
|
30
|
+
this.UV2 = false;
|
|
31
|
+
this.INSTANCES = false;
|
|
32
|
+
this.THIN_INSTANCES = false;
|
|
33
|
+
this.IMAGEPROCESSINGPOSTPROCESS = false;
|
|
34
|
+
this.SKIPFINALCOLORCLAMP = false;
|
|
35
|
+
this.LOGARITHMICDEPTH = false;
|
|
36
|
+
this.rebuild();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
export class AxesGridMaterial extends PushMaterial {
|
|
40
|
+
constructor(name, scene) {
|
|
41
|
+
super(name, scene);
|
|
42
|
+
this.mainColor = Color4.FromColor3(Color3.Black(), 1);
|
|
43
|
+
this.lineColor = Color4.FromColor3(Color3.Teal(), 1);
|
|
44
|
+
this.hAxisColor = Color4.FromHexString("#f5222d");
|
|
45
|
+
this.vAxisColor = Color4.FromHexString("#1677ff");
|
|
46
|
+
this.gridRatio = 1.0;
|
|
47
|
+
this.gridOffset = Vector3.Zero();
|
|
48
|
+
this.majorUnitFrequency = 10;
|
|
49
|
+
this.minorUnitVisibility = 0.33;
|
|
50
|
+
this.opacity = 1.0;
|
|
51
|
+
this.antialias = true;
|
|
52
|
+
this.preMultiplyAlpha = false;
|
|
53
|
+
this.useMaxLine = false;
|
|
54
|
+
this._gridControl = new Vector4(this.gridRatio, this.majorUnitFrequency, this.minorUnitVisibility, this.opacity);
|
|
55
|
+
}
|
|
56
|
+
needAlphaBlending() {
|
|
57
|
+
return this.opacity < 1.0 || (this._opacityTexture && this._opacityTexture.isReady());
|
|
58
|
+
}
|
|
59
|
+
needAlphaBlendingForMesh(mesh) {
|
|
60
|
+
return mesh.visibility < 1.0 || this.needAlphaBlending();
|
|
61
|
+
}
|
|
62
|
+
isReadyForSubMesh(mesh, subMesh, useInstances) {
|
|
63
|
+
const drawWrapper = subMesh._drawWrapper;
|
|
64
|
+
if (this.isFrozen) {
|
|
65
|
+
if (drawWrapper.effect && drawWrapper._wasPreviouslyReady && drawWrapper._wasPreviouslyUsingInstances === useInstances) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
if (!subMesh.materialDefines) {
|
|
70
|
+
subMesh.materialDefines = new GridMaterialDefines();
|
|
71
|
+
}
|
|
72
|
+
const defines = subMesh.materialDefines;
|
|
73
|
+
const scene = this.getScene();
|
|
74
|
+
if (this._isReadyForSubMesh(subMesh)) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
if (defines.TRANSPARENT !== this.opacity < 1.0) {
|
|
78
|
+
defines.TRANSPARENT = !defines.TRANSPARENT;
|
|
79
|
+
defines.markAsUnprocessed();
|
|
80
|
+
}
|
|
81
|
+
if (defines.PREMULTIPLYALPHA != this.preMultiplyAlpha) {
|
|
82
|
+
defines.PREMULTIPLYALPHA = !defines.PREMULTIPLYALPHA;
|
|
83
|
+
defines.markAsUnprocessed();
|
|
84
|
+
}
|
|
85
|
+
if (defines.MAX_LINE !== this.useMaxLine) {
|
|
86
|
+
defines.MAX_LINE = !defines.MAX_LINE;
|
|
87
|
+
defines.markAsUnprocessed();
|
|
88
|
+
}
|
|
89
|
+
if (defines.ANTIALIAS !== this.antialias) {
|
|
90
|
+
defines.ANTIALIAS = !defines.ANTIALIAS;
|
|
91
|
+
defines.markAsUnprocessed();
|
|
92
|
+
}
|
|
93
|
+
// Textures
|
|
94
|
+
if (defines._areTexturesDirty) {
|
|
95
|
+
defines._needUVs = false;
|
|
96
|
+
if (scene.texturesEnabled) {
|
|
97
|
+
if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {
|
|
98
|
+
if (!this._opacityTexture.isReady()) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
defines._needUVs = true;
|
|
103
|
+
defines.OPACITY = true;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, false, this.fogEnabled, false, defines, undefined, undefined, undefined, this._isVertexOutputInvariant);
|
|
109
|
+
PrepareDefinesForFrameBoundValues(scene, scene.getEngine(), this, defines, !!useInstances);
|
|
110
|
+
if (defines.isDirty) {
|
|
111
|
+
defines.markAsProcessed();
|
|
112
|
+
scene.resetCachedMaterial();
|
|
113
|
+
PrepareDefinesForAttributes(mesh, defines, false, false);
|
|
114
|
+
const attribs = [VertexBuffer.PositionKind, VertexBuffer.NormalKind];
|
|
115
|
+
if (defines.UV1) {
|
|
116
|
+
attribs.push(VertexBuffer.UVKind);
|
|
117
|
+
}
|
|
118
|
+
if (defines.UV2) {
|
|
119
|
+
attribs.push(VertexBuffer.UV2Kind);
|
|
120
|
+
}
|
|
121
|
+
defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;
|
|
122
|
+
PrepareAttributesForInstances(attribs, defines);
|
|
123
|
+
const uniforms = [
|
|
124
|
+
"projection",
|
|
125
|
+
"mainColor",
|
|
126
|
+
"lineColor",
|
|
127
|
+
"gridControl",
|
|
128
|
+
"gridOffset",
|
|
129
|
+
"vFogInfos",
|
|
130
|
+
"vFogColor",
|
|
131
|
+
"world",
|
|
132
|
+
"view",
|
|
133
|
+
"opacityMatrix",
|
|
134
|
+
"vOpacityInfos",
|
|
135
|
+
"visibility",
|
|
136
|
+
"logarithmicDepthConstant",
|
|
137
|
+
"hAxisColor",
|
|
138
|
+
"vAxisColor",
|
|
139
|
+
];
|
|
140
|
+
// Defines
|
|
141
|
+
const join = defines.toString();
|
|
142
|
+
AddClipPlaneUniforms(uniforms);
|
|
143
|
+
subMesh.setEffect(scene.getEngine().createEffect("axesGird", {
|
|
144
|
+
attributes: attribs,
|
|
145
|
+
uniformsNames: uniforms,
|
|
146
|
+
uniformBuffersNames: ["Scene"],
|
|
147
|
+
samplers: ["opacitySampler"],
|
|
148
|
+
defines: join,
|
|
149
|
+
fallbacks: null,
|
|
150
|
+
onCompiled: this.onCompiled,
|
|
151
|
+
onError: this.onError,
|
|
152
|
+
}, scene.getEngine()), defines, this._materialContext);
|
|
153
|
+
}
|
|
154
|
+
if (!subMesh.effect || !subMesh.effect.isReady()) {
|
|
155
|
+
return false;
|
|
156
|
+
}
|
|
157
|
+
defines._renderId = scene.getRenderId();
|
|
158
|
+
drawWrapper._wasPreviouslyReady = true;
|
|
159
|
+
drawWrapper._wasPreviouslyUsingInstances = !!useInstances;
|
|
160
|
+
return true;
|
|
161
|
+
}
|
|
162
|
+
bindForSubMesh(world, mesh, subMesh) {
|
|
163
|
+
const scene = this.getScene();
|
|
164
|
+
const defines = subMesh.materialDefines;
|
|
165
|
+
if (!defines) {
|
|
166
|
+
return;
|
|
167
|
+
}
|
|
168
|
+
const effect = subMesh.effect;
|
|
169
|
+
if (!effect) {
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
this._activeEffect = effect;
|
|
173
|
+
this._activeEffect.setFloat("visibility", mesh.visibility);
|
|
174
|
+
if (!defines.INSTANCES || defines.THIN_INSTANCE) {
|
|
175
|
+
this.bindOnlyWorldMatrix(world);
|
|
176
|
+
}
|
|
177
|
+
this.bindView(effect);
|
|
178
|
+
this.bindViewProjection(effect);
|
|
179
|
+
if (this._mustRebind(scene, effect, subMesh)) {
|
|
180
|
+
this._activeEffect.setDirectColor4("mainColor", this.mainColor);
|
|
181
|
+
this._activeEffect.setDirectColor4("lineColor", this.lineColor);
|
|
182
|
+
this._activeEffect.setDirectColor4("hAxisColor", this.hAxisColor);
|
|
183
|
+
this._activeEffect.setDirectColor4("vAxisColor", this.vAxisColor);
|
|
184
|
+
this._activeEffect.setVector3("gridOffset", this.gridOffset);
|
|
185
|
+
this._gridControl.x = this.gridRatio;
|
|
186
|
+
this._gridControl.y = Math.round(this.majorUnitFrequency);
|
|
187
|
+
this._gridControl.z = this.minorUnitVisibility;
|
|
188
|
+
this._gridControl.w = this.opacity;
|
|
189
|
+
this._activeEffect.setVector4("gridControl", this._gridControl);
|
|
190
|
+
if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {
|
|
191
|
+
this._activeEffect.setTexture("opacitySampler", this._opacityTexture);
|
|
192
|
+
this._activeEffect.setFloat2("vOpacityInfos", this._opacityTexture.coordinatesIndex, this._opacityTexture.level);
|
|
193
|
+
this._activeEffect.setMatrix("opacityMatrix", this._opacityTexture.getTextureMatrix());
|
|
194
|
+
}
|
|
195
|
+
BindClipPlane(effect, this, scene);
|
|
196
|
+
if (this._useLogarithmicDepth) {
|
|
197
|
+
BindLogDepth(defines, effect, scene);
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
BindFogParameters(scene, mesh, this._activeEffect);
|
|
201
|
+
this._afterBind(mesh, this._activeEffect, subMesh);
|
|
202
|
+
}
|
|
203
|
+
dispose(forceDisposeEffect) {
|
|
204
|
+
super.dispose(forceDisposeEffect);
|
|
205
|
+
}
|
|
206
|
+
clone(name) {
|
|
207
|
+
return SerializationHelper.Clone(() => new AxesGridMaterial(name, this.getScene()), this);
|
|
208
|
+
}
|
|
209
|
+
serialize() {
|
|
210
|
+
const serializationObject = super.serialize();
|
|
211
|
+
serializationObject.customType = "BABYLON.AxesGridMaterial";
|
|
212
|
+
return serializationObject;
|
|
213
|
+
}
|
|
214
|
+
getClassName() {
|
|
215
|
+
return "AxesGridMaterial";
|
|
216
|
+
}
|
|
217
|
+
static Parse(source, scene, rootUrl) {
|
|
218
|
+
return SerializationHelper.Parse(() => new AxesGridMaterial(source.name, scene), source, scene, rootUrl);
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
RegisterClass("BABYLON.AxesGridMaterial", AxesGridMaterial);
|
|
222
|
+
//# sourceMappingURL=axesGridMaterial.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"axesGridMaterial.js","sourceRoot":"","sources":["../../../../dev/materials/src/axesGrid/axesGridMaterial.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable @typescript-eslint/naming-convention */\r\nimport { SerializationHelper } from \"core/Misc/decorators.serialization\";\r\nimport type { Matrix } from \"core/Maths/math.vector\";\r\nimport { Vector4, Vector3 } from \"core/Maths/math.vector\";\r\nimport { Color3, Color4 } from \"core/Maths/math.color\";\r\nimport type { BaseTexture } from \"core/Materials/Textures/baseTexture\";\r\nimport { MaterialDefines } from \"core/Materials/materialDefines\";\r\nimport { PushMaterial } from \"core/Materials/pushMaterial\";\r\nimport { MaterialFlags } from \"core/Materials/materialFlags\";\r\nimport { VertexBuffer } from \"core/Buffers/buffer\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\nimport type { SubMesh } from \"core/Meshes/subMesh\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { RegisterClass } from \"core/Misc/typeStore\";\r\n\r\nimport \"./axesGrid.fragment\";\r\nimport \"./axesGrid.vertex\";\r\nimport {\r\n BindFogParameters,\r\n BindLogDepth,\r\n PrepareAttributesForInstances,\r\n PrepareDefinesForAttributes,\r\n PrepareDefinesForFrameBoundValues,\r\n PrepareDefinesForMisc,\r\n} from \"core/Materials/materialHelper.functions\";\r\nimport { AddClipPlaneUniforms, BindClipPlane } from \"core/Materials/clipPlaneMaterialHelper\";\r\n\r\nclass GridMaterialDefines extends MaterialDefines {\r\n public CLIPPLANE = false;\r\n public CLIPPLANE2 = false;\r\n public CLIPPLANE3 = false;\r\n public CLIPPLANE4 = false;\r\n public CLIPPLANE5 = false;\r\n public CLIPPLANE6 = false;\r\n public OPACITY = false;\r\n public ANTIALIAS = false;\r\n public TRANSPARENT = false;\r\n public FOG = false;\r\n public PREMULTIPLYALPHA = false;\r\n public MAX_LINE = false;\r\n public UV1 = false;\r\n public UV2 = false;\r\n public INSTANCES = false;\r\n public THIN_INSTANCES = false;\r\n public IMAGEPROCESSINGPOSTPROCESS = false;\r\n public SKIPFINALCOLORCLAMP = false;\r\n public LOGARITHMICDEPTH = false;\r\n\r\n constructor() {\r\n super();\r\n this.rebuild();\r\n }\r\n}\r\n\r\nexport class AxesGridMaterial extends PushMaterial {\r\n public mainColor = Color4.FromColor3(Color3.Black(), 1);\r\n\r\n public lineColor = Color4.FromColor3(Color3.Teal(), 1);\r\n\r\n public hAxisColor = Color4.FromHexString(\"#f5222d\");\r\n\r\n public vAxisColor = Color4.FromHexString(\"#1677ff\");\r\n\r\n public gridRatio = 1.0;\r\n\r\n public gridOffset = Vector3.Zero();\r\n\r\n public majorUnitFrequency = 10;\r\n\r\n public minorUnitVisibility = 0.33;\r\n\r\n public opacity = 1.0;\r\n\r\n public antialias = true;\r\n\r\n public preMultiplyAlpha = false;\r\n\r\n public useMaxLine = false;\r\n\r\n private _opacityTexture: BaseTexture;\r\n\r\n public opacityTexture: BaseTexture;\r\n\r\n private _gridControl: Vector4 = new Vector4(this.gridRatio, this.majorUnitFrequency, this.minorUnitVisibility, this.opacity);\r\n\r\n constructor(name: string, scene?: Scene) {\r\n super(name, scene);\r\n }\r\n\r\n public override needAlphaBlending(): boolean {\r\n return this.opacity < 1.0 || (this._opacityTexture && this._opacityTexture.isReady());\r\n }\r\n\r\n public override needAlphaBlendingForMesh(mesh: AbstractMesh): boolean {\r\n return mesh.visibility < 1.0 || this.needAlphaBlending();\r\n }\r\n\r\n public override isReadyForSubMesh(mesh: AbstractMesh, subMesh: SubMesh, useInstances?: boolean): boolean {\r\n const drawWrapper = subMesh._drawWrapper;\r\n\r\n if (this.isFrozen) {\r\n if (drawWrapper.effect && drawWrapper._wasPreviouslyReady && drawWrapper._wasPreviouslyUsingInstances === useInstances) {\r\n return true;\r\n }\r\n }\r\n\r\n if (!subMesh.materialDefines) {\r\n subMesh.materialDefines = new GridMaterialDefines();\r\n }\r\n\r\n const defines = <GridMaterialDefines>subMesh.materialDefines;\r\n const scene = this.getScene();\r\n\r\n if (this._isReadyForSubMesh(subMesh)) {\r\n return true;\r\n }\r\n\r\n if (defines.TRANSPARENT !== this.opacity < 1.0) {\r\n defines.TRANSPARENT = !defines.TRANSPARENT;\r\n defines.markAsUnprocessed();\r\n }\r\n\r\n if (defines.PREMULTIPLYALPHA != this.preMultiplyAlpha) {\r\n defines.PREMULTIPLYALPHA = !defines.PREMULTIPLYALPHA;\r\n defines.markAsUnprocessed();\r\n }\r\n\r\n if (defines.MAX_LINE !== this.useMaxLine) {\r\n defines.MAX_LINE = !defines.MAX_LINE;\r\n defines.markAsUnprocessed();\r\n }\r\n\r\n if (defines.ANTIALIAS !== this.antialias) {\r\n defines.ANTIALIAS = !defines.ANTIALIAS;\r\n defines.markAsUnprocessed();\r\n }\r\n\r\n // Textures\r\n if (defines._areTexturesDirty) {\r\n defines._needUVs = false;\r\n if (scene.texturesEnabled) {\r\n if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {\r\n if (!this._opacityTexture.isReady()) {\r\n return false;\r\n } else {\r\n defines._needUVs = true;\r\n defines.OPACITY = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n PrepareDefinesForMisc(mesh, scene, this._useLogarithmicDepth, false, this.fogEnabled, false, defines, undefined, undefined, undefined, this._isVertexOutputInvariant);\r\n\r\n PrepareDefinesForFrameBoundValues(scene, scene.getEngine(), this, defines, !!useInstances);\r\n\r\n if (defines.isDirty) {\r\n defines.markAsProcessed();\r\n scene.resetCachedMaterial();\r\n\r\n PrepareDefinesForAttributes(mesh, defines, false, false);\r\n const attribs = [VertexBuffer.PositionKind, VertexBuffer.NormalKind];\r\n\r\n if (defines.UV1) {\r\n attribs.push(VertexBuffer.UVKind);\r\n }\r\n if (defines.UV2) {\r\n attribs.push(VertexBuffer.UV2Kind);\r\n }\r\n\r\n defines.IMAGEPROCESSINGPOSTPROCESS = scene.imageProcessingConfiguration.applyByPostProcess;\r\n\r\n PrepareAttributesForInstances(attribs, defines);\r\n\r\n const uniforms = [\r\n \"projection\",\r\n \"mainColor\",\r\n \"lineColor\",\r\n \"gridControl\",\r\n \"gridOffset\",\r\n \"vFogInfos\",\r\n \"vFogColor\",\r\n \"world\",\r\n \"view\",\r\n \"opacityMatrix\",\r\n \"vOpacityInfos\",\r\n \"visibility\",\r\n \"logarithmicDepthConstant\",\r\n \"hAxisColor\",\r\n \"vAxisColor\",\r\n ];\r\n // Defines\r\n const join = defines.toString();\r\n AddClipPlaneUniforms(uniforms);\r\n subMesh.setEffect(\r\n scene.getEngine().createEffect(\r\n \"axesGird\",\r\n {\r\n attributes: attribs,\r\n uniformsNames: uniforms,\r\n uniformBuffersNames: [\"Scene\"],\r\n samplers: [\"opacitySampler\"],\r\n defines: join,\r\n fallbacks: null,\r\n onCompiled: this.onCompiled,\r\n onError: this.onError,\r\n },\r\n scene.getEngine()\r\n ),\r\n defines,\r\n this._materialContext\r\n );\r\n }\r\n\r\n if (!subMesh.effect || !subMesh.effect.isReady()) {\r\n return false;\r\n }\r\n\r\n defines._renderId = scene.getRenderId();\r\n drawWrapper._wasPreviouslyReady = true;\r\n drawWrapper._wasPreviouslyUsingInstances = !!useInstances;\r\n\r\n return true;\r\n }\r\n\r\n public override bindForSubMesh(world: Matrix, mesh: Mesh, subMesh: SubMesh): void {\r\n const scene = this.getScene();\r\n\r\n const defines = <GridMaterialDefines>subMesh.materialDefines;\r\n if (!defines) {\r\n return;\r\n }\r\n\r\n const effect = subMesh.effect;\r\n if (!effect) {\r\n return;\r\n }\r\n this._activeEffect = effect;\r\n\r\n this._activeEffect.setFloat(\"visibility\", mesh.visibility);\r\n\r\n if (!defines.INSTANCES || defines.THIN_INSTANCE) {\r\n this.bindOnlyWorldMatrix(world);\r\n }\r\n this.bindView(effect);\r\n this.bindViewProjection(effect);\r\n\r\n if (this._mustRebind(scene, effect, subMesh)) {\r\n this._activeEffect.setDirectColor4(\"mainColor\", this.mainColor);\r\n this._activeEffect.setDirectColor4(\"lineColor\", this.lineColor);\r\n this._activeEffect.setDirectColor4(\"hAxisColor\", this.hAxisColor);\r\n this._activeEffect.setDirectColor4(\"vAxisColor\", this.vAxisColor);\r\n\r\n this._activeEffect.setVector3(\"gridOffset\", this.gridOffset);\r\n\r\n this._gridControl.x = this.gridRatio;\r\n this._gridControl.y = Math.round(this.majorUnitFrequency);\r\n this._gridControl.z = this.minorUnitVisibility;\r\n this._gridControl.w = this.opacity;\r\n this._activeEffect.setVector4(\"gridControl\", this._gridControl);\r\n\r\n if (this._opacityTexture && MaterialFlags.OpacityTextureEnabled) {\r\n this._activeEffect.setTexture(\"opacitySampler\", this._opacityTexture);\r\n this._activeEffect.setFloat2(\"vOpacityInfos\", this._opacityTexture.coordinatesIndex, this._opacityTexture.level);\r\n this._activeEffect.setMatrix(\"opacityMatrix\", this._opacityTexture.getTextureMatrix());\r\n }\r\n\r\n BindClipPlane(effect, this, scene);\r\n if (this._useLogarithmicDepth) {\r\n BindLogDepth(defines, effect, scene);\r\n }\r\n }\r\n BindFogParameters(scene, mesh, this._activeEffect);\r\n\r\n this._afterBind(mesh, this._activeEffect, subMesh);\r\n }\r\n\r\n public override dispose(forceDisposeEffect?: boolean): void {\r\n super.dispose(forceDisposeEffect);\r\n }\r\n\r\n public override clone(name: string): AxesGridMaterial {\r\n return SerializationHelper.Clone(() => new AxesGridMaterial(name, this.getScene()), this);\r\n }\r\n\r\n public override serialize(): any {\r\n const serializationObject = super.serialize();\r\n serializationObject.customType = \"BABYLON.AxesGridMaterial\";\r\n return serializationObject;\r\n }\r\n\r\n public override getClassName(): string {\r\n return \"AxesGridMaterial\";\r\n }\r\n\r\n public static override Parse(source: any, scene: Scene, rootUrl: string): AxesGridMaterial {\r\n return SerializationHelper.Parse(() => new AxesGridMaterial(source.name, scene), source, scene, rootUrl);\r\n }\r\n}\r\n\r\nRegisterClass(\"BABYLON.AxesGridMaterial\", AxesGridMaterial);\r\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./axesGridMaterial.js";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../dev/materials/src/axesGrid/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC","sourcesContent":["export * from \"./axesGridMaterial\";\n"]}
|
package/index.d.ts
CHANGED
package/index.js
CHANGED
package/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dev/materials/src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./cell/index\";\r\nexport * from \"./custom/index\";\r\nexport * from \"./fire/index\";\r\nexport * from \"./fur/index\";\r\nexport * from \"./gradient/index\";\r\nexport * from \"./grid/index\";\r\nexport * from \"./lava/index\";\r\nexport * from \"./mix/index\";\r\nexport * from \"./normal/index\";\r\nexport * from \"./shadowOnly/index\";\r\nexport * from \"./simple/index\";\r\nexport * from \"./sky/index\";\r\nexport * from \"./terrain/index\";\r\nexport * from \"./triPlanar/index\";\r\nexport * from \"./water/index\";\r\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../dev/materials/src/index.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC;AAC5B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/no-restricted-imports */\r\nexport * from \"./cell/index\";\r\nexport * from \"./custom/index\";\r\nexport * from \"./fire/index\";\r\nexport * from \"./fur/index\";\r\nexport * from \"./gradient/index\";\r\nexport * from \"./grid/index\";\r\nexport * from \"./lava/index\";\r\nexport * from \"./mix/index\";\r\nexport * from \"./normal/index\";\r\nexport * from \"./shadowOnly/index\";\r\nexport * from \"./simple/index\";\r\nexport * from \"./sky/index\";\r\nexport * from \"./terrain/index\";\r\nexport * from \"./triPlanar/index\";\r\nexport * from \"./water/index\";\r\nexport * from \"./axesGrid/index\";\r\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onerjs/materials",
|
|
3
|
-
"version": "8.41.
|
|
3
|
+
"version": "8.41.3",
|
|
4
4
|
"main": "index.js",
|
|
5
5
|
"module": "index.js",
|
|
6
6
|
"types": "index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
"postcompile": "build-tools -c add-js-to-es6"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@onerjs/core": "^8.41.
|
|
21
|
+
"@onerjs/core": "^8.41.3",
|
|
22
22
|
"@dev/build-tools": "^1.0.0",
|
|
23
23
|
"@lts/materials": "^1.0.0"
|
|
24
24
|
},
|