diff --git a/examples/tutorials/hello-gltf/app.ts b/examples/tutorials/hello-gltf/app.ts index 74e0562e88..82ebaffb19 100644 --- a/examples/tutorials/hello-gltf/app.ts +++ b/examples/tutorials/hello-gltf/app.ts @@ -66,7 +66,7 @@ export default class AppAnimationLoopTemplate extends AnimationLoopTemplate { u_NormalMatrix: new Matrix4(worldMatrix).invert().transpose() }); - model.updateModuleSettings({lightSources}); + // model.updateModuleSettings({lightSources}); model.draw(renderPass); }); renderPass.end(); @@ -102,7 +102,7 @@ export default class AppAnimationLoopTemplate extends AnimationLoopTemplate { } } -const lightSources: LightingProps = { +export const lightSources: LightingProps = { ambientLight: { color: [255, 133, 133], intensity: 1, diff --git a/examples/tutorials/lighting/app-old.ts b/examples/tutorials/lighting/app-old.ts index 42858f83a6..6341a489e2 100644 --- a/examples/tutorials/lighting/app-old.ts +++ b/examples/tutorials/lighting/app-old.ts @@ -132,22 +132,22 @@ export default class AppAnimationLoopTemplate extends AnimationLoopTemplate { fs, geometry: new CubeGeometry(), modules: [phongMaterial], - moduleSettings: { - // material: { - // specularColor: [255, 255, 255] - // }, - // lights: [ - // { - // type: 'ambient', - // color: [255, 255, 255] - // }, - // { - // type: 'point', - // color: [255, 255, 255], - // position: [1, 2, 1] - // } - // ] - }, + // moduleSettings: { + // material: { + // specularColor: [255, 255, 255] + // }, + // lights: [ + // { + // type: 'ambient', + // color: [255, 255, 255] + // }, + // { + // type: 'point', + // color: [255, 255, 255], + // position: [1, 2, 1] + // } + // ] + // }, bindings: { uTexture: texture, app: this.uniformStore.getManagedUniformBuffer(device, 'app'), diff --git a/modules/engine/src/model/model.ts b/modules/engine/src/model/model.ts index f7bb060576..7ae6b405ec 100644 --- a/modules/engine/src/model/model.ts +++ b/modules/engine/src/model/model.ts @@ -23,7 +23,6 @@ import {getDebugTableForShaderLayout} from '../debug/debug-shader-layout'; import {debugFramebuffer} from '../debug/debug-framebuffer'; import {deepEqual} from '../utils/deep-equal'; import {uid} from '../utils/uid'; -import {splitUniformsAndBindings} from './split-uniforms-and-bindings'; import {ShaderInputs} from '../shader-inputs'; // import type {AsyncTextureProps} from '../async-texture/async-texture'; @@ -72,9 +71,6 @@ export type ModelProps = Omit & { transformFeedback?: TransformFeedback; - /** Mapped uniforms for shadertool modules */ - moduleSettings?: Record>; - /** Show shader source in browser? */ debugShaders?: 'never' | 'errors' | 'warnings' | 'always'; @@ -105,7 +101,6 @@ export class Model { userData: {}, defines: {}, modules: [], - moduleSettings: undefined!, geometry: null, indexBuffer: null, attributes: {}, @@ -179,7 +174,6 @@ export class Model { _attributeInfos: Record = {}; _gpuGeometry: GPUGeometry | null = null; - private _getModuleUniforms: (props?: Record>) => Record; private props: Required; _pipelineNeedsUpdate: string | false = 'newly created'; @@ -218,16 +212,15 @@ export class Model { if (isWebGPU && this.props.source) { // WGSL this.props.shaderLayout ||= getShaderLayoutFromWGSL(this.props.source); - const {source, getUniforms} = this.props.shaderAssembler.assembleShader({ + const {source} = this.props.shaderAssembler.assembleShader({ platformInfo, ...this.props, modules }); this.source = source; - this._getModuleUniforms = getUniforms; } else { // GLSL - const {vs, fs, getUniforms} = this.props.shaderAssembler.assembleShaderPair({ + const {vs, fs} = this.props.shaderAssembler.assembleShaderPair({ platformInfo, ...this.props, modules @@ -235,7 +228,6 @@ export class Model { this.vs = vs; this.fs = fs; - this._getModuleUniforms = getUniforms; } this.vertexCount = this.props.vertexCount; @@ -295,10 +287,6 @@ export class Model { if (props.uniforms) { this.setUniforms(props.uniforms); } - if (props.moduleSettings) { - log.warn('Model.props.moduleSettings is deprecated. Use Model.shaderInputs.setProps()')(); - this.updateModuleSettings(props.moduleSettings); - } if (props.transformFeedback) { this.transformFeedback = props.transformFeedback; } @@ -602,17 +590,6 @@ export class Model { this.setNeedsRedraw('uniforms'); } - /** - * @deprecated Updates shader module settings (which results in uniforms being set) - */ - updateModuleSettings(props: Record): void { - log.warn('Model.updateModuleSettings is deprecated. Use Model.shaderInputs.setProps()')(); - const {bindings, uniforms} = splitUniformsAndBindings(this._getModuleUniforms(props)); - Object.assign(this.bindings, bindings); - Object.assign(this.uniforms, uniforms); - this.setNeedsRedraw('moduleSettings'); - } - // Internal methods /** Get texture / texture view from any async textures */ diff --git a/modules/webgl/src/adapter/resources/webgl-render-pipeline.ts b/modules/webgl/src/adapter/resources/webgl-render-pipeline.ts index fef5da9599..d88f7f3375 100644 --- a/modules/webgl/src/adapter/resources/webgl-render-pipeline.ts +++ b/modules/webgl/src/adapter/resources/webgl-render-pipeline.ts @@ -12,7 +12,6 @@ import {GL} from '@luma.gl/constants'; import {getShaderLayout} from '../helpers/get-shader-layout'; import {withDeviceAndGLParameters} from '../converters/device-parameters'; import {setUniform} from '../helpers/set-uniform'; -import {splitUniformsAndBindings} from '../../utils/split-uniforms-and-bindings'; // import {copyUniform, checkUniformValues} from '../../classes/uniforms'; import {WebGLDevice} from '../webgl-device'; @@ -273,11 +272,10 @@ export class WEBGLRenderPipeline extends RenderPipeline { // DEPRECATED METHODS override setUniformsWebGL(uniforms: Record) { - const {bindings} = splitUniformsAndBindings(uniforms); - Object.keys(bindings).forEach(name => { + Object.keys(uniforms).forEach(name => { log.warn( `Unsupported value "${JSON.stringify( - bindings[name] + uniforms[name] )}" used in setUniforms() for key ${name}. Use setBindings() instead?` )(); });