|
@@ -20067,6 +20067,20 @@ function WebGLRenderer(parameters = {}) {
|
|
|
|
|
|
|
|
|
this.compile = function (scene, camera) {
|
|
|
+ function prepare(material, scene, object) {
|
|
|
+ if (material.transparent === true && material.side === DoubleSide) {
|
|
|
+ material.side = BackSide;
|
|
|
+ material.needsUpdate = true;
|
|
|
+ getProgram(material, scene, object);
|
|
|
+ material.side = FrontSide;
|
|
|
+ material.needsUpdate = true;
|
|
|
+ getProgram(material, scene, object);
|
|
|
+ material.side = DoubleSide;
|
|
|
+ } else {
|
|
|
+ getProgram(material, scene, object);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
currentRenderState = renderStates.get(scene);
|
|
|
currentRenderState.init();
|
|
|
renderStateStack.push(currentRenderState);
|
|
@@ -20087,10 +20101,10 @@ function WebGLRenderer(parameters = {}) {
|
|
|
if (Array.isArray(material)) {
|
|
|
for (let i = 0; i < material.length; i++) {
|
|
|
const material2 = material[i];
|
|
|
- getProgram(material2, scene, object);
|
|
|
+ prepare(material2, scene, object);
|
|
|
}
|
|
|
} else {
|
|
|
- getProgram(material, scene, object);
|
|
|
+ prepare(material, scene, object);
|
|
|
}
|
|
|
}
|
|
|
});
|