Refactor texture set creation and disposal to use generic Material types
This commit is contained in:
@@ -2364,7 +2364,7 @@ export class ViewportHost {
|
|||||||
this.renderer.autoClear = true;
|
this.renderer.autoClear = true;
|
||||||
|
|
||||||
for (const cachedTexture of this.materialTextureCache.values()) {
|
for (const cachedTexture of this.materialTextureCache.values()) {
|
||||||
disposeStarterMaterialTextureSet(cachedTexture.textureSet);
|
disposeMaterialTextureSet(cachedTexture.textureSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
this.materialTextureCache.clear();
|
this.materialTextureCache.clear();
|
||||||
@@ -10740,7 +10740,7 @@ export class ViewportHost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private getOrCreateTextureSet(material: MaterialDef) {
|
private getOrCreateTextureSet(material: MaterialDef) {
|
||||||
const signature = createStarterMaterialSignature(material);
|
const signature = createMaterialSignature(material, this.loadedImageAssets);
|
||||||
const cachedTexture = this.materialTextureCache.get(material.id);
|
const cachedTexture = this.materialTextureCache.get(material.id);
|
||||||
|
|
||||||
if (cachedTexture !== undefined && cachedTexture.signature === signature) {
|
if (cachedTexture !== undefined && cachedTexture.signature === signature) {
|
||||||
@@ -10748,12 +10748,13 @@ export class ViewportHost {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (cachedTexture !== undefined) {
|
if (cachedTexture !== undefined) {
|
||||||
disposeStarterMaterialTextureSet(cachedTexture.textureSet);
|
disposeMaterialTextureSet(cachedTexture.textureSet);
|
||||||
}
|
}
|
||||||
|
|
||||||
const textureSet = createStarterMaterialTextureSet(
|
const textureSet = createMaterialTextureSet(
|
||||||
material,
|
material,
|
||||||
this.materialTextureLoader
|
this.materialTextureLoader,
|
||||||
|
this.loadedImageAssets
|
||||||
);
|
);
|
||||||
|
|
||||||
this.materialTextureCache.set(material.id, {
|
this.materialTextureCache.set(material.id, {
|
||||||
|
|||||||
Reference in New Issue
Block a user