Issue 1:
Describe the bug

An err is thrown when i call render() on EffectComposer{} which is added a SSRPass.

The err only occurs when my scene contains both Meshs and InstancedMeshs.

To Reproduce

Steps to reproduce the behavior:

add 1 instanced mesh and 1 regular mesh to then scene

make an effect composer; add a RenderPass .. followed by a SSRPass.

call composer.render() in animation loop.

bring up devtools, it shows

Uncaught TypeError: can't access property "isInterleavedBufferAttribute", attribute is undefined

stacktrace:

get https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:12445
setupVertexAttributes https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:14100
setup https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:13770
renderBufferDirect https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:23733
renderObject https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:24269
renderObjects https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:24242
render https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:24025
renderOverride https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/examples/jsm/postprocessing/SSRPass.js:577
render https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/examples/jsm/postprocessing/SSRPass.js:396
render https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/examples/jsm/postprocessing/EffectComposer.js:150
<anonymous> https://fiddle.jshell.net/_display/?editor_console=true:196
onAnimationFrame https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:23897
onAnimationFrame https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:12286
start https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:12299
setAnimationLoop https://cdn.jsdelivr.net/gh/mrdoob/three.js@dev/build/three.module.js:23911
<anonymous> https://fiddle.jshell.net/_display/?editor_console=true:195

Live example

jsfiddle (see devtools console for the err)

Expected behavior

it should render a box and two spheres .. w/ reflection on their surfaces.

Platform:

Device: [Desktop]

OS: [Windows]

Browser: [Firefox]

Three.js version: [dev]

Thanks.

Issue 2:
Description of the problem

OutlinePass does not appear to properly support InstancedMesh. I've created an example here that uses the same setup of OutlinePass in the example in the docs. The sphere is a regular Mesh and the squares are the instances of InstancedMesh.

https://jsfiddle.net/anthonysimone/dL8s2qmv/

It seems like there's a couple things going on here.

If you hover over the regular mesh first (sphere), then one of the instanced mesh instances, the base position of the InstancedMesh is outlined any time you’re hovering over any of the instances. In the above example all of the instances have been moved from the default position to demonstrate this clearly.

If you first hover over any of the box instances, the entire collection of instances (though not the base position) of the InstancedMesh are outlined, but then hovering over a regular mesh (the sphere) causes an error.

I dug into OutlinePass a bit and it seems like it might just not be taking into account handling instanced meshes separately from regular meshes. I'm still pretty new to Three.js, so I don't have a potential fix to suggest at this point.

Three.js version

r113

Browser

All of them

Chrome

Firefox

Internet Explorer

OS

All of them

Windows

macOS

Linux

Android

iOS