Skip to content

Commit

Permalink
Just buying time
Browse files Browse the repository at this point in the history
Not sustainable
  • Loading branch information
Methuselah96 committed Jun 19, 2024
1 parent 1ad56ac commit 4819e9c
Show file tree
Hide file tree
Showing 6 changed files with 62 additions and 68 deletions.
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Color, Combine, Euler, MeshPhongMaterialParameters, NormalMapTypes, Texture, Vector2 } from "three";
import Node from "../core/Node.js";
import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";

export interface MeshPhongNodeMaterialParameters extends NodeMaterialParameters, MeshPhongMaterialParameters {
Expand All @@ -9,8 +8,8 @@ export interface MeshPhongNodeMaterialParameters extends NodeMaterialParameters,
export default class MeshPhongNodeMaterial extends NodeMaterial {
readonly isMeshPhongNodeMaterial: true;

shininessNode: ShaderNodeObject<Node> | null;
specularNode: ShaderNodeObject<Node> | null;
shininessNode: Node | null;
specularNode: Node | null;

// Properties from MeshPhongMaterial
readonly isMeshPhongMaterial: true;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
import { Color, MeshPhysicalMaterialParameters, Texture, Vector2 } from "three";

import Node from "../core/Node.js";
import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
import MeshStandardNodeMaterial, { MeshStandardNodeMaterialParameters } from "./MeshStandardNodeMaterial.js";

export interface MeshPhysicalNodeMaterialParameters
Expand All @@ -12,29 +11,29 @@ export interface MeshPhysicalNodeMaterialParameters
export default class MeshPhysicalNodeMaterial extends MeshStandardNodeMaterial {
readonly isMeshPhysicalNodeMaterial: true;

clearcoatNode: ShaderNodeObject<Node> | null;
clearcoatRoughnessNode: ShaderNodeObject<Node> | null;
clearcoatNormalNode: ShaderNodeObject<Node> | null;
clearcoatNode: Node | null;
clearcoatRoughnessNode: Node | null;
clearcoatNormalNode: Node | null;

sheenNode: ShaderNodeObject<Node> | null;
sheenRoughnessNode: ShaderNodeObject<Node> | null;
sheenNode: Node | null;
sheenRoughnessNode: Node | null;

iridescenceNode: ShaderNodeObject<Node> | null;
iridescenceIORNode: ShaderNodeObject<Node> | null;
iridescenceThicknessNode: ShaderNodeObject<Node> | null;
iridescenceNode: Node | null;
iridescenceIORNode: Node | null;
iridescenceThicknessNode: Node | null;

iorNode: ShaderNodeObject<Node> | null;
iorNode: Node | null;

specularIntensityNode: ShaderNodeObject<Node> | null;
specularColorNode: ShaderNodeObject<Node> | null;
specularIntensityNode: Node | null;
specularColorNode: Node | null;

transmissionNode: ShaderNodeObject<Node> | null;
thicknessNode: ShaderNodeObject<Node> | null;
attenuationDistanceNode: ShaderNodeObject<Node> | null;
attenuationColorNode: ShaderNodeObject<Node> | null;
dispersionNode: ShaderNodeObject<Node> | null;
transmissionNode: Node | null;
thicknessNode: Node | null;
attenuationDistanceNode: Node | null;
attenuationColorNode: Node | null;
dispersionNode: Node | null;

anisotropyNode: ShaderNodeObject<Node> | null;
anisotropyNode: Node | null;

// Properties from MeshPhysicalMaterial
readonly isMeshPhysicalMaterial: true;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
import ConstNode from "../core/ConstNode.js";
import Node from "../core/Node.js";
import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
import MeshPhysicalNodeMaterial, { MeshPhysicalNodeMaterialParameters } from "./MeshPhysicalNodeMaterial.js";

export default class MeshSSSNodeMaterial extends MeshPhysicalNodeMaterial {
thicknessColorNode: ShaderNodeObject<Node> | null;
thicknessDistortionNode: ShaderNodeObject<ConstNode<number>>;
thicknessAmbientNode: ShaderNodeObject<ConstNode<number>>;
thicknessAttenuationNode: ShaderNodeObject<ConstNode<number>>;
thicknessPowerNode: ShaderNodeObject<ConstNode<number>>;
thicknessScaleNode: ShaderNodeObject<ConstNode<number>>;
thicknessColorNode: Node | null;
thicknessDistortionNode: ConstNode<number>;
thicknessAmbientNode: ConstNode<number>;
thicknessAttenuationNode: ConstNode<number>;
thicknessPowerNode: ConstNode<number>;
thicknessScaleNode: ConstNode<number>;

constructor(parameters?: MeshPhysicalNodeMaterialParameters);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Color, Euler, MeshStandardMaterialParameters, NormalMapTypes, Texture, Vector2 } from "three";
import Node from "../core/Node.js";
import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";

export interface MeshStandardNodeMaterialParameters extends NodeMaterialParameters, MeshStandardMaterialParameters {
Expand All @@ -9,10 +8,10 @@ export interface MeshStandardNodeMaterialParameters extends NodeMaterialParamete
export default class MeshStandardNodeMaterial extends NodeMaterial {
readonly isMeshStandardNodeMaterial: true;

emissiveNode: ShaderNodeObject<Node> | null;
emissiveNode: Node | null;

metalnessNode: ShaderNodeObject<Node> | null;
roughnessNode: ShaderNodeObject<Node> | null;
metalnessNode: Node | null;
roughnessNode: Node | null;

// Properties from MeshStandardMaterial
readonly isMeshStandardMaterial: true;
Expand Down
65 changes: 32 additions & 33 deletions types/three/examples/jsm/nodes/materials/NodeMaterial.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import LightingModel from "../core/LightingModel.js";
import Node from "../core/Node.js";
import NodeBuilder from "../core/NodeBuilder.js";
import LightsNode from "../lighting/LightsNode.js";
import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
import LineBasicNodeMaterial from "./LineBasicNodeMaterial.js";
import MeshBasicNodeMaterial from "./MeshBasicNodeMaterial.js";
import MeshMatcapNodeMaterial from "./MeshMatcapNodeMaterial.js";
Expand All @@ -36,60 +35,60 @@ export interface NodeMaterialParameters extends MaterialParameters {

colorSpaced?: boolean | undefined;

lightsNode?: ShaderNodeObject<LightsNode> | null | undefined;
envNode?: ShaderNodeObject<Node> | null | undefined;
aoNode?: ShaderNodeObject<Node> | null | undefined;
lightsNode?: LightsNode | null | undefined;
envNode?: Node | null | undefined;
aoNode?: Node | null | undefined;

colorNode?: ShaderNodeObject<Node> | null | undefined;
normalNode?: ShaderNodeObject<Node> | null | undefined;
opacityNode?: ShaderNodeObject<Node> | null | undefined;
backdropNode?: ShaderNodeObject<Node> | null | undefined;
backdropAlphaNode?: ShaderNodeObject<Node> | null | undefined;
alphaTestNode?: ShaderNodeObject<Node> | null | undefined;
colorNode?: Node | null | undefined;
normalNode?: Node | null | undefined;
opacityNode?: Node | null | undefined;
backdropNode?: Node | null | undefined;
backdropAlphaNode?: Node | null | undefined;
alphaTestNode?: Node | null | undefined;

positionNode?: ShaderNodeObject<Node> | null | undefined;
positionNode?: Node | null | undefined;

depthNode?: ShaderNodeObject<Node> | null | undefined;
shadowNode?: ShaderNodeObject<Node> | null | undefined;
depthNode?: Node | null | undefined;
shadowNode?: Node | null | undefined;

outputNode?: ShaderNodeObject<Node> | null | undefined;
outputNode?: Node | null | undefined;

fragmentNode?: ShaderNodeObject<Node> | null | undefined;
vertexNode?: ShaderNodeObject<Node> | null | undefined;
fragmentNode?: Node | null | undefined;
vertexNode?: Node | null | undefined;
}

export default class NodeMaterial extends Material {
readonly isNodeMaterial: true;

normals: boolean;

lightsNode: ShaderNodeObject<LightsNode> | null;
envNode: ShaderNodeObject<Node> | null;
aoNode: ShaderNodeObject<Node> | null;
lightsNode: LightsNode | null;
envNode: Node | null;
aoNode: Node | null;

colorNode: ShaderNodeObject<Node> | null;
normalNode: ShaderNodeObject<Node> | null;
opacityNode: ShaderNodeObject<Node> | null;
backdropNode: ShaderNodeObject<Node> | null;
backdropAlphaNode: ShaderNodeObject<Node> | null;
alphaTestNode: ShaderNodeObject<Node> | null;
colorNode: Node | null;
normalNode: Node | null;
opacityNode: Node | null;
backdropNode: Node | null;
backdropAlphaNode: Node | null;
alphaTestNode: Node | null;

positionNode: ShaderNodeObject<Node> | null;
positionNode: Node | null;

depthNode: ShaderNodeObject<Node> | null;
shadowNode: ShaderNodeObject<Node> | null;
shadowPositionNode: ShaderNodeObject<Node> | null;
depthNode: Node | null;
shadowNode: Node | null;
shadowPositionNode: Node | null;

outputNode: ShaderNodeObject<Node> | null;
outputNode: Node | null;

fragmentNode: ShaderNodeObject<Node> | null;
vertexNode: ShaderNodeObject<Node> | null;
fragmentNode: Node | null;
vertexNode: Node | null;

constructor();

build(builder: NodeBuilder): void;
setup(builder: NodeBuilder): void;
setupClipping(builder: NodeBuilder): ShaderNodeObject<ClippingNode> | null;
setupClipping(builder: NodeBuilder): ClippingNode | null;
setupDepth(builder: NodeBuilder): void;
setupPosition(builder: NodeBuilder): Node;
setupDiffuseColor(builder: NodeBuilder): void;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { Color, SpriteMaterialParameters, Texture } from "three";
import Node from "../core/Node.js";
import { ShaderNodeObject } from "../shadernode/ShaderNode.js";
import NodeMaterial, { NodeMaterialParameters } from "./NodeMaterial.js";

export interface SpriteNodeMaterialParameters extends NodeMaterialParameters, SpriteMaterialParameters {
Expand All @@ -9,8 +8,8 @@ export interface SpriteNodeMaterialParameters extends NodeMaterialParameters, Sp
export default class SpriteNodeMaterial extends NodeMaterial {
isSpriteNodeMaterial: true;

rotationNode: ShaderNodeObject<Node> | null;
scaleNode: ShaderNodeObject<Node> | null;
rotationNode: Node | null;
scaleNode: Node | null;

// Properties from SpriteMaterial
readonly isSpriteMaterial: true;
Expand Down

0 comments on commit 4819e9c

Please sign in to comment.