NodeBuilder.d.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146
  1. import {
  2. Material,
  3. Texture,
  4. TextureEncoding,
  5. WebGLRenderer
  6. } from '../../../../src/Three';
  7. import { Node } from './Node';
  8. import { NodeUniform } from './NodeUniform';
  9. export class NodeBuilder {
  10. constructor();
  11. slots: string[];
  12. caches: string[];
  13. contexts: object[];
  14. keywords: object;
  15. nodeData: object;
  16. requires: {
  17. uv: boolean[];
  18. color: boolean[];
  19. lights: boolean;
  20. fog: boolean;
  21. };
  22. includes: {
  23. consts: object[];
  24. functions: object[];
  25. structs: object[];
  26. };
  27. attributes: object;
  28. prefixCode: string;
  29. parsCode: {
  30. vertex: string;
  31. fragment: string;
  32. };
  33. code: {
  34. vertex: string;
  35. fragment: string;
  36. };
  37. nodeCode: {
  38. vertex: string;
  39. fragment: string;
  40. };
  41. resultCode: {
  42. vertex: string;
  43. fragment: string;
  44. };
  45. finalCode: {
  46. vertex: string;
  47. fragment: string;
  48. };
  49. inputs: {
  50. uniforms: {
  51. list: object[];
  52. vertex: object[];
  53. fragment: object[];
  54. };
  55. vars: {
  56. varying: object[];
  57. vertex: object[];
  58. fragment: object[];
  59. }
  60. };
  61. defines: object;
  62. uniforms: object;
  63. extensions: object;
  64. updaters: object[];
  65. nodes: object[];
  66. analyzing: boolean;
  67. build(vertex: Node, fragment: Node): this;
  68. buildShader(shader: string, node: Node): void;
  69. setMaterial(material: Material, renderer: WebGLRenderer): this;
  70. addFlow(slot: string, cache?: string, context?: object): this;
  71. removeFlow(): this;
  72. addCache(name: string): this;
  73. removeCache(): this;
  74. addContext(context: object): this;
  75. removeContext(): this;
  76. addSlot(name: string): this;
  77. removeSlot(): this;
  78. addVertexCode(code: string): void;
  79. addFragmentCode(code: string): void;
  80. addCode(code: string, shader: string): void;
  81. addVertexNodeCode(code: string): void;
  82. addFragmentNodeCode(code: string): void;
  83. addNodeCode(code: string, shader: string): void;
  84. clearNodeCode(shader: string): string;
  85. clearVertexNodeCode(): string;
  86. clearFragmentNodeCode(): string;
  87. addVertexFinalCode(code: string): void;
  88. addFragmentFinalCode(code: string): void;
  89. addFinalCode(code: string, shader: string): void;
  90. addVertexParsCode(code: string): void;
  91. addFragmentParsCode(code: string): void;
  92. addParsCode(code: string, shader: string): void;
  93. addVaryCode(code: string): void;
  94. isCache(name: string): boolean;
  95. isSlot(name: string): boolean;
  96. define(name: string, value: any): void;
  97. isDefined(name: string): boolean;
  98. getVar(uuid: string, type: string, ns: string, shader?: string, prefix?: string, label?: string): object;
  99. getVar(uuid: string, type: string, ns: string, label: string): object;
  100. getAttribute(name: string, type: string);
  101. getCode(shader: string): string;
  102. getVarListCode(vars: object[], prefix?: string): string;
  103. getVars(shader: string): object[];
  104. getNodeData(node: Node): object;
  105. createUniform(shader: string, type: string, node: Node, ns?: string, needsUpdate?: boolean, label?: string): NodeUniform;
  106. createVertexUniform(type: string, node: Node, ns?: string, needsUpdate?: boolean, label?: string): NodeUniform;
  107. createFragmentUniform(type: string, node: Node, ns?: string, needsUpdate?: boolean, label?: string): NodeUniform;
  108. include(node: Node, parent?: boolean, source?: string): void;
  109. colorToVectorProperties(color: string): string;
  110. colorToVector(color: string): string;
  111. getIncludes(type: string, shader: string): object[];
  112. getIncludesCode(type: string, shader: string): string;
  113. getConstructorFromLength(len: number): string;
  114. isTypeMatrix(format: string): boolean;
  115. getTypeLength(type: string): number;
  116. getTypeFromLength(len: number): string;
  117. findNode(): Node;
  118. resolve(): void;
  119. format(code: string, from: string, to: string): string;
  120. getTypeByFormat(format: string): string;
  121. getFormatByType(type: string): string;
  122. getUuid(uuid: string, useCache?: boolean): string;
  123. getElementByIndex(index: number): string;
  124. getIndexByElement(elm: string): number;
  125. isShader(shader: string): boolean;
  126. setShader(shader: string): this;
  127. mergeDefines(defines: object): object;
  128. mergeUniform(uniforms: object): object;
  129. getTextureEncodingFromMap(map: Texture, gammaOverrideLinear?: boolean): TextureEncoding;
  130. }