public void prepareShadingContext(ShadingContext context) {
Plane3 plane = Plane3.throughPoints(vertices[vertexIndex], vertices[vertexIndex+1], vertices[vertexIndex+2]);
Vector3 n = plane.normal();
Vector3 v = ray.direction();
context.setPosition(ray.pointAt(t));
context.setNormal(v.dot(n) > 0.0 ? n.opposite() : n);
context.setMaterial(hairMaterial != null ? hairMaterial : emitterContext.getMaterial());
context.setModifier(emitterContext.getModifier());
context.setPrimitiveIndex(base + strandIndex);
context.setShader(emitterContext.getShader());
context.setUV(emitterContext.getUV());