Merge branch 'master' into blender2.8

This commit is contained in:
Sybren A. Stüvel
2017-07-05 22:25:05 +02:00
5 changed files with 28 additions and 6 deletions

View File

@@ -21,6 +21,8 @@
# include <glog/logging.h>
#endif
#include <iostream>
CCL_NAMESPACE_BEGIN
#if !defined(WITH_CYCLES_LOGGING) || defined(__KERNEL_GPU__)

View File

@@ -3415,6 +3415,9 @@ static int get_particle_uv(DerivedMesh *dm, ParticleData *pa, int index, const f
if (from_vert) {
mf = dm->getTessFaceDataArray(dm, CD_MFACE);
/* This finds the first face to contain the emitting vertex,
* this is not ideal, but is mostly fine as UV seams generally
* map to equal-colored parts of a texture */
for (int j = 0; j < dm->getNumTessFaces(dm); j++, mf++) {
if (ELEM(i, mf->v1, mf->v2, mf->v3, mf->v4)) {
i = j;

View File

@@ -440,6 +440,10 @@ static void distribute_from_verts_exec(ParticleTask *thread, ParticleData *pa, i
zero_v4(pa->fuv);
if (pa->num != DMCACHE_NOTFOUND && pa->num < ctx->dm->getNumVerts(ctx->dm)) {
/* This finds the first face to contain the emitting vertex,
* this is not ideal, but is mostly fine as UV seams generally
* map to equal-colored parts of a texture */
for (int i = 0; i < ctx->dm->getNumTessFaces(ctx->dm); i++, mface++) {
if (ELEM(pa->num, mface->v1, mface->v2, mface->v3, mface->v4)) {
unsigned int *vert = &mface->v1;

View File

@@ -1236,12 +1236,19 @@ void blo_do_versions_270(FileData *fd, Library *UNUSED(lib), Main *main)
SEQ_BEGIN (scene->ed, seq)
{
if (seq->type == SEQ_TYPE_TEXT) {
TextVars *data = seq->effectdata;
if (data->color[3] == 0.0f) {
copy_v4_fl(data->color, 1.0f);
data->shadow_color[3] = 1.0f;
}
if (seq->type != SEQ_TYPE_TEXT) {
continue;
}
if (seq->effectdata == NULL) {
struct SeqEffectHandle effect_handle = BKE_sequence_get_effect(seq);
effect_handle.init(seq);
}
TextVars *data = seq->effectdata;
if (data->color[3] == 0.0f) {
copy_v4_fl(data->color, 1.0f);
data->shadow_color[3] = 1.0f;
}
}
SEQ_END

View File

@@ -494,6 +494,9 @@ static int rna_ParticleSystem_tessfaceidx_on_emitter(ParticleSystem *particlesys
*r_fuv = &particle->fuv;
/* This finds the first face to contain the emitting vertex,
* this is not ideal, but is mostly fine as UV seams generally
* map to equal-colored parts of a texture */
for (int i = 0; i < totface; i++, mface++) {
if (ELEM(num, mface->v1, mface->v2, mface->v3, mface->v4)) {
return i;
@@ -533,6 +536,9 @@ static int rna_ParticleSystem_tessfaceidx_on_emitter(ParticleSystem *particlesys
*r_fuv = &parent->fuv;
/* This finds the first face to contain the emitting vertex,
* this is not ideal, but is mostly fine as UV seams generally
* map to equal-colored parts of a texture */
for (int i = 0; i < totface; i++, mface++) {
if (ELEM(num, mface->v1, mface->v2, mface->v3, mface->v4)) {
return i;