Quellcode durchsuchen

fixed multimesh_instance_get_color

Niko Abeler vor 8 Jahren
Ursprung
Commit
5d2b059d46
1 geänderte Dateien mit 3 neuen und 1 gelöschten Zeilen
  1. 3 1
      drivers/gles3/rasterizer_storage_gles3.cpp

+ 3 - 1
drivers/gles3/rasterizer_storage_gles3.cpp

@@ -3957,7 +3957,7 @@ Color RasterizerStorageGLES3::multimesh_instance_get_color(RID p_multimesh, int
 	ERR_FAIL_COND_V(multimesh->color_format == VS::MULTIMESH_COLOR_NONE, Color());
 
 	int stride = multimesh->color_floats + multimesh->xform_floats;
-	float *dataptr = &multimesh->data[stride * p_index + multimesh->color_floats];
+	float *dataptr = &multimesh->data[stride * p_index + multimesh->xform_floats];
 
 	if (multimesh->color_format == VS::MULTIMESH_COLOR_8BIT) {
 		union {
@@ -3965,6 +3965,8 @@ Color RasterizerStorageGLES3::multimesh_instance_get_color(RID p_multimesh, int
 			float colf;
 		} cu;
 
+		cu.colf = dataptr[0];
+
 		return Color::hex(BSWAP32(cu.colu));
 
 	} else if (multimesh->color_format == VS::MULTIMESH_COLOR_FLOAT) {