Browse Source

Shaders: make instancing finally work on ES2 / WebGL 1.

This was stupid, eh? Blame Mesa and SwiftShader for not exposing
ANGLE_instanced_arrays so the only way to test this for me was via the
browser, which is practically impossible. Then found this by an
accident.

Pushing straight to master because YOLO.
pull/454/head
Vladimír Vondruš 6 years ago
parent
commit
c74e49b3f4
  1. 2
      src/Magnum/Shaders/Flat.cpp
  2. 2
      src/Magnum/Shaders/Phong.cpp

2
src/Magnum/Shaders/Flat.cpp

@ -109,11 +109,11 @@ template<UnsignedInt dimensions> Flat<dimensions>::Flat(const Flags flags): _fla
}
if(flags >= Flag::InstancedObjectId)
bindAttributeLocation(ObjectId::Location, "instanceObjectId");
#endif
if(flags & Flag::InstancedTransformation)
bindAttributeLocation(TransformationMatrix::Location, "instancedTransformationMatrix");
if(flags >= Flag::InstancedTextureOffset)
bindAttributeLocation(TextureOffset::Location, "instancedTextureOffset");
#endif
}
#endif

2
src/Magnum/Shaders/Phong.cpp

@ -154,11 +154,11 @@ Phong::Phong(const Flags flags, const UnsignedInt lightCount): _flags{flags}, _l
}
if(flags >= Flag::InstancedObjectId)
bindAttributeLocation(ObjectId::Location, "instanceObjectId");
#endif
if(flags & Flag::InstancedTransformation)
bindAttributeLocation(TransformationMatrix::Location, "instancedTransformationMatrix");
if(flags >= Flag::InstancedTextureOffset)
bindAttributeLocation(TextureOffset::Location, "instancedTextureOffset");
#endif
}
#endif

Loading…
Cancel
Save